From dbd8bb2b248f7304948ae42a3e50feb9badd3ec4 Mon Sep 17 00:00:00 2001 From: Skanda Bhat Date: Thu, 5 Aug 2021 01:09:26 +0530 Subject: [PATCH] Dev UX improvements (Tenderly + env cleanup + config cleanup) (#281) * hardhat/tenderly changes * Ignore local deployments * Ignore local deployments * Update readme * Cleanup hardhat config * Cleanup package json * Remove unwanted deployments * Update Readme * remove tenderly yaml * Update hardhat configs * Clean up readme * Change project name * Add tenderly.yaml * package-lock changes * cleanup gitignore * remove gas and gasPrice * npx is not needed * set defaultNetwork to hardhat --- .env.ganache => .env.local | 2 +- .gitignore | 10 +- README.md | 35 +- .../AccessControl.sol/AccessControl.dbg.json | 4 - .../AccessControl.sol/AccessControl.json | 215 - .../AccessControl.sol/IAccessControl.dbg.json | 4 - .../AccessControl.sol/IAccessControl.json | 108 - .../token/ERC20/ERC20.sol/ERC20.dbg.json | 4 - .../token/ERC20/ERC20.sol/ERC20.json | 297 - .../token/ERC20/IERC20.sol/IERC20.dbg.json | 4 - .../token/ERC20/IERC20.sol/IERC20.json | 194 - .../utils/Context.sol/Context.dbg.json | 4 - .../contracts/utils/Context.sol/Context.json | 10 - .../MerkleProof.sol/MerkleProof.dbg.json | 4 - .../MerkleProof.sol/MerkleProof.json | 10 - .../introspection/ERC165.sol/ERC165.dbg.json | 4 - .../introspection/ERC165.sol/ERC165.json | 30 - .../IERC165.sol/IERC165.dbg.json | 4 - .../introspection/IERC165.sol/IERC165.json | 30 - .../15277834259d0f2b4f3c65843402b37f.json | 501 - .../ef5a8b4d3736605175a73b5015afa802.json | 158065 -------------- .../abi/contracts/Core/ACL.sol/ACL.dbg.json | 4 - .../abi/contracts/Core/ACL.sol/ACL.json | 220 - .../BlockManager.sol/BlockManager.dbg.json | 4 - .../Core/BlockManager.sol/BlockManager.json | 992 - .../Core/JobManager.sol/JobManager.dbg.json | 4 - .../Core/JobManager.sol/JobManager.json | 587 - .../StakeManager.sol/StakeManager.dbg.json | 4 - .../Core/StakeManager.sol/StakeManager.json | 1117 - .../StateManager.sol/StateManager.dbg.json | 4 - .../Core/StateManager.sol/StateManager.json | 79 - .../Core/VoteManager.sol/VoteManager.dbg.json | 4 - .../Core/VoteManager.sol/VoteManager.json | 497 - .../IBlockManager.sol/IBlockManager.dbg.json | 4 - .../IBlockManager.sol/IBlockManager.json | 309 - .../IJobManager.sol/IJobManager.dbg.json | 4 - .../IJobManager.sol/IJobManager.json | 110 - .../IStakeManager.sol/IStakeManager.dbg.json | 4 - .../IStakeManager.sol/IStakeManager.json | 310 - .../IStateManager.sol/IStateManager.dbg.json | 4 - .../IStateManager.sol/IStateManager.json | 37 - .../IVoteManager.sol/IVoteManager.dbg.json | 4 - .../IVoteManager.sol/IVoteManager.json | 232 - .../BlockStorage.sol/BlockStorage.dbg.json | 4 - .../BlockStorage.sol/BlockStorage.json | 133 - .../JobStorage.sol/JobStorage.dbg.json | 4 - .../storage/JobStorage.sol/JobStorage.json | 88 - .../StakeStorage.sol/StakeStorage.dbg.json | 4 - .../StakeStorage.sol/StakeStorage.json | 136 - .../VoteStorage.sol/VoteStorage.dbg.json | 4 - .../storage/VoteStorage.sol/VoteStorage.json | 122 - .../Delegator.sol/Delegator.dbg.json | 4 - .../contracts/Delegator.sol/Delegator.json | 121 - .../abi/contracts/Faucet.sol/Faucet.dbg.json | 4 - .../abi/contracts/Faucet.sol/Faucet.json | 86 - .../IDelegator.sol/IDelegator.dbg.json | 4 - .../contracts/IDelegator.sol/IDelegator.json | 82 - .../SchellingCoin.sol/SchellingCoin.dbg.json | 4 - .../SchellingCoin.sol/SchellingCoin.json | 585 - .../lib/Constants.sol/Constants.dbg.json | 4 - .../lib/Constants.sol/Constants.json | 245 - .../contracts/lib/Random.sol/Random.dbg.json | 4 - .../abi/contracts/lib/Random.sol/Random.json | 109 - .../lib/Structs.sol/Structs.dbg.json | 4 - .../contracts/lib/Structs.sol/Structs.json | 10 - deployed/goerli/addresses.json | 13 - .../AccessControl.sol/AccessControl.dbg.json | 4 - .../AccessControl.sol/AccessControl.json | 215 - .../AccessControl.sol/IAccessControl.dbg.json | 4 - .../AccessControl.sol/IAccessControl.json | 108 - .../token/ERC20/ERC20.sol/ERC20.dbg.json | 4 - .../token/ERC20/ERC20.sol/ERC20.json | 297 - .../token/ERC20/IERC20.sol/IERC20.dbg.json | 4 - .../token/ERC20/IERC20.sol/IERC20.json | 194 - .../utils/Context.sol/Context.dbg.json | 4 - .../contracts/utils/Context.sol/Context.json | 10 - .../MerkleProof.sol/MerkleProof.dbg.json | 4 - .../MerkleProof.sol/MerkleProof.json | 10 - .../introspection/ERC165.sol/ERC165.dbg.json | 4 - .../introspection/ERC165.sol/ERC165.json | 30 - .../IERC165.sol/IERC165.dbg.json | 4 - .../introspection/IERC165.sol/IERC165.json | 30 - .../138d5bb74b45b18375c5a9d45dcc88d2.json | 161033 --------------- .../15277834259d0f2b4f3c65843402b37f.json | 501 - .../abi/contracts/Core/ACL.sol/ACL.dbg.json | 4 - .../matic/abi/contracts/Core/ACL.sol/ACL.json | 220 - .../BlockManager.sol/BlockManager.dbg.json | 4 - .../Core/BlockManager.sol/BlockManager.json | 992 - .../Core/JobManager.sol/JobManager.dbg.json | 4 - .../Core/JobManager.sol/JobManager.json | 585 - .../StakeManager.sol/StakeManager.dbg.json | 4 - .../Core/StakeManager.sol/StakeManager.json | 1117 - .../StateManager.sol/StateManager.dbg.json | 4 - .../Core/StateManager.sol/StateManager.json | 79 - .../Core/VoteManager.sol/VoteManager.dbg.json | 4 - .../Core/VoteManager.sol/VoteManager.json | 701 - .../IBlockManager.sol/IBlockManager.dbg.json | 4 - .../IBlockManager.sol/IBlockManager.json | 281 - .../IJobManager.sol/IJobManager.dbg.json | 4 - .../IJobManager.sol/IJobManager.json | 110 - .../IStakeManager.sol/IStakeManager.dbg.json | 4 - .../IStakeManager.sol/IStakeManager.json | 282 - .../IStateManager.sol/IStateManager.dbg.json | 4 - .../IStateManager.sol/IStateManager.json | 37 - .../IVoteManager.sol/IVoteManager.dbg.json | 4 - .../IVoteManager.sol/IVoteManager.json | 214 - .../BlockStorage.sol/BlockStorage.dbg.json | 4 - .../BlockStorage.sol/BlockStorage.json | 133 - .../JobStorage.sol/JobStorage.dbg.json | 4 - .../storage/JobStorage.sol/JobStorage.json | 88 - .../StakeStorage.sol/StakeStorage.dbg.json | 4 - .../StakeStorage.sol/StakeStorage.json | 136 - .../VoteStorage.sol/VoteStorage.dbg.json | 4 - .../storage/VoteStorage.sol/VoteStorage.json | 122 - .../Delegator.sol/Delegator.dbg.json | 4 - .../contracts/Delegator.sol/Delegator.json | 121 - .../abi/contracts/Faucet.sol/Faucet.dbg.json | 4 - .../abi/contracts/Faucet.sol/Faucet.json | 86 - .../IDelegator.sol/IDelegator.dbg.json | 4 - .../contracts/IDelegator.sol/IDelegator.json | 82 - .../Initializable.sol/Initializable.dbg.json | 4 - .../Initializable.sol/Initializable.json | 10 - .../SchellingCoin.sol/SchellingCoin.dbg.json | 4 - .../SchellingCoin.sol/SchellingCoin.json | 579 - .../lib/Constants.sol/Constants.dbg.json | 4 - .../lib/Constants.sol/Constants.json | 245 - .../contracts/lib/Random.sol/Random.dbg.json | 4 - .../abi/contracts/lib/Random.sol/Random.json | 109 - .../lib/Structs.sol/Structs.dbg.json | 4 - .../contracts/lib/Structs.sol/Structs.json | 10 - deployed/matic/addresses.json | 13 - hardhat.config.js | 28 +- migrations/migrationHelpers.js | 11 + package-lock.json | 107 +- package.json | 18 +- scripts/deploy.sh | 7 - tenderly.yaml | 19 + 137 files changed, 170 insertions(+), 334771 deletions(-) rename .env.ganache => .env.local (97%) delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.dbg.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/utils/Context.sol/Context.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.dbg.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json delete mode 100644 deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json delete mode 100644 deployed/goerli/abi/build-info/15277834259d0f2b4f3c65843402b37f.json delete mode 100644 deployed/goerli/abi/build-info/ef5a8b4d3736605175a73b5015afa802.json delete mode 100644 deployed/goerli/abi/contracts/Core/ACL.sol/ACL.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/ACL.sol/ACL.json delete mode 100644 deployed/goerli/abi/contracts/Core/BlockManager.sol/BlockManager.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/BlockManager.sol/BlockManager.json delete mode 100644 deployed/goerli/abi/contracts/Core/JobManager.sol/JobManager.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/JobManager.sol/JobManager.json delete mode 100644 deployed/goerli/abi/contracts/Core/StakeManager.sol/StakeManager.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/StakeManager.sol/StakeManager.json delete mode 100644 deployed/goerli/abi/contracts/Core/StateManager.sol/StateManager.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/StateManager.sol/StateManager.json delete mode 100644 deployed/goerli/abi/contracts/Core/VoteManager.sol/VoteManager.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/VoteManager.sol/VoteManager.json delete mode 100644 deployed/goerli/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.json delete mode 100644 deployed/goerli/abi/contracts/Core/interface/IJobManager.sol/IJobManager.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/interface/IJobManager.sol/IJobManager.json delete mode 100644 deployed/goerli/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.json delete mode 100644 deployed/goerli/abi/contracts/Core/interface/IStateManager.sol/IStateManager.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/interface/IStateManager.sol/IStateManager.json delete mode 100644 deployed/goerli/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.json delete mode 100644 deployed/goerli/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.json delete mode 100644 deployed/goerli/abi/contracts/Core/storage/JobStorage.sol/JobStorage.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/storage/JobStorage.sol/JobStorage.json delete mode 100644 deployed/goerli/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.json delete mode 100644 deployed/goerli/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.json delete mode 100644 deployed/goerli/abi/contracts/Delegator.sol/Delegator.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Delegator.sol/Delegator.json delete mode 100644 deployed/goerli/abi/contracts/Faucet.sol/Faucet.dbg.json delete mode 100644 deployed/goerli/abi/contracts/Faucet.sol/Faucet.json delete mode 100644 deployed/goerli/abi/contracts/IDelegator.sol/IDelegator.dbg.json delete mode 100644 deployed/goerli/abi/contracts/IDelegator.sol/IDelegator.json delete mode 100644 deployed/goerli/abi/contracts/SchellingCoin.sol/SchellingCoin.dbg.json delete mode 100644 deployed/goerli/abi/contracts/SchellingCoin.sol/SchellingCoin.json delete mode 100644 deployed/goerli/abi/contracts/lib/Constants.sol/Constants.dbg.json delete mode 100644 deployed/goerli/abi/contracts/lib/Constants.sol/Constants.json delete mode 100644 deployed/goerli/abi/contracts/lib/Random.sol/Random.dbg.json delete mode 100644 deployed/goerli/abi/contracts/lib/Random.sol/Random.json delete mode 100644 deployed/goerli/abi/contracts/lib/Structs.sol/Structs.dbg.json delete mode 100644 deployed/goerli/abi/contracts/lib/Structs.sol/Structs.json delete mode 100644 deployed/goerli/addresses.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.dbg.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/utils/Context.sol/Context.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.dbg.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json delete mode 100644 deployed/matic/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json delete mode 100644 deployed/matic/abi/build-info/138d5bb74b45b18375c5a9d45dcc88d2.json delete mode 100644 deployed/matic/abi/build-info/15277834259d0f2b4f3c65843402b37f.json delete mode 100644 deployed/matic/abi/contracts/Core/ACL.sol/ACL.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/ACL.sol/ACL.json delete mode 100644 deployed/matic/abi/contracts/Core/BlockManager.sol/BlockManager.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/BlockManager.sol/BlockManager.json delete mode 100644 deployed/matic/abi/contracts/Core/JobManager.sol/JobManager.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/JobManager.sol/JobManager.json delete mode 100644 deployed/matic/abi/contracts/Core/StakeManager.sol/StakeManager.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/StakeManager.sol/StakeManager.json delete mode 100644 deployed/matic/abi/contracts/Core/StateManager.sol/StateManager.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/StateManager.sol/StateManager.json delete mode 100644 deployed/matic/abi/contracts/Core/VoteManager.sol/VoteManager.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/VoteManager.sol/VoteManager.json delete mode 100644 deployed/matic/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.json delete mode 100644 deployed/matic/abi/contracts/Core/interface/IJobManager.sol/IJobManager.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/interface/IJobManager.sol/IJobManager.json delete mode 100644 deployed/matic/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.json delete mode 100644 deployed/matic/abi/contracts/Core/interface/IStateManager.sol/IStateManager.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/interface/IStateManager.sol/IStateManager.json delete mode 100644 deployed/matic/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.json delete mode 100644 deployed/matic/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.json delete mode 100644 deployed/matic/abi/contracts/Core/storage/JobStorage.sol/JobStorage.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/storage/JobStorage.sol/JobStorage.json delete mode 100644 deployed/matic/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.json delete mode 100644 deployed/matic/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.dbg.json delete mode 100644 deployed/matic/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.json delete mode 100644 deployed/matic/abi/contracts/Delegator.sol/Delegator.dbg.json delete mode 100644 deployed/matic/abi/contracts/Delegator.sol/Delegator.json delete mode 100644 deployed/matic/abi/contracts/Faucet.sol/Faucet.dbg.json delete mode 100644 deployed/matic/abi/contracts/Faucet.sol/Faucet.json delete mode 100644 deployed/matic/abi/contracts/IDelegator.sol/IDelegator.dbg.json delete mode 100644 deployed/matic/abi/contracts/IDelegator.sol/IDelegator.json delete mode 100644 deployed/matic/abi/contracts/Initializable.sol/Initializable.dbg.json delete mode 100644 deployed/matic/abi/contracts/Initializable.sol/Initializable.json delete mode 100644 deployed/matic/abi/contracts/SchellingCoin.sol/SchellingCoin.dbg.json delete mode 100644 deployed/matic/abi/contracts/SchellingCoin.sol/SchellingCoin.json delete mode 100644 deployed/matic/abi/contracts/lib/Constants.sol/Constants.dbg.json delete mode 100644 deployed/matic/abi/contracts/lib/Constants.sol/Constants.json delete mode 100644 deployed/matic/abi/contracts/lib/Random.sol/Random.dbg.json delete mode 100644 deployed/matic/abi/contracts/lib/Random.sol/Random.json delete mode 100644 deployed/matic/abi/contracts/lib/Structs.sol/Structs.dbg.json delete mode 100644 deployed/matic/abi/contracts/lib/Structs.sol/Structs.json delete mode 100644 deployed/matic/addresses.json create mode 100644 tenderly.yaml diff --git a/.env.ganache b/.env.local similarity index 97% rename from .env.ganache rename to .env.local index 5e8ece8a..31a5fcdc 100644 --- a/.env.ganache +++ b/.env.local @@ -2,7 +2,7 @@ MNEMONIC=square include clarify skin garden tube tide eight eternal grit hybrid library # Ethereum Network -NETWORK=ganache +NETWORK=local # Provider HOST & PORT for deployment PROVIDER_HOST=127.0.0.1 diff --git a/.gitignore b/.gitignore index 3d9d37d7..e90cfd04 100644 --- a/.gitignore +++ b/.gitignore @@ -3,14 +3,14 @@ build/ coverage/ coverage.json cache/ -deployed/ganache -deployed/goerli/abi -deployed/matic/abi +deployed/mumbai/abi abi .env -.env.goerli -.env.matic_mumbai_testnet +.env.mumbai node_modules/ .DS_Store .previous-deployment-addresses .contract-deployment.tmp.json +deployments +deployed/local +deployments diff --git a/README.md b/README.md index c0357059..2fbf3016 100644 --- a/README.md +++ b/README.md @@ -17,29 +17,14 @@ For Mac, use `brew install jq` or for the most recent version use `brew install # Deployment -##### Local Deployment using ganache cli/gui -1. Run Ganache CLI/GUI (You can modify port in `hardhat.config.js`) -2. Provide provider host & port in `.env.ganache` -3. Run command `deploy:ganache` - -##### Goerli Deployment using ganache cli/gui -1. Create `.env.goerli` file (Refs - `.env.tpl`), provide `mnemonic` & `provider` for deployment. -2. Run command `deploy:goerli` - -# Migration guide -1. Run `npm run deploy:goerli` -2. `cd ../cli && git add . && git commit -m 'redeploy' && git push` -3. `cd ../synthetic-assets` -4. Change the delegator address in `synthetic-assets/migrations/2_deploy.js` -5. `truffle migrate --reset --network goerli` -6. `git add . && git commit -m 'redeploy' && git push` -7. `cd ../dashboard` -8. `git add . && git commit -m 'redeploy' && git push` -9. In remote server: - 1. `cd cli && git pull` - 2. `pm2 stop all` - 3. Run first 5 lines in file cli/misc/deploy.sh for stakers to stake - 4. `pm2 start all` once staked +##### Local Deployment using hardhat +1. Run hardhat node (`npx hardhat node`) +2. Run command `deploy:hardhat` +3. Use tenderly to track local transactions: https://github.com/Tenderly/tenderly-cli#export + +##### Polygon Mumbai Testnet Deployment +1. Create `.env.mumbai` file (Refs - `.env.tpl`), provide `mnemonic` & `provider` for deployment. +2. Run command `deploy:mumbai` # Running tests Run `npm run test` @@ -54,4 +39,6 @@ Run `npm run lint` Run `npm run lint:sol:fix` # Addresses -Deployed contract addresses can be found [here](deployed/goerli/addresses.json) +We are currently live on Polygon Mumbai Testnet. + +Deployed contract addresses can be found [here](deployed/mumbai/addresses.json) diff --git a/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json b/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json b/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json deleted file mode 100644 index 17181da3..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AccessControl", - "sourceName": "@openzeppelin/contracts/access/AccessControl.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.dbg.json b/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.json b/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.json deleted file mode 100644 index ed296047..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IAccessControl", - "sourceName": "@openzeppelin/contracts/access/AccessControl.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json b/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json deleted file mode 100644 index 62940b5d..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json b/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json deleted file mode 100644 index e777f393..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC20", - "sourceName": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "amount", - "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": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405162000d2d38038062000d2d8339810160408190526200003491620001b9565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000273565b828054620000769062000220565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b600082601f8301126200011f578081fd5b81516001600160401b03808211156200013c576200013c6200025d565b6040516020601f8401601f19168201810183811183821017156200016457620001646200025d565b60405283825285840181018710156200017b578485fd5b8492505b838310156200019e57858301810151828401820152918201916200017f565b83831115620001af57848185840101525b5095945050505050565b60008060408385031215620001cc578182fd5b82516001600160401b0380821115620001e3578384fd5b620001f1868387016200010e565b9350602085015191508082111562000207578283fd5b5062000216858286016200010e565b9150509250929050565b6002810460018216806200023557607f821691505b602082108114156200025757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b610aaa80620002836000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610177578063a9059cbb1461018a578063dd62ed3e1461019d576100c9565b8063395093511461014957806370a082311461015c57806395d89b411461016f576100c9565b806318160ddd116100b257806318160ddd1461010c57806323b872dd14610121578063313ce56714610134576100c9565b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101b0565b6040516100e391906106ff565b60405180910390f35b6100ff6100fa3660046106cb565b610242565b6040516100e391906106f4565b61011461025f565b6040516100e391906109dd565b6100ff61012f366004610690565b610265565b61013c610305565b6040516100e391906109e6565b6100ff6101573660046106cb565b61030a565b61011461016a36600461063d565b610359565b6100d6610378565b6100ff6101853660046106cb565b610387565b6100ff6101983660046106cb565b610402565b6101146101ab36600461065e565b610416565b6060600380546101bf90610a23565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610a23565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b600061025661024f610441565b8484610445565b50600192915050565b60025490565b60006102728484846104f9565b6001600160a01b038416600090815260016020526040812081610293610441565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156102df5760405162461bcd60e51b81526004016102d690610869565b60405180910390fd5b6102fa856102eb610441565b6102f58685610a0c565b610445565b506001949350505050565b601290565b6000610256610317610441565b848460016000610325610441565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546102f591906109f4565b6001600160a01b0381166000908152602081905260409020545b919050565b6060600480546101bf90610a23565b60008060016000610396610441565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156103e25760405162461bcd60e51b81526004016102d690610980565b6103f86103ed610441565b856102f58685610a0c565b5060019392505050565b600061025661040f610441565b84846104f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661046b5760405162461bcd60e51b81526004016102d690610923565b6001600160a01b0382166104915760405162461bcd60e51b81526004016102d6906107af565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ec9085906109dd565b60405180910390a3505050565b6001600160a01b03831661051f5760405162461bcd60e51b81526004016102d6906108c6565b6001600160a01b0382166105455760405162461bcd60e51b81526004016102d690610752565b610550838383610621565b6001600160a01b038316600090815260208190526040902054818110156105895760405162461bcd60e51b81526004016102d69061080c565b6105938282610a0c565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105c99084906109f4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161061391906109dd565b60405180910390a350505050565b505050565b80356001600160a01b038116811461037357600080fd5b60006020828403121561064e578081fd5b61065782610626565b9392505050565b60008060408385031215610670578081fd5b61067983610626565b915061068760208401610626565b90509250929050565b6000806000606084860312156106a4578081fd5b6106ad84610626565b92506106bb60208501610626565b9150604084013590509250925092565b600080604083850312156106dd578182fd5b6106e683610626565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b8181101561072b5785810183015185820160400152820161070f565b8181111561073c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610a0757610a07610a5e565b500190565b600082821015610a1e57610a1e610a5e565b500390565b600281046001821680610a3757607f821691505b60208210811415610a5857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207286ecefd2ed6f67019b2664641d60f3c5b133f2cc821c3749b8063f7210fe6364736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610177578063a9059cbb1461018a578063dd62ed3e1461019d576100c9565b8063395093511461014957806370a082311461015c57806395d89b411461016f576100c9565b806318160ddd116100b257806318160ddd1461010c57806323b872dd14610121578063313ce56714610134576100c9565b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101b0565b6040516100e391906106ff565b60405180910390f35b6100ff6100fa3660046106cb565b610242565b6040516100e391906106f4565b61011461025f565b6040516100e391906109dd565b6100ff61012f366004610690565b610265565b61013c610305565b6040516100e391906109e6565b6100ff6101573660046106cb565b61030a565b61011461016a36600461063d565b610359565b6100d6610378565b6100ff6101853660046106cb565b610387565b6100ff6101983660046106cb565b610402565b6101146101ab36600461065e565b610416565b6060600380546101bf90610a23565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610a23565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b600061025661024f610441565b8484610445565b50600192915050565b60025490565b60006102728484846104f9565b6001600160a01b038416600090815260016020526040812081610293610441565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156102df5760405162461bcd60e51b81526004016102d690610869565b60405180910390fd5b6102fa856102eb610441565b6102f58685610a0c565b610445565b506001949350505050565b601290565b6000610256610317610441565b848460016000610325610441565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546102f591906109f4565b6001600160a01b0381166000908152602081905260409020545b919050565b6060600480546101bf90610a23565b60008060016000610396610441565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156103e25760405162461bcd60e51b81526004016102d690610980565b6103f86103ed610441565b856102f58685610a0c565b5060019392505050565b600061025661040f610441565b84846104f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661046b5760405162461bcd60e51b81526004016102d690610923565b6001600160a01b0382166104915760405162461bcd60e51b81526004016102d6906107af565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ec9085906109dd565b60405180910390a3505050565b6001600160a01b03831661051f5760405162461bcd60e51b81526004016102d6906108c6565b6001600160a01b0382166105455760405162461bcd60e51b81526004016102d690610752565b610550838383610621565b6001600160a01b038316600090815260208190526040902054818110156105895760405162461bcd60e51b81526004016102d69061080c565b6105938282610a0c565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105c99084906109f4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161061391906109dd565b60405180910390a350505050565b505050565b80356001600160a01b038116811461037357600080fd5b60006020828403121561064e578081fd5b61065782610626565b9392505050565b60008060408385031215610670578081fd5b61067983610626565b915061068760208401610626565b90509250929050565b6000806000606084860312156106a4578081fd5b6106ad84610626565b92506106bb60208501610626565b9150604084013590509250925092565b600080604083850312156106dd578182fd5b6106e683610626565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b8181101561072b5785810183015185820160400152820161070f565b8181111561073c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610a0757610a07610a5e565b500190565b600082821015610a1e57610a1e610a5e565b500390565b600281046001821680610a3757607f821691505b60208210811415610a5857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207286ecefd2ed6f67019b2664641d60f3c5b133f2cc821c3749b8063f7210fe6364736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json b/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json deleted file mode 100644 index 62940b5d..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json b/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json deleted file mode 100644 index 663a02d9..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20", - "sourceName": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "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": "amount", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json b/deployed/goerli/abi/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/utils/Context.sol/Context.json b/deployed/goerli/abi/@openzeppelin/contracts/utils/Context.sol/Context.json deleted file mode 100644 index 8fe86fc7..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/utils/Context.sol/Context.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Context", - "sourceName": "@openzeppelin/contracts/utils/Context.sol", - "abi": [], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.dbg.json b/deployed/goerli/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.dbg.json deleted file mode 100644 index 62940b5d..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.json b/deployed/goerli/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.json deleted file mode 100644 index 837c709c..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MerkleProof", - "sourceName": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", - "abi": [], - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220393df58923e0b4b21acbb6904bf330fb8080acf82fb13d1dcb114da8c387305164736f6c63430008000033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220393df58923e0b4b21acbb6904bf330fb8080acf82fb13d1dcb114da8c387305164736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json b/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json deleted file mode 100644 index 62940b5d..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json b/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json deleted file mode 100644 index 1304472c..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC165", - "sourceName": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json b/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json deleted file mode 100644 index 62940b5d..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json b/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json deleted file mode 100644 index ff87f91e..00000000 --- a/deployed/goerli/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC165", - "sourceName": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/build-info/15277834259d0f2b4f3c65843402b37f.json b/deployed/goerli/abi/build-info/15277834259d0f2b4f3c65843402b37f.json deleted file mode 100644 index 2ee293bd..00000000 --- a/deployed/goerli/abi/build-info/15277834259d0f2b4f3c65843402b37f.json +++ /dev/null @@ -1,501 +0,0 @@ -{ - "id": "15277834259d0f2b4f3c65843402b37f", - "_format": "hh-sol-build-info-1", - "solcVersion": "0.8.0", - "solcLongVersion": "0.8.0+commit.c7dfd78e", - "input": { - "language": "Solidity", - "sources": { - "contracts/IDelegator.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\n\ninterface IDelegator {\n function upgradeDelegate(address newDelegateAddress) external;\n function getResult(uint256 id) external view returns(uint256);\n \n function getJob(uint256 id)\n external view returns(string memory url, string memory selector, string memory name, bool repeat, uint256 result);\n}\n" - } - }, - "settings": { - "optimizer": { - "enabled": true, - "runs": 1500 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers" - ], - "": [ - "ast" - ] - } - } - } - }, - "output": { - "contracts": { - "contracts/IDelegator.sol": { - "IDelegator": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newDelegateAddress", - "type": "address" - } - ], - "name": "upgradeDelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "getJob(uint256)": "bf22c457", - "getResult(uint256)": "995e4339", - "upgradeDelegate(address)": "2da4e75c" - } - } - } - } - }, - "sources": { - "contracts/IDelegator.sol": { - "ast": { - "absolutePath": "contracts/IDelegator.sol", - "exportedSymbols": { - "IDelegator": [ - 29 - ] - }, - "id": 30, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:0" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 29, - "linearizedBaseContracts": [ - 29 - ], - "name": "IDelegator", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "2da4e75c", - "id": 6, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "upgradeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3, - "mutability": "mutable", - "name": "newDelegateAddress", - "nodeType": "VariableDeclaration", - "scope": 6, - "src": "117:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "117:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "116:28:0" - }, - "returnParameters": { - "id": 5, - "nodeType": "ParameterList", - "parameters": [], - "src": "153:0:0" - }, - "scope": 29, - "src": "92:62:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "995e4339", - "id": 13, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getResult", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "178:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "178:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "177:12:0" - }, - "returnParameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "212:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "212:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "211:9:0" - }, - "scope": 29, - "src": "159:62:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "bf22c457", - "id": 28, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "247:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "247:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "246:12:0" - }, - "returnParameters": { - "id": 27, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "285:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "285:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 20, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "304:22:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 19, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "304:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 22, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "328:18:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 21, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "328:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "348:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "348:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 26, - "mutability": "mutable", - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "361:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "361:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "284:92:0" - }, - "scope": 29, - "src": "231:146:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 30, - "src": "65:314:0" - } - ], - "src": "39:341:0" - }, - "id": 0 - } - } - } -} diff --git a/deployed/goerli/abi/build-info/ef5a8b4d3736605175a73b5015afa802.json b/deployed/goerli/abi/build-info/ef5a8b4d3736605175a73b5015afa802.json deleted file mode 100644 index 94c94cf3..00000000 --- a/deployed/goerli/abi/build-info/ef5a8b4d3736605175a73b5015afa802.json +++ /dev/null @@ -1,158065 +0,0 @@ -{ - "id": "ef5a8b4d3736605175a73b5015afa802", - "_format": "hh-sol-build-info-1", - "solcVersion": "0.8.0", - "solcLongVersion": "0.8.0+commit.c7dfd78e", - "input": { - "language": "Solidity", - "sources": { - "contracts/Core/ACL.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\nimport \"../lib/Constants.sol\";\n\n\ncontract ACL is AccessControl {\n constructor() {\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n }\n\n modifier onlyRole(bytes32 _hash) {\n require(hasRole(_hash, msg.sender), \"ACL: sender not authorized\");\n _;\n }\n}" - }, - "@openzeppelin/contracts/access/AccessControl.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n function hasRole(bytes32 role, address account) external view returns (bool);\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n function grantRole(bytes32 role, address account) external;\n function revokeRole(bytes32 role, address account) external;\n function renounceRole(bytes32 role, address account) external;\n}\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping (address => bool) members;\n bytes32 adminRole;\n }\n\n mapping (bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId\n || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view override returns (bool) {\n return _roles[role].members[account];\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view override returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) public virtual override {\n require(hasRole(getRoleAdmin(role), _msgSender()), \"AccessControl: sender must be an admin to grant\");\n\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) public virtual override {\n require(hasRole(getRoleAdmin(role), _msgSender()), \"AccessControl: sender must be an admin to revoke\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) public virtual override {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n emit RoleAdminChanged(role, getRoleAdmin(role), adminRole);\n _roles[role].adminRole = adminRole;\n }\n\n function _grantRole(bytes32 role, address account) private {\n if (!hasRole(role, account)) {\n _roles[role].members[account] = true;\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n function _revokeRole(bytes32 role, address account) private {\n if (hasRole(role, account)) {\n _roles[role].members[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n" - }, - "contracts/lib/Constants.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\n\nlibrary Constants {\n function commit() public pure returns(uint8) { return(0);}\n function reveal() public pure returns(uint8) { return(1);}\n function propose() public pure returns(uint8) { return(2);}\n function dispute() public pure returns(uint8) { return(3);}\n // penalty not reveal = 0.01% per epch\n function penaltyNotRevealNum() public pure returns(uint256) { return (1);}\n function penaltyNotRevealDenom() public pure returns(uint256) { return (10000); }\n function minStake() public pure returns(uint256) { return(100*(10**uint256(18))); }\n function unstakeLockPeriod() public pure returns(uint256) { return(1); }\n function withdrawLockPeriod() public pure returns(uint256) { return(1); }\n function maxAltBlocks() public pure returns(uint256) { return(5); }\n function epochLength() public pure returns(uint256) { return(40); }\n function numStates() public pure returns(uint256) { return(4); }\n function exposureDenominator() public pure returns(uint256) { return(1000); }\n\n function getJobConfirmerHash() public pure returns(bytes32) { return(0xbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f); /*keccak256(\"JOB_CONFIRMER_ROLE\")*/}\n function getBlockConfirmerHash() public pure returns(bytes32) { return(0x18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f);/*keccak256(\"BLOCK_CONFIRMER_ROLE\"))*/}\n function getStakeModifierHash() public pure returns(bytes32) { return(0xdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc804);/*keccak256(\"STAKE_MODIFIER_ROLE\"))*/}\n function getStakerActivityUpdaterHash() public pure returns(bytes32) { return(0x4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece); /*keccak256(\"STAKER_ACTIVITY_UPDATER_ROLE\"))*/}\n function getDefaultAdminHash() public pure returns(bytes32) { return(0x0000000000000000000000000000000000000000000000000000000000000000);}\n}\n" - }, - "@openzeppelin/contracts/utils/Context.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\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 this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return msg.data;\n }\n}\n" - }, - "@openzeppelin/contracts/utils/introspection/ERC165.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" - }, - "@openzeppelin/contracts/utils/introspection/IERC165.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\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[EIP 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" - }, - "contracts/SchellingCoin.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"./Core/ACL.sol\";\n\n/**\n * @title SchellingCoin\n * @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator.\n * Note they can later distribute these tokens as they wish using `transfer` and other\n * `ERC20` functions.\n */\n\ncontract SchellingCoin is ERC20, ACL {\n\n uint256 public constant DECIMALS = 18;\n //50 million supply. rest should be mintable\n uint256 public constant INITIAL_SUPPLY = 1000000000 * (10 ** uint256(DECIMALS));\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n \n /**\n * @dev Constructor that gives msg.sender all of existing tokens.\n */\n constructor (address minter) ERC20(\"SchellingCoin\", \"SCH\") {\n _mint(msg.sender, INITIAL_SUPPLY);\n grantRole(MINTER_ROLE, minter);\n }\n \n function addMinter(address account) external {\n grantRole(MINTER_ROLE, account);\n }\n\n function removeMinter(address account) external {\n revokeRole(MINTER_ROLE, account);\n }\n\n function mint(address account, uint256 amount) external returns (bool) {\n require(hasRole(MINTER_ROLE, msg.sender), \"Caller is not a minter\");\n _mint(account, amount);\n return true;\n }\n}\n" - }, - "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"../../utils/Context.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 * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => 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 * The defaut value of {decimals} is 18. To select a different value for\n * {decimals} you should overload it.\n *\n * All three of these values are immutable: they can only be set once during\n * 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 value {ERC20} uses, unless this function is\n * overloaded;\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 override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * Requirements:\n *\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for ``sender``'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(sender, recipient, amount);\n\n uint256 currentAllowance = _allowances[sender][_msgSender()];\n require(currentAllowance >= amount, \"ERC20: transfer amount exceeds allowance\");\n _approve(sender, _msgSender(), currentAllowance - amount);\n\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n uint256 currentAllowance = _allowances[_msgSender()][spender];\n require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\");\n _approve(_msgSender(), spender, currentAllowance - subtractedValue);\n\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is 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 * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal virtual {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(sender, recipient, amount);\n\n uint256 senderBalance = _balances[sender];\n require(senderBalance >= amount, \"ERC20: transfer amount exceeds balance\");\n _balances[sender] = senderBalance - amount;\n _balances[recipient] += amount;\n\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply += amount;\n _balances[account] += amount;\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n uint256 accountBalance = _balances[account];\n require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\");\n _balances[account] = accountBalance - amount;\n _totalSupply -= amount;\n\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` 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 function _approve(address owner, address spender, uint256 amount) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be to transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }\n}\n" - }, - "@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address recipient, uint256 amount) 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 `amount` as the allowance of `spender` over the 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 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` 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 sender, address recipient, uint256 amount) external returns (bool);\n\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" - }, - "contracts/Faucet.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\n\n\ncontract Faucet {\n\n ERC20 public token;\n mapping(address => bool) public requested;\n \n event Donate(address _address, uint256 value);\n\n constructor(address tokenAddress) {\n token = ERC20(tokenAddress);\n }\n\n //WARNING FOR TESTNET ONLY DISABLE FOR PROD.\n //give 10000 sch once per staker\n function faucet(address _address) external {\n if (!requested[_address]) {\n requested[_address] = true;\n // Transfer 10000 Tokens\n token.transfer(_address, 10000 * (10 ** 18));\n emit Donate(_address, 10000 * (10 ** 18));\n }\n }\n}" - }, - "contracts/Core/StakeManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"./interface/IStateManager.sol\";\nimport \"./interface/IBlockManager.sol\";\nimport \"./interface/IVoteManager.sol\";\nimport \"./storage/StakeStorage.sol\";\nimport \"../lib/Constants.sol\";\nimport \"../lib/Constants.sol\";\nimport \"../SchellingCoin.sol\";\nimport \"./ACL.sol\";\n\n\n/// @title StakeManager\n/// @notice StakeManager handles stake, unstake, withdraw, reward, functions\n/// for stakers\n\ncontract StakeManager is ACL, StakeStorage {\n\n SchellingCoin public sch;\n IVoteManager public voteManager;\n IBlockManager public blockManager;\n IStateManager public stateManager;\n\n event StakeChange(\n uint256 indexed stakerId,\n uint256 previousStake,\n uint256 newStake,\n string reason,\n uint256 epoch,\n uint256 timestamp\n );\n\n event RewardPoolChange(\n uint256 epoch,\n uint256 prevRewardPool,\n uint256 rewardPool,\n uint256 timestamp\n );\n event StakeGettingRewardChange(\n uint256 epoch,\n uint256 prevStakeGettingReward,\n uint256 stakeGettingReward,\n uint256 timestamp\n );\n\n event Staked(\n uint256 epoch,\n uint256 indexed stakerId,\n uint256 previousStake,\n uint256 newStake,\n uint256 timestamp\n );\n\n event Unstaked(\n uint256 epoch,\n uint256 indexed stakerId,\n uint256 amount,\n uint256 newStake,\n uint256 timestamp\n );\n\n event Withdrew(\n uint256 epoch,\n uint256 indexed stakerId,\n uint256 amount,\n uint256 newStake,\n uint256 timestamp\n );\n\n modifier checkEpoch (uint256 epoch) {\n require(epoch == stateManager.getEpoch(), \"incorrect epoch\");\n _;\n }\n\n modifier checkState (uint256 state) {\n require(state == stateManager.getState(), \"incorrect state\");\n _;\n }\n\n constructor (uint256 _blockReward) {\n blockReward = _blockReward;\n }\n\n /// @param _schAddress The address of the Schelling token ERC20 contract\n /// @param _voteManagerAddress The address of the VoteManager contract\n /// @param _blockManagerAddress The address of the BlockManager contract\n /// @param _stateManagerAddress The address of the StateManager contract\n /// todo disable after init\n function init (\n address _schAddress,\n address _voteManagerAddress,\n address _blockManagerAddress,\n address _stateManagerAddress\n ) external \n {\n sch = SchellingCoin(_schAddress);\n voteManager = IVoteManager(_voteManagerAddress);\n blockManager = IBlockManager(_blockManagerAddress);\n stateManager = IStateManager(_stateManagerAddress);\n }\n\n /// @param _id The ID of the staker\n /// @param _epochLastRevealed The number of epoch that staker revealed asset values\n function setStakerEpochLastRevealed(\n uint256 _id,\n uint256 _epochLastRevealed\n ) external onlyRole(Constants.getStakerActivityUpdaterHash())\n {\n stakers[_id].epochLastRevealed = _epochLastRevealed;\n }\n\n /// @param stakerId The ID of the staker\n function updateCommitmentEpoch(\n uint256 stakerId\n ) external onlyRole(Constants.getStakerActivityUpdaterHash())\n {\n stakers[stakerId].epochLastCommitted = stateManager.getEpoch();\n }\n\n function updateBlockReward(uint256 _blockReward) external onlyRole(Constants.getDefaultAdminHash())\n {\n blockReward = _blockReward;\n }\n\n /// @notice stake during commit state only\n /// we check epoch during every transaction to avoid withholding and rebroadcasting attacks\n /// @param epoch The Epoch value for which staker is requesting to stake\n /// @param amount The amount of schelling tokens Staker stakes\n function stake(\n uint256 epoch,\n uint256 amount\n ) \n external\n checkEpoch(epoch) checkState(Constants.commit()) \n {\n // not allowed during reveal period\n require(stateManager.getState() != Constants.reveal(), \"Incorrect state\");\n require(\n amount >= Constants.minStake(), \n \"staked amount is less than minimum stake required\"\n );\n require(sch.transferFrom(msg.sender, address(this), amount), \"sch transfer failed\");\n uint256 stakerId = stakerIds[msg.sender];\n uint256 previousStake = stakers[stakerId].stake;\n if (stakerId == 0) {\n numStakers = numStakers+(1);\n stakers[numStakers] = Structs.Staker(numStakers, msg.sender, amount, epoch, 0, 0,\n epoch+(Constants.unstakeLockPeriod()), 0);\n stakerId = numStakers;\n stakerIds[msg.sender] = stakerId;\n } else {\n // WARNING: ALLOWING STAKE TO BE ADDED AFTER WITHDRAW/SLASH, consequences need an analysis\n // For more info, See issue -: https://github.com/razor-network/contracts/issues/112\n stakers[stakerId].stake = stakers[stakerId].stake+(amount);\n stakers[stakerId].unstakeAfter = epoch+(Constants.unstakeLockPeriod());\n stakers[stakerId].withdrawAfter = 0;\n }\n\n emit Staked(epoch, stakerId, previousStake, stakers[stakerId].stake, block.timestamp);\n }\n\n /// @notice staker must call unstake() and should wait for Constants.WITHDRAW_LOCK_PERIOD\n /// after which she can call withdraw() to finally Withdraw\n /// @param epoch The Epoch value for which staker is requesting to unstake\n function unstake (uint256 epoch) external checkEpoch(epoch) checkState(Constants.commit()) {\n uint256 stakerId = stakerIds[msg.sender];\n Structs.Staker storage staker = stakers[stakerId];\n require(staker.id != 0, \"staker.id = 0\");\n require(staker.stake > 0, \"Nonpositive stake\");\n require(staker.unstakeAfter <= epoch && staker.unstakeAfter != 0, \"locked\");\n staker.unstakeAfter = 0;\n staker.withdrawAfter = epoch+(Constants.withdrawLockPeriod());\n emit Unstaked(epoch, stakerId, staker.stake, staker.stake, block.timestamp);\n }\n\n\n /// @notice Helps stakers withdraw their stake if previously unstaked\n /// @param epoch The Epoch value for which staker is requesting a withdraw\n function withdraw (uint256 epoch) external checkEpoch(epoch) checkState(Constants.commit()) {\n uint256 stakerId = stakerIds[msg.sender];\n Structs.Staker storage staker = stakers[stakerId];\n require(staker.id != 0, \"staker doesnt exist\");\n require(staker.unstakeAfter == 0, \"Did not unstake\");\n require(\n (staker.withdrawAfter <= epoch) && staker.withdrawAfter != 0,\n \"Withdraw epoch not reached\"\n );\n require(\n (staker.withdrawAfter - Constants.withdrawLockPeriod()) >= staker.epochLastRevealed,\n \"Participated in Withdraw lock period, Cant withdraw\"\n );\n require(\n voteManager.getCommitment(epoch, stakerId) == 0x0,\n \"already commited this epoch. Cant withdraw\"\n );\n require(staker.stake > 0, \"Nonpositive Stake\");\n\n uint256 toTransfer = stakers[stakerId].stake;\n stakers[stakerId].stake = 0;\n emit Withdrew(epoch, stakerId, stakers[stakerId].stake, 0, block.timestamp);\n require(sch.transfer(msg.sender, toTransfer), \"couldnt transfer\");\n }\n\n /// @notice gives penalty to stakers for failing to reveal or\n /// reveal value deviations\n /// @param stakerId The id of staker currently in consideration\n /// @param epoch the epoch value\n /// todo reduce complexity\n function givePenalties(\n uint256 stakerId,\n uint256 epoch\n ) external onlyRole(Constants.getStakeModifierHash())\n {\n _givePenalties(stakerId, epoch);\n }\n\n /// @notice The function gives block reward for one valid proposer in the\n /// previous epoch by minting new tokens from the schelling token contract\n /// called from confirmBlock function of BlockManager contract\n /// @param stakerId The ID of the staker\n function giveBlockReward(\n uint256 stakerId,\n uint256 epoch\n ) external onlyRole(Constants.getStakeModifierHash())\n {\n if (blockReward > 0) {\n uint256 newStake = stakers[stakerId].stake+(blockReward);\n _setStakerStake(stakerId, newStake, \"Block Reward\", epoch);\n require(sch.mint(address(this), blockReward));\n }\n uint256 prevStakeGettingReward = stakeGettingReward;\n stakeGettingReward = 0;\n \n emit StakeGettingRewardChange(\n epoch,\n prevStakeGettingReward,\n stakeGettingReward,\n block.timestamp\n );\n }\n \n /// @notice This function is called in VoteManager reveal function to give\n /// rewards to all the stakers who have correctly staked, committed, revealed\n /// the Values of assets according to the razor protocol rules.\n /// @param stakerId The staker id\n /// @param epoch The epoch number for which reveal has been called\n function giveRewards(\n uint256 stakerId,\n uint256 epoch\n ) external onlyRole(Constants.getStakeModifierHash())\n {\n if (stakeGettingReward == 0) return;\n Structs.Staker memory thisStaker = stakers[stakerId];\n uint256 epochLastRevealed = thisStaker.epochLastRevealed;\n\n // no rewards if last epoch didn't got revealed\n if ((epoch - epochLastRevealed) != 1) return;\n uint256[] memory mediansLastEpoch = blockManager.getBlockMedians(epochLastRevealed);\n uint256[] memory lowerCutoffsLastEpoch = blockManager.getLowerCutoffs(epochLastRevealed);\n uint256[] memory higherCutoffsLastEpoch = blockManager.getHigherCutoffs(epochLastRevealed);\n\n if (lowerCutoffsLastEpoch.length > 0) {\n uint256 rewardable = 0;\n for (uint256 i = 0; i < lowerCutoffsLastEpoch.length; i++) {\n uint256 voteLastEpoch = \n voteManager.getVote(epochLastRevealed, thisStaker.id, i).value;\n uint256 medianLastEpoch = mediansLastEpoch[i];\n uint256 lowerCutoffLastEpoch = lowerCutoffsLastEpoch[i];\n uint256 higherCutoffLastEpoch = higherCutoffsLastEpoch[i];\n\n //give rewards if voted in zone\n if ((voteLastEpoch == medianLastEpoch) ||\n ((voteLastEpoch > lowerCutoffLastEpoch) ||\n (voteLastEpoch < higherCutoffLastEpoch))) {\n rewardable = rewardable + 1;\n }\n }\n\n uint256 reward = (thisStaker.stake*rewardPool*rewardable)/\n (stakeGettingReward*lowerCutoffsLastEpoch.length);\n if (reward > 0) {\n uint256 prevStakeGettingReward = stakeGettingReward;\n stakeGettingReward = stakeGettingReward >= thisStaker.stake ? stakeGettingReward-(thisStaker.stake) : 0;\n emit StakeGettingRewardChange(epoch, prevStakeGettingReward, stakeGettingReward, block.timestamp);\n uint256 newStake = thisStaker.stake + reward;\n uint256 prevRewardPool = rewardPool;\n rewardPool = rewardPool-(reward);\n emit RewardPoolChange(epoch, prevRewardPool, rewardPool, block.timestamp);\n _setStakerStake(thisStaker.id, newStake, \"Voting Rewards\", epoch);\n }\n }\n }\n\n /// @notice The function is used by the Votemanager reveal function\n /// to penalise the staker who lost his secret and make his stake zero and\n /// transfer to bounty hunter half the schelling tokens of the stakers stake\n /// @param id The ID of the staker who is penalised\n /// @param bountyHunter The address of the bounty hunter\n function slash (uint256 id, address bountyHunter, uint256 epoch) external onlyRole(Constants.getStakeModifierHash()) {\n uint256 halfStake = stakers[id].stake/(2);\n _setStakerStake(id, 0, \"Slashed\", epoch);\n if (halfStake > 1) {\n require(sch.transfer(bountyHunter, halfStake), \"failed to transfer bounty\");\n }\n } \n\n /// @param _address Address of the staker\n /// @return The staker ID\n function getStakerId(address _address) external view returns(uint256) {\n return(stakerIds[_address]);\n }\n\n /// @param _id The staker ID\n /// @return staker The Struct of staker information\n function getStaker(uint256 _id) external view returns(Structs.Staker memory staker) {\n return(stakers[_id]);\n }\n\n /// @return The number of stakers in the razor network\n function getNumStakers() external view returns(uint256) {\n return(numStakers);\n }\n\n /// @return The rewardpool\n function getRewardPool() external view returns(uint256) {\n return(rewardPool);\n }\n\n /// @return The stakeGettingReward value\n function getStakeGettingReward() external view returns(uint256) {\n return(stakeGettingReward);\n }\n\n /// @notice Calculates the inactivity penalties of the staker\n /// @param epochs The difference of epochs where the staker was inactive\n /// @param stakeValue The Stake that staker had in last epoch\n function calculateInactivityPenalties(uint256 epochs, uint256 stakeValue) public pure returns(uint256) {\n //not really inactive. do nothing. give 10 epoch grace\n if (epochs < 10) {\n return(stakeValue);\n }\n\n uint256 penalty = ((epochs - 1) * (stakeValue*(Constants.penaltyNotRevealNum()))) / Constants.penaltyNotRevealDenom();\n if (penalty < stakeValue) {\n return(stakeValue-(penalty));\n } else {\n return(0);\n }\n }\n\n /// @notice internal function for setting stake of the staker\n /// called in the giveRewards function\n /// @param _id of the staker\n /// @param _stake the amount of schelling tokens staked\n function _setStakerStake(uint256 _id, uint256 _stake, string memory _reason, uint256 _epoch) internal {\n uint256 previousStake = stakers[_id].stake;\n stakers[_id].stake = _stake;\n emit StakeChange(_id, previousStake, _stake, _reason, _epoch, block.timestamp);\n }\n\n /// @notice The function gives out penalties to stakers during commit. \n /// The penalties are given for inactivity, failing to reveal\n /// , deviation from the median value of particular asset\n /// @param stakerId The staker id\n /// @param epoch The Epoch value in consideration\n function _giveInactivityPenalties(uint256 stakerId, uint256 epoch) internal {\n Structs.Staker memory thisStaker = stakers[stakerId];\n\n uint256 epochLastActive = thisStaker.epochStaked < thisStaker.epochLastRevealed ?\n thisStaker.epochLastRevealed :\n thisStaker.epochStaked;\n // penalize or reward if last active more than epoch - 1\n uint256 penalizeEpochs = epoch-(epochLastActive);\n uint256 previousStake = thisStaker.stake;\n // uint256 currentStake = previousStake;\n uint256 currentStake = calculateInactivityPenalties(penalizeEpochs, previousStake);\n if (currentStake < previousStake) {\n _setStakerStake(thisStaker.id, currentStake, \"Inactivity Penalty\", epoch);\n uint256 prevRewardPool = rewardPool;\n rewardPool = rewardPool+(previousStake-(currentStake));\n emit RewardPoolChange(epoch, prevRewardPool, rewardPool, block.timestamp);\n }\n }\n function _givePenalties (uint256 stakerId, uint256 epoch) internal {\n _giveInactivityPenalties(stakerId, epoch);\n Structs.Staker storage thisStaker = stakers[stakerId];\n uint256 previousStake = thisStaker.stake;\n uint256 epochLastRevealed = thisStaker.epochLastRevealed;\n\n Structs.Block memory _block = blockManager.getBlock(epochLastRevealed);\n\n uint256[] memory lowerCutoffsLastEpoch = _block.lowerCutoffs;\n uint256[] memory higherCutoffsLastEpoch = _block.higherCutoffs;\n \n\n if (lowerCutoffsLastEpoch.length > 0) {\n uint256 penalty = 0;\n for (uint256 i = 0; i < lowerCutoffsLastEpoch.length; i++) {\n uint256 voteLastEpoch = voteManager.getVote(epochLastRevealed, thisStaker.id, i).value;\n uint256 lowerCutoffLastEpoch = lowerCutoffsLastEpoch[i];\n uint256 higherCutoffLastEpoch = higherCutoffsLastEpoch[i];\n \n\n if ((voteLastEpoch < lowerCutoffLastEpoch) || (voteLastEpoch > higherCutoffLastEpoch)) {\n // WARNING: Potential security vulnerability. Could increase stake maliciously, need analysis\n // For more info, See issue -: https://github.com/razor-network/contracts/issues/112\n penalty = penalty + (previousStake/Constants.exposureDenominator());\n }\n }\n\n if (penalty > 0) {\n penalty = (penalty > previousStake) ? previousStake : penalty;\n _setStakerStake(thisStaker.id, (previousStake-(penalty)), \"Voting Penalty\", epoch);\n uint256 prevRewardPool = rewardPool;\n rewardPool = rewardPool+(penalty);\n emit RewardPoolChange(epoch, prevRewardPool, rewardPool, block.timestamp);\n } else {\n //no penalty. only reward\n uint256 prevStakeGettingReward = stakeGettingReward;\n stakeGettingReward = stakeGettingReward+(previousStake);//*(1 - y);\n emit StakeGettingRewardChange(epoch, prevStakeGettingReward, stakeGettingReward, block.timestamp);\n }\n }\n }\n}\n" - }, - "contracts/Core/interface/IStateManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\ninterface IStateManager {\n function getEpoch () external view returns(uint256);\n\n function getState () external view returns(uint256);\n}\n" - }, - "contracts/Core/interface/IBlockManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\n\ninterface IBlockManager {\n\n function init(\n address _stakeManagerAddress,\n address _stateManagerAddress,\n address _voteManagerAddress,\n address _jobManagerAddress\n ) external;\n\n // elected proposer proposes block. \n //we use a probabilistic method to elect stakers weighted by stake\n // protocol works like this. \n //select a staker pseudorandomly (not weighted by anything)\n // (todo what if it is below min stake)\n // that staker then tosses a biased coin. \n //bias = hisStake/biggestStake. if its heads, he can propose block\n // end of iteration. try next iteration\n // note that only one staker or no stakers selected in each iteration.\n // stakers elected in higher iterations can also propose hoping that\n // stakers with lower iteration do not propose for some reason\n function propose(\n uint256 epoch,\n uint256[] memory jobIds,\n uint256[] memory medians,\n uint256[] memory lowerCutoffs,\n uint256[] memory higherCutoffs,\n uint256 iteration,\n uint256 biggestStakerId\n ) external;\n \n //anyone can give sorted votes in batches in dispute state\n\n function giveSorted (uint256 epoch, uint256 assetId, uint256[] calldata sorted) external;\n function resetDispute (uint256 epoch) external;\n\n function isElectedProposer(\n uint256 iteration,\n uint256 biggestStakerId,\n uint256 stakerId\n ) external;\n\n function confirmBlock() external;\n\n function getBlock(uint256 epoch) external view returns(Structs.Block memory _block);\n function getBlockMedians(uint256 epoch) external view returns(uint256[] memory _blockMedians);\n\n function getLowerCutoffs(uint256 epoch) external view returns(uint256[] memory _lowerCutoffs);\n\n function getHigherCutoffs(\n uint256 epoch\n ) external view returns(uint256[] memory _higherCutoffs);\n\n function getProposedBlockMedians(\n uint256 epoch,\n uint256 proposedBlock\n ) external view returns(uint256[] memory _blockMedians);\n\n function getNumProposedBlocks(uint256 epoch) external view returns(uint256);\n}\n" - }, - "contracts/Core/interface/IVoteManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\n\ninterface IVoteManager {\n\n function init(address _stakeManagerAddress, address _blockManagerAddress) external;\n\n function commit(uint256 epoch, bytes32 commitment) external;\n\n function reveal(\n uint256 epoch,\n bytes32 root,\n uint256[] calldata values,\n bytes32[][] calldata proofs,\n bytes32 secret,\n address stakerAddress\n ) external;\n\n function getCommitment(uint256 epoch, uint256 stakerId) external view returns(bytes32);\n\n function getVote(\n uint256 epoch,\n uint256 stakerId,\n uint256 assetId\n ) external view returns(Structs.Vote memory vote);\n\n function getVoteWeight(uint256 epoch, uint256 assetId, uint256 voteValue)\n external view returns(uint256);\n\n function getTotalStakeRevealed(uint256 epoch, uint256 assetId) external view returns(uint256);\n\n function getTotalStakeRevealed(\n uint256 epoch,\n uint256 assetId,\n uint256 voteValue\n ) external view returns(uint256);\n}\n" - }, - "contracts/Core/storage/StakeStorage.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\ncontract StakeStorage {\n\n uint256 public blockReward;\n uint256 public numStakers;\n uint256 public rewardPool;\n uint256 public stakeGettingReward;\n\n mapping (address => uint256) public stakerIds;\n mapping (uint256 => Structs.Staker) public stakers;\n}\n" - }, - "contracts/lib/Structs.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\n\nlibrary Structs {\n struct Vote {\n uint256 value;\n uint256 weight;\n }\n\n struct Staker {\n uint256 id;\n address _address;\n uint256 stake;\n uint256 epochStaked;\n uint256 epochLastCommitted;\n uint256 epochLastRevealed;\n uint256 unstakeAfter;\n uint256 withdrawAfter;\n }\n\n struct Block {\n uint256 proposerId;\n uint256[] jobIds;\n uint256[] medians;\n uint256[] lowerCutoffs;\n uint256[] higherCutoffs;\n uint256 iteration;\n uint256 biggestStake;\n bool valid;\n }\n\n struct Dispute {\n uint256 accWeight;\n uint256 median;\n uint256 lowerCutoff;\n uint256 higherCutoff;\n uint256 lastVisited;\n uint256 assetId;\n }\n\n struct Job {\n uint256 id;\n uint256 epoch;\n string url;\n string selector;\n string name;\n bool repeat;\n address creator;\n uint256 credit;\n bool fulfilled;\n uint256 result;\n }\n\n}\n" - }, - "contracts/Core/VoteManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\";\nimport \"./interface/IStakeManager.sol\";\nimport \"./interface/IStateManager.sol\";\nimport \"./interface/IBlockManager.sol\";\nimport \"./storage/VoteStorage.sol\";\nimport \"../lib/Constants.sol\";\n\n\ncontract VoteManager is VoteStorage {\n\n IStakeManager public stakeManager;\n IStateManager public stateManager;\n IBlockManager public blockManager;\n\n modifier checkEpoch (uint256 epoch) {\n require(epoch == stateManager.getEpoch(), \"incorrect epoch\");\n _;\n }\n\n modifier checkState (uint256 state) {\n require(state == stateManager.getState(), \"incorrect state\");\n _;\n }\n\n function init (address _stakeManagerAddress, address _stateManagerAddress, address _blockManagerAddress) public {\n stakeManager = IStakeManager(_stakeManagerAddress);\n stateManager = IStateManager(_stateManagerAddress);\n blockManager = IBlockManager(_blockManagerAddress);\n }\n\n event Committed(uint256 epoch, uint256 stakerId, bytes32 commitment, uint256 timestamp);\n\n function commit(uint256 epoch, bytes32 commitment) public checkEpoch(epoch) checkState(Constants.commit()) {\n uint256 stakerId = stakeManager.getStakerId(msg.sender);\n require(commitments[epoch][stakerId] == 0x0, \"already commited\");\n Structs.Staker memory thisStaker = stakeManager.getStaker(stakerId);\n\n // Switch to call confirm block only when block in previous epoch has not been confirmed \n // and if previous epoch do have proposed blocks\n\n if (blockManager.getBlock(epoch-1).proposerId == 0 && blockManager.getNumProposedBlocks(epoch-1) > 0) {\n blockManager.confirmBlock();\n }\n stakeManager.givePenalties(stakerId, epoch);\n\n if (thisStaker.stake >= Constants.minStake()) {\n commitments[epoch][stakerId] = commitment;\n stakeManager.updateCommitmentEpoch(stakerId);\n emit Committed(epoch, stakerId, commitment, block.timestamp);\n }\n }\n\n event Revealed(uint256 epoch, uint256 stakerId, uint256 stake, uint256[] values, uint256 timestamp);\n\n function reveal (uint256 epoch, bytes32 root, uint256[] memory values,\n bytes32[][] memory proofs, bytes32 secret, address stakerAddress)\n public\n checkEpoch(epoch) {\n uint256 thisStakerId = stakeManager.getStakerId(stakerAddress);\n require(thisStakerId > 0, \"Structs.Staker does not exist\");\n Structs.Staker memory thisStaker = stakeManager.getStaker(thisStakerId);\n require(commitments[epoch][thisStakerId] != 0x0, \"not commited or already revealed\");\n require(keccak256(abi.encodePacked(epoch, root, secret)) == commitments[epoch][thisStakerId],\n \"incorrect secret/value\");\n \n //if revealing self\n if (msg.sender == stakerAddress) {\n require(stateManager.getState() == Constants.reveal(), \"Not reveal state\");\n require(thisStaker.stake > 0, \"nonpositive stake\");\n for (uint256 i = 0; i < values.length; i++) {\n require(MerkleProof.verify(proofs[i], root, keccak256(abi.encodePacked(values[i]))),\n \"invalid merkle proof\");\n votes[epoch][thisStakerId][i] = Structs.Vote(values[i], thisStaker.stake);\n voteWeights[epoch][i][values[i]] = voteWeights[epoch][i][values[i]]+(thisStaker.stake);\n totalStakeRevealed[epoch][i] = totalStakeRevealed[epoch][i]+(thisStaker.stake);\n }\n\n stakeManager.giveRewards(thisStakerId, epoch);\n\n commitments[epoch][thisStakerId] = 0x0;\n stakeManager.setStakerEpochLastRevealed(thisStakerId, epoch);\n\n emit Revealed(epoch, thisStakerId, thisStaker.stake, values, block.timestamp);\n } else {\n //bounty hunter revealing someone else's secret in commit state\n require(stateManager.getState() == Constants.commit(), \"Not commit state\");\n commitments[epoch][thisStakerId] = 0x0;\n stakeManager.slash(thisStakerId, msg.sender, epoch);\n }\n }\n\n function getCommitment(uint256 epoch, uint256 stakerId) public view returns(bytes32) {\n //epoch -> stakerid -> commitment\n return(commitments[epoch][stakerId]);\n }\n\n function getVote(uint256 epoch, uint256 stakerId, uint256 assetId) public view returns(Structs.Vote memory vote) {\n //epoch -> stakerid -> assetid -> vote\n return(votes[epoch][stakerId][assetId]);\n }\n\n function getVoteWeight(uint256 epoch, uint256 assetId, uint256 voteValue)\n public view returns(uint256) {\n //epoch -> assetid -> voteValue -> weight\n return(voteWeights[epoch][assetId][voteValue]);\n }\n\n function getTotalStakeRevealed(uint256 epoch, uint256 assetId) public view returns(uint256) {\n // epoch -> asset -> stakeWeight\n return(totalStakeRevealed[epoch][assetId]);\n }\n\n function getTotalStakeRevealed(uint256 epoch, uint256 assetId, uint256 voteValue) public view returns(uint256) {\n //epoch -> assetid -> voteValue -> weight\n return(voteWeights[epoch][assetId][voteValue]);\n }\n}\n" - }, - "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/**\n * @dev These functions deal with verification of Merkle trees (hash trees),\n */\nlibrary MerkleProof {\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n */\n function verify(bytes32[] memory proof, bytes32 root, bytes32 leaf) internal pure returns (bool) {\n bytes32 computedHash = leaf;\n\n for (uint256 i = 0; i < proof.length; i++) {\n bytes32 proofElement = proof[i];\n\n if (computedHash <= proofElement) {\n // Hash(current computed hash + current element of the proof)\n computedHash = keccak256(abi.encodePacked(computedHash, proofElement));\n } else {\n // Hash(current element of the proof + current computed hash)\n computedHash = keccak256(abi.encodePacked(proofElement, computedHash));\n }\n }\n\n // Check if the computed hash (root) is equal to the provided root\n return computedHash == root;\n }\n}\n" - }, - "contracts/Core/interface/IStakeManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\ninterface IStakeManager {\n function init (address _schAddress, address _voteManagerAddress,\n address _blockManagerAddress, address _stateManagerAddress) external;\n\n function setStakerEpochLastRevealed(uint256 _id, uint256 _epochLastRevealed) external;\n function updateCommitmentEpoch(uint256 stakerId) external;\n function stake (uint256 epoch, uint256 amount) external;\n function unstake (uint256 epoch) external;\n function withdraw (uint256 epoch) external;\n function givePenalties (uint256 stakerId, uint256 epoch) external;\n function giveBlockReward(uint256 stakerId, uint256 epoch) external;\n function giveRewards (uint256 stakerId, uint256 epoch) external;\n function slash (uint256 id, address bountyHunter, uint256 epoch) external;\n function getStakerId(address _address) external view returns(uint256);\n function getStaker(uint256 _id) external view returns(Structs.Staker memory staker);\n function getNumStakers() external view returns(uint256);\n function getRewardPool() external view returns(uint256);\n function getStakeGettingReward() external view returns(uint256);\n\n}\n" - }, - "contracts/Core/storage/VoteStorage.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\n\ncontract VoteStorage {\n //epoch -> stakerid -> commitment\n mapping (uint256 => mapping (uint256 => bytes32)) public commitments;\n //epoch -> stakerid -> assetid -> vote\n mapping (uint256 => mapping (uint256 => mapping (uint256 => Structs.Vote))) public votes;\n // epoch -> asset -> stakeWeight\n mapping (uint256 => mapping (uint256 => uint256)) public totalStakeRevealed;\n //epoch - >assetid -> voteValue -> weight\n mapping (uint256 => mapping (uint256 => mapping (uint256 => uint256))) public voteWeights;\n}\n" - }, - "contracts/Core/storage/JobStorage.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\n\ncontract JobStorage {\n uint256 public numJobs;\n mapping (uint256 => Structs.Job) public jobs;\n}\n" - }, - "contracts/Core/JobManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"./interface/IStateManager.sol\";\nimport \"./storage/JobStorage.sol\";\nimport \"../lib/Constants.sol\";\nimport \"./ACL.sol\";\n\n\ncontract JobManager is ACL, JobStorage {\n\n IStateManager public stateManager;\n\n event JobCreated(\n uint256 id,\n uint256 epoch,\n string url,\n string selector,\n string name,\n bool repeat,\n address creator,\n uint256 credit,\n uint256 timestamp\n );\n\n event JobReported(\n uint256 id,\n uint256 value,\n uint256 epoch,\n string url,\n string selector,\n string name,\n bool repeat,\n address creator,\n uint256 credit,\n bool fulfilled,\n uint256 timestamp\n );\n\n //disable after init.\n function init(address _stateManagerAddress) external {\n stateManager = IStateManager(_stateManagerAddress);\n }\n\n function createJob(\n string calldata url,\n string calldata selector,\n string calldata name,\n bool repeat\n ) external payable \n {\n numJobs = numJobs + 1;\n uint256 epoch = stateManager.getEpoch();\n Structs.Job memory job = Structs.Job(\n numJobs,\n epoch,\n url,\n selector,\n name,\n repeat,\n msg.sender,\n msg.value,\n false,\n 0\n );\n jobs[numJobs] = job;\n \n emit JobCreated(\n numJobs,\n epoch,\n url,\n selector,\n name,\n repeat,\n msg.sender,\n msg.value,\n block.timestamp\n );\n }\n\n function fulfillJob(\n uint256 jobId,\n uint256 value\n )\n external \n onlyRole(Constants.getJobConfirmerHash())\n {\n Structs.Job storage job = jobs[jobId];\n uint256 epoch = stateManager.getEpoch();\n\n if (!job.repeat) {\n job.fulfilled = true;\n }\n\n job.result = value;\n emit JobReported(\n job.id,\n value,\n epoch,\n job.url,\n job.selector,\n job.name,\n job.repeat,\n job.creator,\n job.credit,\n job.fulfilled,\n block.timestamp\n );\n }\n\n function getResult(uint256 id) external view returns(uint256) {\n return jobs[id].result;\n }\n\n function getJob(\n uint256 id\n ) \n external\n view\n returns(\n string memory url,\n string memory selector,\n string memory name,\n bool repeat,\n uint256 result\n ) \n {\n Structs.Job memory job = jobs[id];\n return(job.url, job.selector, job.name, job.repeat, job.result);\n }\n\n function getNumJobs() external view returns(uint256) {\n return numJobs;\n }\n}\n" - }, - "contracts/Core/BlockManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"./interface/IStakeManager.sol\";\nimport \"./interface/IStateManager.sol\";\nimport \"./interface/IVoteManager.sol\";\nimport \"./interface/IJobManager.sol\";\nimport \"./storage/BlockStorage.sol\";\nimport \"../lib/Constants.sol\";\nimport \"../lib/Random.sol\";\nimport \"./ACL.sol\";\n\n\ncontract BlockManager is ACL, BlockStorage {\n \n IStakeManager public stakeManager;\n IStateManager public stateManager;\n IVoteManager public voteManager;\n IJobManager public jobManager;\n\n event BlockConfirmed (\n uint256 epoch,\n uint256 stakerId,\n uint256[] medians,\n uint256[] lowerCutoffs,\n uint256[] higherCutoffs,\n uint256[] jobIds,\n uint256 timestamp\n );\n\n event Proposed (\n uint256 epoch,\n uint256 stakerId,\n uint256[] jobIds,\n uint256[] medians,\n uint256[] lowerCutoffs,\n uint256[] higherCutoffs,\n uint256 iteration,\n uint256 biggestStakerId,\n uint256 timestamp\n ); \n\n modifier checkEpoch (uint256 epoch) {\n require(epoch == stateManager.getEpoch(), \"incorrect epoch\");\n _;\n }\n\n modifier checkState (uint256 state) {\n require(state == stateManager.getState(), \"incorrect state\");\n _;\n }\n\n function init(\n address _stakeManagerAddress,\n address _stateManagerAddress,\n address _voteManagerAddress,\n address _jobManagerAddress\n ) external \n {\n stakeManager = IStakeManager(_stakeManagerAddress);\n stateManager = IStateManager(_stateManagerAddress);\n voteManager = IVoteManager(_voteManagerAddress);\n jobManager = IJobManager(_jobManagerAddress);\n }\n\n function getBlock(uint256 epoch) external view returns(Structs.Block memory _block) {\n return(blocks[epoch]);\n }\n\n function getBlockMedians(uint256 epoch) external view returns(uint256[] memory _blockMedians) {\n _blockMedians = blocks[epoch].medians;\n return(_blockMedians);\n }\n\n function getLowerCutoffs(uint256 epoch) external view returns(uint256[] memory _lowerCutoffs) {\n _lowerCutoffs = blocks[epoch].lowerCutoffs;\n return(_lowerCutoffs);\n }\n\n function getHigherCutoffs(\n uint256 epoch\n ) external view returns(uint256[] memory _higherCutoffs) \n {\n _higherCutoffs = blocks[epoch].higherCutoffs;\n return(_higherCutoffs);\n }\n\n function getProposedBlock(\n uint256 epoch,\n uint256 proposedBlock\n )\n external\n view \n returns(\n Structs.Block memory _block,\n uint256[] memory _blockMedians,\n uint256[] memory _lowerCutoffs,\n uint256[] memory _higherCutoffs\n ) \n {\n _block = proposedBlocks[epoch][proposedBlock];\n return(_block, _block.medians, _block.lowerCutoffs, _block.higherCutoffs);\n }\n\n function getProposedBlockMedians(uint256 epoch, uint256 proposedBlock)\n external view returns(uint256[] memory _blockMedians) {\n _blockMedians = proposedBlocks[epoch][proposedBlock].medians;\n return(_blockMedians);\n }\n\n function getNumProposedBlocks(uint256 epoch)\n external view returns(uint256) {\n return(proposedBlocks[epoch].length);\n }\n\n // elected proposer proposes block. \n //we use a probabilistic method to elect stakers weighted by stake\n // protocol works like this. \n //select a staker pseudorandomly (not weighted by anything)\n // (todo what if it is below min stake)\n // that staker then tosses a biased coin. \n //bias = hisStake/biggestStake. if its heads, he can propose block\n // end of iteration. try next iteration\n // note that only one staker or no stakers selected in each iteration.\n // stakers elected in higher iterations can also propose hoping that\n // stakers with lower iteration do not propose for some reason\n function propose(\n uint256 epoch,\n uint256[] memory jobIds,\n uint256[] memory medians,\n uint256[] memory lowerCutoffs,\n uint256[] memory higherCutoffs,\n uint256 iteration,\n uint256 biggestStakerId\n ) public checkEpoch(epoch) checkState(Constants.propose()) \n {\n uint256 proposerId = stakeManager.getStakerId(msg.sender);\n // SchellingCoin sch = SchellingCoin(schAddress);\n require(isElectedProposer(iteration, biggestStakerId, proposerId), \"not elected\");\n require(\n stakeManager.getStaker(proposerId).stake >= Constants.minStake(),\n \"stake below minimum stake\"\n );\n\n _insertAppropriately(\n epoch, \n Structs.Block(\n proposerId,\n jobIds,\n medians,\n lowerCutoffs,\n higherCutoffs,\n iteration,\n stakeManager.getStaker(biggestStakerId).stake,\n true\n )\n );\n\n emit Proposed(\n epoch,\n proposerId,\n jobIds,\n medians,\n lowerCutoffs,\n higherCutoffs,\n iteration,\n biggestStakerId,\n block.timestamp\n );\n }\n\n //anyone can give sorted votes in batches in dispute state\n function giveSorted(\n uint256 epoch,\n uint256 assetId,\n uint256[] memory sorted\n ) \n public\n checkEpoch(epoch)\n checkState(Constants.dispute()) \n {\n uint256 medianWeight = voteManager.getTotalStakeRevealed(epoch, assetId)/(2);\n uint256 lowerCutoffWeight = voteManager.getTotalStakeRevealed(epoch, assetId)/(4);\n uint256 higherCutoffWeight = (voteManager.getTotalStakeRevealed(epoch, assetId)*(3))/(4);\n uint256 accWeight = disputes[epoch][msg.sender].accWeight;\n uint256 lastVisited = disputes[epoch][msg.sender].lastVisited;\n if (disputes[epoch][msg.sender].accWeight == 0) {\n disputes[epoch][msg.sender].assetId = assetId;\n } else {\n require(disputes[epoch][msg.sender].assetId == assetId, \"AssetId not matching\");\n }\n for (uint256 i = 0; i < sorted.length; i++) {\n require(sorted[i] > lastVisited, \"sorted[i] is not greater than lastVisited\");\n lastVisited = sorted[i];\n accWeight = accWeight + (voteManager.getVoteWeight(epoch, assetId, sorted[i]));\n\n if (disputes[epoch][msg.sender].lowerCutoff == 0 && accWeight >= lowerCutoffWeight) {\n disputes[epoch][msg.sender].lowerCutoff = sorted[i];\n }\n if (disputes[epoch][msg.sender].median == 0 && accWeight > medianWeight) {\n disputes[epoch][msg.sender].median = sorted[i];\n }\n if (disputes[epoch][msg.sender].higherCutoff == 0 && accWeight > higherCutoffWeight) {\n disputes[epoch][msg.sender].higherCutoff = sorted[i];\n }\n //TODO verify how much gas required for below operations and update this value\n if (gasleft() < 10000) break;\n }\n disputes[epoch][msg.sender].lastVisited = lastVisited;\n disputes[epoch][msg.sender].accWeight = accWeight;\n }\n\n // //todo test\n // //if any mistake made during giveSorted, resetDispute and start again\n function resetDispute(\n uint256 epoch\n ) public checkEpoch(epoch) checkState(Constants.dispute())\n {\n disputes[epoch][msg.sender] = Structs.Dispute(0, 0, 0, 0, 0, 0);\n }\n\n function finalizeDispute (uint256 epoch, uint256 blockId)\n public checkEpoch(epoch) checkState(Constants.dispute()) {\n uint256 assetId = disputes[epoch][msg.sender].assetId;\n require(\n disputes[epoch][msg.sender].accWeight == voteManager.getTotalStakeRevealed(epoch, assetId),\n \"Total stake revealed doesnt match\"\n );\n uint256 median = disputes[epoch][msg.sender].median;\n uint256 lowerCutoff = disputes[epoch][msg.sender].lowerCutoff;\n uint256 higherCutoff = disputes[epoch][msg.sender].higherCutoff;\n uint256 proposerId = proposedBlocks[epoch][blockId].proposerId;\n //\n require(median > 0, \"Median can't be zero\");\n if (proposedBlocks[epoch][blockId].medians[assetId] != median ||\n proposedBlocks[epoch][blockId].lowerCutoffs[assetId] != lowerCutoff ||\n proposedBlocks[epoch][blockId].higherCutoffs[assetId] != higherCutoff) {\n proposedBlocks[epoch][blockId].valid = false;\n stakeManager.slash(proposerId, msg.sender, epoch);\n } else {\n revert(\"Proposed Alternate block is identical to proposed block\");\n }\n }\n\n function confirmBlock() public onlyRole(Constants.getBlockConfirmerHash()) {\n uint256 epoch = stateManager.getEpoch();\n \n for (uint8 i=0; i < proposedBlocks[epoch - 1].length; i++) {\n if (proposedBlocks[epoch - 1][i].valid) {\n blocks[epoch - 1] = proposedBlocks[epoch - 1][i];\n uint256 proposerId = proposedBlocks[epoch - 1][i].proposerId;\n emit BlockConfirmed(epoch - 1,\n proposerId,\n proposedBlocks[epoch - 1][i].medians,\n proposedBlocks[epoch - 1][i].lowerCutoffs,\n proposedBlocks[epoch - 1][i].higherCutoffs,\n proposedBlocks[epoch - 1][i].jobIds,\n block.timestamp);\n for (uint8 j = 0; j < proposedBlocks[epoch - 1][i].jobIds.length; j++) {\n jobManager.fulfillJob(proposedBlocks[epoch - 1][i].jobIds[j],\n proposedBlocks[epoch - 1][i].medians[j]);\n }\n stakeManager.giveBlockReward(proposerId, epoch);\n return;\n }\n }\n \n }\n\n function isElectedProposer(\n uint256 iteration,\n uint256 biggestStakerId,\n uint256 stakerId\n )\n public\n view \n returns (bool) \n { \n // generating pseudo random number (range 0..(totalstake - 1)), add (+1) to the result,\n // since prng returns 0 to max-1 and staker start from 1\n if ((Random.prng(10, stakeManager.getNumStakers(), keccak256(abi.encode(iteration)))+(1)) != stakerId) {\n return false;\n }\n bytes32 randHash = Random.prngHash(10, keccak256(abi.encode(stakerId, iteration)));\n uint256 rand = uint256(randHash)%(2**32);\n uint256 biggestStake = stakeManager.getStaker(biggestStakerId).stake;\n if (rand*(biggestStake) > stakeManager.getStaker(stakerId).stake*(2**32)) return(false);\n return true;\n }\n\n function _insertAppropriately(uint256 epoch, Structs.Block memory _block) internal {\n if (proposedBlocks[epoch].length == 0) {\n proposedBlocks[epoch].push(_block);\n return;\n }\n\n uint256 pushAt = proposedBlocks[epoch].length;\n for (uint256 i = 0; i < proposedBlocks[epoch].length; i++) {\n if (proposedBlocks[epoch][i].biggestStake < _block.biggestStake) {\n pushAt = i;\n break;\n }\n if (proposedBlocks[epoch][i].iteration > _block.iteration) {\n pushAt = i;\n break;\n }\n }\n\n proposedBlocks[epoch].push(_block);\n for (uint256 j = proposedBlocks[epoch].length - 1; j > (pushAt); j--) {\n proposedBlocks[epoch][j] = proposedBlocks[epoch][j - 1];\n }\n\n proposedBlocks[epoch][pushAt] = _block;\n\n if (proposedBlocks[epoch].length > Constants.maxAltBlocks()) {\n delete (proposedBlocks[epoch][proposedBlocks[epoch].length - 1]);\n }\n }\n\n\n}\n" - }, - "contracts/Core/interface/IJobManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\ninterface IJobManager {\n\n function createJob (string calldata url, string calldata selector, bool repeat) external;\n function fulfillJob(uint256 jobId, uint256 value) external;\n function getResult(uint256 id) external view returns(uint256);\n function getJob(\n uint256 id\n ) \n external \n view \n returns(\n string memory url,\n string memory selector,\n string memory name,\n bool repeat,\n uint256 result\n );\n}\n" - }, - "contracts/Core/storage/BlockStorage.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\n\ncontract BlockStorage {\n //epoch -> address -> dispute -> assetid\n mapping (uint256 => mapping (address => Structs.Dispute)) public disputes;\n //epoch -> proposalNumber -> block\n mapping (uint256 => Structs.Block[]) public proposedBlocks;\n mapping (uint256 => Structs.Block) public blocks;\n}\n" - }, - "contracts/lib/Random.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"./Constants.sol\";\n\n\nlibrary Random {\n\n // pseudo random number generator based on block hashes. returns 0 -> max-1\n function prng(uint8 numBlocks, uint256 max, bytes32 seed) public view returns (uint256) {\n bytes32 hash = prngHash(numBlocks, seed);\n uint256 sum = uint256(hash);\n return(sum%max);\n }\n\n // pseudo random hash generator based on block hashes.\n function prngHash(uint8 numBlocks, bytes32 seed) public view returns(bytes32) {\n bytes32 sum = blockHashes(numBlocks);\n sum = keccak256(abi.encodePacked(sum, seed));\n return(sum);\n }\n\n function blockHashes(uint8 numBlocks) public view returns(bytes32) {\n bytes32 sum;\n // start from the start of the epoch\n uint256 blockNumberEpochStart = (block.number/(Constants.epochLength()))*(Constants.epochLength());\n for (uint8 i = 1; i <= numBlocks; i++) {\n sum = keccak256(abi.encodePacked(sum, blockhash(blockNumberEpochStart - i)));\n }\n return(sum);\n }\n}\n" - }, - "contracts/Delegator.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\n\nimport \"./Core/interface/IJobManager.sol\";\n\n\ncontract Delegator {\n\n address public delegate;\n address public owner = msg.sender;\n IJobManager public jobManager;\n\n function getJob(\n uint256 id\n ) \n external\n view\n returns(\n string memory url,\n string memory selector,\n string memory name,\n bool repeat,\n uint256 result\n )\n {\n return jobManager.getJob(id);\n }\n\n function upgradeDelegate(address newDelegateAddress) public {\n require(msg.sender == owner, \"caller is not the owner\");\n delegate = newDelegateAddress;\n jobManager = IJobManager(newDelegateAddress);\n }\n\n function getResult(uint256 id) public view returns(uint256) {\n return jobManager.getResult(id);\n }\n}\n" - }, - "contracts/Core/StateManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../lib/Constants.sol\";\n\n\ncontract StateManager {\n\n function getEpoch () external view returns(uint256) {\n return(block.number/(Constants.epochLength()));\n }\n\n function getState () external view returns(uint256) {\n uint256 state = (block.number/(Constants.epochLength()/Constants.numStates()));\n return (state%(Constants.numStates()));\n }\n}\n" - } - }, - "settings": { - "optimizer": { - "enabled": true, - "runs": 1500 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers" - ], - "": [ - "ast" - ] - } - } - } - }, - "output": { - "contracts": { - "@openzeppelin/contracts/access/AccessControl.sol": { - "AccessControl": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "supportsInterface(bytes4)": "01ffc9a7" - } - } - }, - "IAccessControl": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f" - } - } - } - }, - "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "ERC20": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "amount", - "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": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2015:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "80:815:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "129:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "138:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "145:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "131:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "131:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "131:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "108:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "116:4:28", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "104:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "104:17:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "123:3:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "100:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "100:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "93:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "93:35:28" - }, - "nodeType": "YulIf", - "src": "90:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "162:23:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "178:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "172:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "172:13:28" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "166:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "194:28:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "212:2:28", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "216:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "208:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "208:10:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "220:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "204:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "204:18:28" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "198:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "245:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "247:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "247:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "247:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "237:2:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "241:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "234:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "234:10:28" - }, - "nodeType": "YulIf", - "src": "231:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "276:23:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "296:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "290:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "290:9:28" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "280:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "308:14:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "318:4:28", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "312:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "331:67:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "357:6:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "373:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "377:4:28", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "369:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "369:13:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "388:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "384:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "384:7:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "365:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "365:27:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "353:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "353:40:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "395:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "349:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "349:49:28" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "335:10:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "457:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "459:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "459:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "459:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "416:10:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "428:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "413:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "413:18:28" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "436:10:28" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "448:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "433:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "433:22:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "410:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "410:46:28" - }, - "nodeType": "YulIf", - "src": "407:2:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "495:2:28", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "499:10:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "488:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "488:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "488:22:28" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "526:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "534:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "519:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "519:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "519:18:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "583:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "592:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "599:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "585:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "585:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "585:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "560:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "568:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "556:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "556:15:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "573:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "552:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "552:24:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "578:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "549:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "549:33:28" - }, - "nodeType": "YulIf", - "src": "546:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "616:14:28", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "625:5:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "620:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "685:87:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "714:6:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "722:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "710:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "710:14:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "726:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "706:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "706:23:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "745:6:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "753:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "741:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "741:14:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "757:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "737:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "737:23:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "731:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "731:30:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "699:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "699:63:28" - }, - "nodeType": "YulExpressionStatement", - "src": "699:63:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "650:1:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "653:2:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "647:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "647:9:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "657:19:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "659:15:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "668:1:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "671:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "664:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "664:10:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "659:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "643:3:28", - "statements": [] - }, - "src": "639:133:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "802:63:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "831:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "839:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "827:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "827:15:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "844:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "823:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "823:24:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "849:5:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "816:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "816:39:28" - }, - "nodeType": "YulExpressionStatement", - "src": "816:39:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "787:1:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "790:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "784:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "784:9:28" - }, - "nodeType": "YulIf", - "src": "781:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "874:15:28", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "883:6:28" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "874:5:28" - } - ] - } - ] - }, - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "54:6:28", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "62:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "70:5:28", - "type": "" - } - ], - "src": "14:881:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1018:478:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1064:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1073:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1081:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1066:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1066:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1066:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1039:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1048:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1035:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1035:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1060:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1031:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1031:32:28" - }, - "nodeType": "YulIf", - "src": "1028:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1099:30:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1119:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1113:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1113:16:28" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1103:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1138:28:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1156:2:28", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1160:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1152:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1152:10:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1164:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1148:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1148:18:28" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1142:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1193:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1202:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1210:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1195:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1195:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1195:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1181:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1189:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1178:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1178:14:28" - }, - "nodeType": "YulIf", - "src": "1175:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1228:73:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1273:9:28" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1284:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1269:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1269:22:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1293:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1238:30:28" - }, - "nodeType": "YulFunctionCall", - "src": "1238:63:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1228:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1310:41:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1336:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1347:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1332:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1332:18:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1326:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1326:25:28" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1314:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1380:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1389:6:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1397:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1382:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1382:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1382:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1366:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1376:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1363:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1363:16:28" - }, - "nodeType": "YulIf", - "src": "1360:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1415:75:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1460:9:28" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1471:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1456:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1456:24:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1482:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1425:30:28" - }, - "nodeType": "YulFunctionCall", - "src": "1425:65:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1415:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "976:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "987:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "999:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1007:6:28", - "type": "" - } - ], - "src": "900:596:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1556:325:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1566:22:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1580:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1586:1:28", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "1576:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1576:12:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1566:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1597:38:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1627:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1633:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1623:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1623:12:28" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "1601:18:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1674:31:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1676:27:28", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1690:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1698:4:28", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1686:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1686:17:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1676:6:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1654:18:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1647:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1647:26:28" - }, - "nodeType": "YulIf", - "src": "1644:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1764:111:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1785:1:28", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1792:3:28", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1797:10:28", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1788:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1788:20:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1778:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1778:31:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1778:31:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1829:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1832:4:28", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1822:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1822:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1822:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1857:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1860:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1850:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1850:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1850:15:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1720:18:28" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1743:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1751:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1740:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1740:14:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1717:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1717:38:28" - }, - "nodeType": "YulIf", - "src": "1714:2:28" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1536:4:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1545:6:28", - "type": "" - } - ], - "src": "1501:380:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1918:95:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1935:1:28", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1942:3:28", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1947:10:28", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1938:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1938:20:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1928:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1928:31:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1928:31:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1975:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1978:4:28", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1968:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1968:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1968:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1999:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2002:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1992:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1992:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1992:15:28" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "1886:127:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let memPtr := mload(64)\n let _3 := 0x20\n let newFreePtr := add(add(memPtr, and(add(_1, 0x1f), not(31))), _3)\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n if gt(add(add(offset, _1), _3), end) { revert(array, array) }\n let i := array\n for { } lt(i, _1) { i := add(i, _3) }\n {\n mstore(add(add(memPtr, i), _3), mload(add(add(offset, i), _3)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _3), array)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(value0, value0) }\n value0 := abi_decode_t_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(value1, value1) }\n value1 := abi_decode_t_string_fromMemory(add(headStart, offset_1), dataEnd)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b5060405162000d2d38038062000d2d8339810160408190526200003491620001b9565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000273565b828054620000769062000220565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b600082601f8301126200011f578081fd5b81516001600160401b03808211156200013c576200013c6200025d565b6040516020601f8401601f19168201810183811183821017156200016457620001646200025d565b60405283825285840181018710156200017b578485fd5b8492505b838310156200019e57858301810151828401820152918201916200017f565b83831115620001af57848185840101525b5095945050505050565b60008060408385031215620001cc578182fd5b82516001600160401b0380821115620001e3578384fd5b620001f1868387016200010e565b9350602085015191508082111562000207578283fd5b5062000216858286016200010e565b9150509250929050565b6002810460018216806200023557607f821691505b602082108114156200025757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b610aaa80620002836000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610177578063a9059cbb1461018a578063dd62ed3e1461019d576100c9565b8063395093511461014957806370a082311461015c57806395d89b411461016f576100c9565b806318160ddd116100b257806318160ddd1461010c57806323b872dd14610121578063313ce56714610134576100c9565b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101b0565b6040516100e391906106ff565b60405180910390f35b6100ff6100fa3660046106cb565b610242565b6040516100e391906106f4565b61011461025f565b6040516100e391906109dd565b6100ff61012f366004610690565b610265565b61013c610305565b6040516100e391906109e6565b6100ff6101573660046106cb565b61030a565b61011461016a36600461063d565b610359565b6100d6610378565b6100ff6101853660046106cb565b610387565b6100ff6101983660046106cb565b610402565b6101146101ab36600461065e565b610416565b6060600380546101bf90610a23565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610a23565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b600061025661024f610441565b8484610445565b50600192915050565b60025490565b60006102728484846104f9565b6001600160a01b038416600090815260016020526040812081610293610441565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156102df5760405162461bcd60e51b81526004016102d690610869565b60405180910390fd5b6102fa856102eb610441565b6102f58685610a0c565b610445565b506001949350505050565b601290565b6000610256610317610441565b848460016000610325610441565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546102f591906109f4565b6001600160a01b0381166000908152602081905260409020545b919050565b6060600480546101bf90610a23565b60008060016000610396610441565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156103e25760405162461bcd60e51b81526004016102d690610980565b6103f86103ed610441565b856102f58685610a0c565b5060019392505050565b600061025661040f610441565b84846104f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661046b5760405162461bcd60e51b81526004016102d690610923565b6001600160a01b0382166104915760405162461bcd60e51b81526004016102d6906107af565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ec9085906109dd565b60405180910390a3505050565b6001600160a01b03831661051f5760405162461bcd60e51b81526004016102d6906108c6565b6001600160a01b0382166105455760405162461bcd60e51b81526004016102d690610752565b610550838383610621565b6001600160a01b038316600090815260208190526040902054818110156105895760405162461bcd60e51b81526004016102d69061080c565b6105938282610a0c565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105c99084906109f4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161061391906109dd565b60405180910390a350505050565b505050565b80356001600160a01b038116811461037357600080fd5b60006020828403121561064e578081fd5b61065782610626565b9392505050565b60008060408385031215610670578081fd5b61067983610626565b915061068760208401610626565b90509250929050565b6000806000606084860312156106a4578081fd5b6106ad84610626565b92506106bb60208501610626565b9150604084013590509250925092565b600080604083850312156106dd578182fd5b6106e683610626565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b8181101561072b5785810183015185820160400152820161070f565b8181111561073c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610a0757610a07610a5e565b500190565b600082821015610a1e57610a1e610a5e565b500390565b600281046001821680610a3757607f821691505b60208210811415610a5857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207286ecefd2ed6f67019b2664641d60f3c5b133f2cc821c3749b8063f7210fe6364736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xD2D CODESIZE SUB DUP1 PUSH3 0xD2D DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x1B9 JUMP JUMPDEST DUP2 MLOAD PUSH3 0x49 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x68 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x5F SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x68 JUMP JUMPDEST POP POP POP PUSH3 0x273 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x76 SWAP1 PUSH3 0x220 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x9A JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xE5 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xB5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xE5 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xE5 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xE5 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xC8 JUMP JUMPDEST POP PUSH3 0xF3 SWAP3 SWAP2 POP PUSH3 0xF7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0xF3 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0xF8 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x11F JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x13C JUMPI PUSH3 0x13C PUSH3 0x25D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 PUSH1 0x1F DUP5 ADD PUSH1 0x1F NOT AND DUP3 ADD DUP2 ADD DUP4 DUP2 GT DUP4 DUP3 LT OR ISZERO PUSH3 0x164 JUMPI PUSH3 0x164 PUSH3 0x25D JUMP JUMPDEST PUSH1 0x40 MSTORE DUP4 DUP3 MSTORE DUP6 DUP5 ADD DUP2 ADD DUP8 LT ISZERO PUSH3 0x17B JUMPI DUP5 DUP6 REVERT JUMPDEST DUP5 SWAP3 POP JUMPDEST DUP4 DUP4 LT ISZERO PUSH3 0x19E JUMPI DUP6 DUP4 ADD DUP2 ADD MLOAD DUP3 DUP5 ADD DUP3 ADD MSTORE SWAP2 DUP3 ADD SWAP2 PUSH3 0x17F JUMP JUMPDEST DUP4 DUP4 GT ISZERO PUSH3 0x1AF JUMPI DUP5 DUP2 DUP6 DUP5 ADD ADD MSTORE JUMPDEST POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x1CC JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x1E3 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH3 0x1F1 DUP7 DUP4 DUP8 ADD PUSH3 0x10E JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x207 JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH3 0x216 DUP6 DUP3 DUP7 ADD PUSH3 0x10E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x235 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x257 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xAAA DUP1 PUSH3 0x283 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x19D JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x16F JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x121 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x134 JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xCE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xEC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD6 PUSH2 0x1B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x6FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFF PUSH2 0xFA CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x242 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x6F4 JUMP JUMPDEST PUSH2 0x114 PUSH2 0x25F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH2 0xFF PUSH2 0x12F CALLDATASIZE PUSH1 0x4 PUSH2 0x690 JUMP JUMPDEST PUSH2 0x265 JUMP JUMPDEST PUSH2 0x13C PUSH2 0x305 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x9E6 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x157 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x30A JUMP JUMPDEST PUSH2 0x114 PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x63D JUMP JUMPDEST PUSH2 0x359 JUMP JUMPDEST PUSH2 0xD6 PUSH2 0x378 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x387 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x402 JUMP JUMPDEST PUSH2 0x114 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0x65E JUMP JUMPDEST PUSH2 0x416 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1BF SWAP1 PUSH2 0xA23 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1EB SWAP1 PUSH2 0xA23 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x238 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x20D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x238 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x21B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x24F PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x445 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x272 DUP5 DUP5 DUP5 PUSH2 0x4F9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 PUSH2 0x293 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x2DF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x869 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2FA DUP6 PUSH2 0x2EB PUSH2 0x441 JUMP JUMPDEST PUSH2 0x2F5 DUP7 DUP6 PUSH2 0xA0C JUMP JUMPDEST PUSH2 0x445 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x12 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x317 PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x325 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP12 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x2F5 SWAP2 SWAP1 PUSH2 0x9F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1BF SWAP1 PUSH2 0xA23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x396 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP9 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x3E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x980 JUMP JUMPDEST PUSH2 0x3F8 PUSH2 0x3ED PUSH2 0x441 JUMP JUMPDEST DUP6 PUSH2 0x2F5 DUP7 DUP6 PUSH2 0xA0C JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x40F PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x4F9 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 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x46B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x923 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x491 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x7AF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP5 SWAP1 SSTORE MLOAD PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x4EC SWAP1 DUP6 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x51F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x8C6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x545 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x752 JUMP JUMPDEST PUSH2 0x550 DUP4 DUP4 DUP4 PUSH2 0x621 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x589 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x80C JUMP JUMPDEST PUSH2 0x593 DUP3 DUP3 PUSH2 0xA0C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP6 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x5C9 SWAP1 DUP5 SWAP1 PUSH2 0x9F4 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x613 SWAP2 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x64E JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x657 DUP3 PUSH2 0x626 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x670 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x679 DUP4 PUSH2 0x626 JUMP JUMPDEST SWAP2 POP PUSH2 0x687 PUSH1 0x20 DUP5 ADD PUSH2 0x626 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x6A4 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x6AD DUP5 PUSH2 0x626 JUMP JUMPDEST SWAP3 POP PUSH2 0x6BB PUSH1 0x20 DUP6 ADD PUSH2 0x626 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6DD JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x6E6 DUP4 PUSH2 0x626 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72B JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x70F JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x73C JUMPI DUP4 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x22 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732061 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6C6C6F77616E6365000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x24 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xA07 JUMPI PUSH2 0xA07 PUSH2 0xA5E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xA1E JUMPI PUSH2 0xA1E PUSH2 0xA5E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xA37 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xA58 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH19 0x86ECEFD2ED6F67019B2664641D60F3C5B133F2 0xCC DUP3 SHR CALLDATACOPY 0x49 0xB8 MOD EXTCODEHASH PUSH19 0x10FE6364736F6C634300080000330000000000 ", - "sourceMap": "1279:9238:1:-:0;;;1842:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1909:13;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1932:17:1;;;;:7;;:17;;;;;:::i;:::-;;1842:114;;1279:9238;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1279:9238:1;;;-1:-1:-1;1279:9238:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:881:28;;123:3;116:4;108:6;104:17;100:27;90:2;;145:5;138;131:20;90:2;172:13;;-1:-1:-1;;;;;234:10:28;;;231:2;;;247:18;;:::i;:::-;296:2;290:9;318:4;388:2;369:13;;-1:-1:-1;;365:27:28;353:40;;349:49;;413:18;;;433:22;;;410:46;407:2;;;459:18;;:::i;:::-;495:2;488:22;519:18;;;556:15;;;552:24;;549:33;-1:-1:-1;546:2:28;;;599:5;592;585:20;546:2;625:5;616:14;;639:133;653:2;650:1;647:9;639:133;;;741:14;;;737:23;;731:30;710:14;;;706:23;;699:63;664:10;;;;639:133;;;790:2;787:1;784:9;781:2;;;849:5;844:2;839;831:6;827:15;823:24;816:39;781:2;-1:-1:-1;883:6:28;80:815;-1:-1:-1;;;;;80:815:28:o;900:596::-;;;1060:2;1048:9;1039:7;1035:23;1031:32;1028:2;;;1081:6;1073;1066:22;1028:2;1113:16;;-1:-1:-1;;;;;1178:14:28;;;1175:2;;;1210:6;1202;1195:22;1175:2;1238:63;1293:7;1284:6;1273:9;1269:22;1238:63;:::i;:::-;1228:73;;1347:2;1336:9;1332:18;1326:25;1310:41;;1376:2;1366:8;1363:16;1360:2;;;1397:6;1389;1382:22;1360:2;;1425:65;1482:7;1471:8;1460:9;1456:24;1425:65;:::i;:::-;1415:75;;;1018:478;;;;;:::o;1501:380::-;1586:1;1576:12;;1633:1;1623:12;;;1644:2;;1698:4;1690:6;1686:17;1676:27;;1644:2;1751;1743:6;1740:14;1720:18;1717:38;1714:2;;;1797:10;1792:3;1788:20;1785:1;1778:31;1832:4;1829:1;1822:15;1860:4;1857:1;1850:15;1714:2;;1556:325;;;:::o;1886:127::-;1947:10;1942:3;1938:20;1935:1;1928:31;1978:4;1975:1;1968:15;2002:4;1999:1;1992:15;1918:95;1279:9238:1;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:6219:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "65:147:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "75:29:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "97:6:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "84:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "84:20:28" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "75:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "190:16:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "199:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "202:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "192:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "192:12:28" - }, - "nodeType": "YulExpressionStatement", - "src": "192:12:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "126:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "137:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "144:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "133:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "133:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "123:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "123:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "116:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "116:73:28" - }, - "nodeType": "YulIf", - "src": "113:2:28" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "44:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "55:5:28", - "type": "" - } - ], - "src": "14:198:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "287:128:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "333:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "342:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "350:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "335:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "335:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "335:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "308:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "317:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "304:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "304:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "329:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "300:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "300:32:28" - }, - "nodeType": "YulIf", - "src": "297:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "368:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "399:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "378:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "378:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "368:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "253:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "264:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "276:6:28", - "type": "" - } - ], - "src": "217:198:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "507:187:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "553:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "562:6:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "570:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "555:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "555:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "555:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "528:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "537:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "524:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "524:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "549:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "520:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "520:32:28" - }, - "nodeType": "YulIf", - "src": "517:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "588:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "619:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "598:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "598:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "588:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "638:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "673:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "684:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "669:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "669:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "648:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "648:40:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "638:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "465:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "476:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "488:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "496:6:28", - "type": "" - } - ], - "src": "420:274:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "803:238:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "849:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "858:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "866:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "851:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "851:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "851:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "824:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "833:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "820:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "820:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "845:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "816:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "816:32:28" - }, - "nodeType": "YulIf", - "src": "813:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "884:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "915:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "894:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "894:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "884:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "934:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "969:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "980:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "965:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "965:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "944:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "944:40:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "934:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "993:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1020:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1031:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1016:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1016:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1003:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1003:32:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "993:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "753:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "764:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "776:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "784:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "792:6:28", - "type": "" - } - ], - "src": "699:342:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1133:179:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1179:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1188:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1196:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1181:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1181:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1181:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1154:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1163:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1150:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1150:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1175:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1146:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1146:32:28" - }, - "nodeType": "YulIf", - "src": "1143:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1214:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1245:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1224:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1224:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1214:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1264:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1291:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1302:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1287:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1287:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1274:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1274:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1264:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1091:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1102:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1114:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1122:6:28", - "type": "" - } - ], - "src": "1046:266:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1412:92:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1422:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1434:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1445:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1430:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1430:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1422:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1464:9:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1489:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1482:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1482:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1475:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1475:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1457:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1457:41:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1457:41:28" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1381:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1392:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1403:4:28", - "type": "" - } - ], - "src": "1317:187:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1630:482:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1640:12:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1650:2:28", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1644:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1668:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1679:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1661:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1661:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1661:21:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1691:27:28", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1711:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1705:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1705:13:28" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1695:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1738:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1749:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1734:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1734:18:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1754:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1727:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1727:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1727:34:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1770:13:28", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1779:4:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1774:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1842:90:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1871:9:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1882:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1867:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1867:17:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1886:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1863:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1863:26:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1905:6:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1913:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1901:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1901:14:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1917:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1897:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1897:23:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1891:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1891:30:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1856:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1856:66:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1856:66:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1803:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1806:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1800:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1800:13:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1814:19:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1816:15:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1825:1:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1828:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1821:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1821:10:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1816:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1796:3:28", - "statements": [] - }, - "src": "1792:140:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1966:69:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1995:9:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2006:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1991:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1991:22:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2015:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1987:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1987:31:28" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2020:4:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1980:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1980:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1980:45:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1947:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1950:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1944:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1944:13:28" - }, - "nodeType": "YulIf", - "src": "1941:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2044:62:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2060:9:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2079:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2087:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2075:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2075:15:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2096:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2092:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2092:7:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2071:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2071:29:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2056:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2056:45:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2103:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2052:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2052:54:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2044:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1599:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1610:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1621:4:28", - "type": "" - } - ], - "src": "1509:603:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2291:225:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2308:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2319:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2301:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2301:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2301:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2342:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2353:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2338:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2338:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2358:2:28", - "type": "", - "value": "35" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2331:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2331:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2331:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2381:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2392:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2377:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2377:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2397:34:28", - "type": "", - "value": "ERC20: transfer to the zero addr" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2370:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2370:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2370:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2452:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2463:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2448:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2448:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2468:5:28", - "type": "", - "value": "ess" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2441:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2441:33:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2441:33:28" - }, - { - "nodeType": "YulAssignment", - "src": "2483:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2495:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2506:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2491:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2491:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2483:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2268:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2282:4:28", - "type": "" - } - ], - "src": "2117:399:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2695:224:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2712:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2723:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2705:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2705:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2705:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2746:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2757:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2742:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2742:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2762:2:28", - "type": "", - "value": "34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2735:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2735:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2735:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2785:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2796:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2781:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2781:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2801:34:28", - "type": "", - "value": "ERC20: approve to the zero addre" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2774:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2774:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2774:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2856:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2867:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2852:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2852:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2872:4:28", - "type": "", - "value": "ss" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2845:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2845:32:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2845:32:28" - }, - { - "nodeType": "YulAssignment", - "src": "2886:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2898:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2909:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2894:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2894:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2886:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2672:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2686:4:28", - "type": "" - } - ], - "src": "2521:398:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3098:228:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3115:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3126:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3108:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3108:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3108:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3149:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3160:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3145:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3145:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3165:2:28", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3138:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3138:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3138:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3188:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3199:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3184:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3184:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3204:34:28", - "type": "", - "value": "ERC20: transfer amount exceeds b" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3177:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3177:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3177:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3259:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3270:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3255:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3255:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3275:8:28", - "type": "", - "value": "alance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3248:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3248:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3248:36:28" - }, - { - "nodeType": "YulAssignment", - "src": "3293:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3305:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3316:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3301:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3301:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3293:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3075:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3089:4:28", - "type": "" - } - ], - "src": "2924:402:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3505:230:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3522:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3533:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3515:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3515:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3515:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3556:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3567:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3552:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3552:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3572:2:28", - "type": "", - "value": "40" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3545:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3545:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3545:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3595:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3606:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3591:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3591:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3611:34:28", - "type": "", - "value": "ERC20: transfer amount exceeds a" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3584:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3584:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3584:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3666:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3677:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3662:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3662:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3682:10:28", - "type": "", - "value": "llowance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3655:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3655:38:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3655:38:28" - }, - { - "nodeType": "YulAssignment", - "src": "3702:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3714:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3725:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3710:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3710:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3702:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3482:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3496:4:28", - "type": "" - } - ], - "src": "3331:404:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3914:227:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3931:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3942:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3924:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3924:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3924:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3965:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3976:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3961:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3961:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3981:2:28", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3954:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3954:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3954:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4004:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4015:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4000:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4000:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4020:34:28", - "type": "", - "value": "ERC20: transfer from the zero ad" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3993:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3993:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3993:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4075:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4086:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4071:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4071:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4091:7:28", - "type": "", - "value": "dress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4064:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4064:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4064:35:28" - }, - { - "nodeType": "YulAssignment", - "src": "4108:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4120:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4131:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4116:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4116:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4108:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3891:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3905:4:28", - "type": "" - } - ], - "src": "3740:401:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4320:226:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4337:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4348:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4330:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4330:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4330:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4371:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4382:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4367:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4367:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4387:2:28", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4360:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4360:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4360:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4410:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4421:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4406:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4406:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4426:34:28", - "type": "", - "value": "ERC20: approve from the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4399:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4399:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4399:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4481:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4492:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4477:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4477:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4497:6:28", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4470:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4470:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4470:34:28" - }, - { - "nodeType": "YulAssignment", - "src": "4513:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4525:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4536:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4521:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4521:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4513:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4297:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4311:4:28", - "type": "" - } - ], - "src": "4146:400:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4725:227:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4742:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4753:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4735:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4735:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4735:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4776:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4787:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4772:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4772:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4792:2:28", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4765:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4765:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4765:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4815:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4826:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4811:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4811:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4831:34:28", - "type": "", - "value": "ERC20: decreased allowance below" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4804:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4804:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4804:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4886:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4897:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4882:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4882:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4902:7:28", - "type": "", - "value": " zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4875:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4875:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4875:35:28" - }, - { - "nodeType": "YulAssignment", - "src": "4919:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4931:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4942:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4927:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4927:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4919:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4702:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4716:4:28", - "type": "" - } - ], - "src": "4551:401:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5058:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5068:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5080:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5091:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5076:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5076:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5068:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5110:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5121:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5103:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5103:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5103:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5027:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5038:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5049:4:28", - "type": "" - } - ], - "src": "4957:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5236:87:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5246:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5258:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5269:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5254:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5254:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5246:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5288:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5303:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5311:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5299:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5299:17:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5281:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5281:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5281:36:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5205:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5216:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5227:4:28", - "type": "" - } - ], - "src": "5139:184:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5376:80:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5403:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "5405:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "5405:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5405:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5392:1:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5399:1:28" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "5395:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5395:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5389:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5389:13:28" - }, - "nodeType": "YulIf", - "src": "5386:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "5434:16:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5445:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5448:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5441:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5441:9:28" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "5434:3:28" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "5359:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "5362:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "5368:3:28", - "type": "" - } - ], - "src": "5328:128:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5510:76:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5532:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "5534:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "5534:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5534:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5526:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5529:1:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5523:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5523:8:28" - }, - "nodeType": "YulIf", - "src": "5520:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "5563:17:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5575:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5578:1:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5571:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5571:9:28" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "5563:4:28" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "5492:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "5495:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "5501:4:28", - "type": "" - } - ], - "src": "5461:125:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5646:382:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5656:22:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "5670:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5676:1:28", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "5666:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5666:12:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5656:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5687:38:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "5717:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5723:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5713:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5713:12:28" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "5691:18:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5764:31:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5766:27:28", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5780:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5788:4:28", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5776:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5776:17:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5766:6:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "5744:18:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5737:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5737:26:28" - }, - "nodeType": "YulIf", - "src": "5734:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5854:168:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5875:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5878:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5868:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5868:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5868:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5976:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5979:4:28", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5969:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5969:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5969:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6004:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6007:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5997:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5997:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5997:15:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "5810:18:28" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5833:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5841:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5830:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5830:14:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5807:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5807:38:28" - }, - "nodeType": "YulIf", - "src": "5804:2:28" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "5626:4:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "5635:6:28", - "type": "" - } - ], - "src": "5591:437:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6065:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6082:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6085:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6075:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6075:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6075:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6179:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6182:4:28", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6172:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6172:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6172:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6203:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6206:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6196:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6196:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6196:15:28" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "6033:184:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := abi_decode_t_address(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := abi_decode_t_address(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := tail\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 64), tail)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds a\")\n mstore(add(headStart, 96), \"llowance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610177578063a9059cbb1461018a578063dd62ed3e1461019d576100c9565b8063395093511461014957806370a082311461015c57806395d89b411461016f576100c9565b806318160ddd116100b257806318160ddd1461010c57806323b872dd14610121578063313ce56714610134576100c9565b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101b0565b6040516100e391906106ff565b60405180910390f35b6100ff6100fa3660046106cb565b610242565b6040516100e391906106f4565b61011461025f565b6040516100e391906109dd565b6100ff61012f366004610690565b610265565b61013c610305565b6040516100e391906109e6565b6100ff6101573660046106cb565b61030a565b61011461016a36600461063d565b610359565b6100d6610378565b6100ff6101853660046106cb565b610387565b6100ff6101983660046106cb565b610402565b6101146101ab36600461065e565b610416565b6060600380546101bf90610a23565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610a23565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b600061025661024f610441565b8484610445565b50600192915050565b60025490565b60006102728484846104f9565b6001600160a01b038416600090815260016020526040812081610293610441565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156102df5760405162461bcd60e51b81526004016102d690610869565b60405180910390fd5b6102fa856102eb610441565b6102f58685610a0c565b610445565b506001949350505050565b601290565b6000610256610317610441565b848460016000610325610441565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546102f591906109f4565b6001600160a01b0381166000908152602081905260409020545b919050565b6060600480546101bf90610a23565b60008060016000610396610441565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156103e25760405162461bcd60e51b81526004016102d690610980565b6103f86103ed610441565b856102f58685610a0c565b5060019392505050565b600061025661040f610441565b84846104f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661046b5760405162461bcd60e51b81526004016102d690610923565b6001600160a01b0382166104915760405162461bcd60e51b81526004016102d6906107af565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ec9085906109dd565b60405180910390a3505050565b6001600160a01b03831661051f5760405162461bcd60e51b81526004016102d6906108c6565b6001600160a01b0382166105455760405162461bcd60e51b81526004016102d690610752565b610550838383610621565b6001600160a01b038316600090815260208190526040902054818110156105895760405162461bcd60e51b81526004016102d69061080c565b6105938282610a0c565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105c99084906109f4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161061391906109dd565b60405180910390a350505050565b505050565b80356001600160a01b038116811461037357600080fd5b60006020828403121561064e578081fd5b61065782610626565b9392505050565b60008060408385031215610670578081fd5b61067983610626565b915061068760208401610626565b90509250929050565b6000806000606084860312156106a4578081fd5b6106ad84610626565b92506106bb60208501610626565b9150604084013590509250925092565b600080604083850312156106dd578182fd5b6106e683610626565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b8181101561072b5785810183015185820160400152820161070f565b8181111561073c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610a0757610a07610a5e565b500190565b600082821015610a1e57610a1e610a5e565b500390565b600281046001821680610a3757607f821691505b60208210811415610a5857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207286ecefd2ed6f67019b2664641d60f3c5b133f2cc821c3749b8063f7210fe6364736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x19D JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x16F JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x121 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x134 JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xCE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xEC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD6 PUSH2 0x1B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x6FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFF PUSH2 0xFA CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x242 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x6F4 JUMP JUMPDEST PUSH2 0x114 PUSH2 0x25F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH2 0xFF PUSH2 0x12F CALLDATASIZE PUSH1 0x4 PUSH2 0x690 JUMP JUMPDEST PUSH2 0x265 JUMP JUMPDEST PUSH2 0x13C PUSH2 0x305 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x9E6 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x157 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x30A JUMP JUMPDEST PUSH2 0x114 PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x63D JUMP JUMPDEST PUSH2 0x359 JUMP JUMPDEST PUSH2 0xD6 PUSH2 0x378 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x387 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x402 JUMP JUMPDEST PUSH2 0x114 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0x65E JUMP JUMPDEST PUSH2 0x416 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1BF SWAP1 PUSH2 0xA23 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1EB SWAP1 PUSH2 0xA23 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x238 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x20D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x238 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x21B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x24F PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x445 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x272 DUP5 DUP5 DUP5 PUSH2 0x4F9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 PUSH2 0x293 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x2DF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x869 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2FA DUP6 PUSH2 0x2EB PUSH2 0x441 JUMP JUMPDEST PUSH2 0x2F5 DUP7 DUP6 PUSH2 0xA0C JUMP JUMPDEST PUSH2 0x445 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x12 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x317 PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x325 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP12 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x2F5 SWAP2 SWAP1 PUSH2 0x9F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1BF SWAP1 PUSH2 0xA23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x396 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP9 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x3E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x980 JUMP JUMPDEST PUSH2 0x3F8 PUSH2 0x3ED PUSH2 0x441 JUMP JUMPDEST DUP6 PUSH2 0x2F5 DUP7 DUP6 PUSH2 0xA0C JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x40F PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x4F9 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 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x46B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x923 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x491 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x7AF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP5 SWAP1 SSTORE MLOAD PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x4EC SWAP1 DUP6 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x51F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x8C6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x545 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x752 JUMP JUMPDEST PUSH2 0x550 DUP4 DUP4 DUP4 PUSH2 0x621 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x589 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x80C JUMP JUMPDEST PUSH2 0x593 DUP3 DUP3 PUSH2 0xA0C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP6 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x5C9 SWAP1 DUP5 SWAP1 PUSH2 0x9F4 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x613 SWAP2 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x64E JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x657 DUP3 PUSH2 0x626 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x670 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x679 DUP4 PUSH2 0x626 JUMP JUMPDEST SWAP2 POP PUSH2 0x687 PUSH1 0x20 DUP5 ADD PUSH2 0x626 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x6A4 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x6AD DUP5 PUSH2 0x626 JUMP JUMPDEST SWAP3 POP PUSH2 0x6BB PUSH1 0x20 DUP6 ADD PUSH2 0x626 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6DD JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x6E6 DUP4 PUSH2 0x626 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72B JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x70F JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x73C JUMPI DUP4 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x22 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732061 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6C6C6F77616E6365000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x24 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xA07 JUMPI PUSH2 0xA07 PUSH2 0xA5E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xA1E JUMPI PUSH2 0xA1E PUSH2 0xA5E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xA37 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xA58 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH19 0x86ECEFD2ED6F67019B2664641D60F3C5B133F2 0xCC DUP3 SHR CALLDATACOPY 0x49 0xB8 MOD EXTCODEHASH PUSH19 0x10FE6364736F6C634300080000330000000000 ", - "sourceMap": "1279:9238:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4091:166;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3082:106::-;;;:::i;:::-;;;;;;;:::i;4724:414::-;;;;;;:::i;:::-;;:::i;2940:82::-;;;:::i;:::-;;;;;;;:::i;5533:212::-;;;;;;:::i;:::-;;:::i;3246:125::-;;;;;;:::i;:::-;;:::i;2223:93::-;;;:::i;6232:371::-;;;;;;:::i;:::-;;:::i;3574:172::-;;;;;;:::i;:::-;;:::i;3804:149::-;;;;;;:::i;:::-;;:::i;2021:89::-;2066:13;2098:5;2091:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:89;:::o;4091:166::-;4174:4;4190:39;4199:12;:10;:12::i;:::-;4213:7;4222:6;4190:8;:39::i;:::-;-1:-1:-1;4246:4:1;4091:166;;;;:::o;3082:106::-;3169:12;;3082:106;:::o;4724:414::-;4830:4;4846:36;4856:6;4864:9;4875:6;4846:9;:36::i;:::-;-1:-1:-1;;;;;4920:19:1;;4893:24;4920:19;;;:11;:19;;;;;4893:24;4940:12;:10;:12::i;:::-;-1:-1:-1;;;;;4920:33:1;-1:-1:-1;;;;;4920:33:1;;;;;;;;;;;;;4893:60;;4991:6;4971:16;:26;;4963:79;;;;-1:-1:-1;;;4963:79:1;;;;;;;:::i;:::-;;;;;;;;;5052:57;5061:6;5069:12;:10;:12::i;:::-;5083:25;5102:6;5083:16;:25;:::i;:::-;5052:8;:57::i;:::-;-1:-1:-1;5127:4:1;;4724:414;-1:-1:-1;;;;4724:414:1:o;2940:82::-;3013:2;2940:82;:::o;5533:212::-;5621:4;5637:80;5646:12;:10;:12::i;:::-;5660:7;5706:10;5669:11;:25;5681:12;:10;:12::i;:::-;-1:-1:-1;;;;;5669:25:1;;;;;;;;;;;;;;;;;-1:-1:-1;5669:25:1;;;:34;;;;;;;;;;:47;;;;:::i;3246:125::-;-1:-1:-1;;;;;3346:18:1;;3320:7;3346:18;;;;;;;;;;;3246:125;;;;:::o;2223:93::-;2270:13;2302:7;2295:14;;;;;:::i;6232:371::-;6325:4;6341:24;6368:11;:25;6380:12;:10;:12::i;:::-;-1:-1:-1;;;;;6368:25:1;;;;;;;;;;;;;;;;;-1:-1:-1;6368:25:1;;;:34;;;;;;;;;;;-1:-1:-1;6420:35:1;;;;6412:85;;;;-1:-1:-1;;;6412:85:1;;;;;;;:::i;:::-;6507:67;6516:12;:10;:12::i;:::-;6530:7;6539:34;6558:15;6539:16;:34;:::i;6507:67::-;-1:-1:-1;6592:4:1;;6232:371;-1:-1:-1;;;6232:371:1:o;3574:172::-;3660:4;3676:42;3686:12;:10;:12::i;:::-;3700:9;3711:6;3676:9;:42::i;3804:149::-;-1:-1:-1;;;;;3919:18:1;;;3893:7;3919:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3804:149::o;586:96:3:-;665:10;586:96;:::o;9496:340:1:-;-1:-1:-1;;;;;9597:19:1;;9589:68;;;;-1:-1:-1;;;9589:68:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;9675:21:1;;9667:68;;;;-1:-1:-1;;;9667:68:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;9746:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;9797:32;;;;;9776:6;;9797:32;:::i;:::-;;;;;;;;9496:340;;;:::o;7077:592::-;-1:-1:-1;;;;;7182:20:1;;7174:70;;;;-1:-1:-1;;;7174:70:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;7262:23:1;;7254:71;;;;-1:-1:-1;;;7254:71:1;;;;;;;:::i;:::-;7336:47;7357:6;7365:9;7376:6;7336:20;:47::i;:::-;-1:-1:-1;;;;;7418:17:1;;7394:21;7418:17;;;;;;;;;;;7453:23;;;;7445:74;;;;-1:-1:-1;;;7445:74:1;;;;;;;:::i;:::-;7549:22;7565:6;7549:13;:22;:::i;:::-;-1:-1:-1;;;;;7529:17:1;;;:9;:17;;;;;;;;;;;:42;;;;7581:20;;;;;;;;:30;;7605:6;;7529:9;7581:30;;7605:6;;7581:30;:::i;:::-;;;;;;;;7644:9;-1:-1:-1;;;;;7627:35:1;7636:6;-1:-1:-1;;;;;7627:35:1;;7655:6;7627:35;;;;;;:::i;:::-;;;;;;;;7077:592;;;;:::o;10423:92::-;;;;:::o;14:198:28:-;84:20;;-1:-1:-1;;;;;133:54:28;;123:65;;113:2;;202:1;199;192:12;217:198;;329:2;317:9;308:7;304:23;300:32;297:2;;;350:6;342;335:22;297:2;378:31;399:9;378:31;:::i;:::-;368:41;287:128;-1:-1:-1;;;287:128:28:o;420:274::-;;;549:2;537:9;528:7;524:23;520:32;517:2;;;570:6;562;555:22;517:2;598:31;619:9;598:31;:::i;:::-;588:41;;648:40;684:2;673:9;669:18;648:40;:::i;:::-;638:50;;507:187;;;;;:::o;699:342::-;;;;845:2;833:9;824:7;820:23;816:32;813:2;;;866:6;858;851:22;813:2;894:31;915:9;894:31;:::i;:::-;884:41;;944:40;980:2;969:9;965:18;944:40;:::i;:::-;934:50;;1031:2;1020:9;1016:18;1003:32;993:42;;803:238;;;;;:::o;1046:266::-;;;1175:2;1163:9;1154:7;1150:23;1146:32;1143:2;;;1196:6;1188;1181:22;1143:2;1224:31;1245:9;1224:31;:::i;:::-;1214:41;1302:2;1287:18;;;;1274:32;;-1:-1:-1;;;1133:179:28:o;1317:187::-;1482:14;;1475:22;1457:41;;1445:2;1430:18;;1412:92::o;1509:603::-;;1650:2;1679;1668:9;1661:21;1711:6;1705:13;1754:6;1749:2;1738:9;1734:18;1727:34;1779:4;1792:140;1806:6;1803:1;1800:13;1792:140;;;1901:14;;;1897:23;;1891:30;1867:17;;;1886:2;1863:26;1856:66;1821:10;;1792:140;;;1950:6;1947:1;1944:13;1941:2;;;2020:4;2015:2;2006:6;1995:9;1991:22;1987:31;1980:45;1941:2;-1:-1:-1;2096:2:28;2075:15;-1:-1:-1;;2071:29:28;2056:45;;;;2103:2;2052:54;;1630:482;-1:-1:-1;;;1630:482:28:o;2117:399::-;2319:2;2301:21;;;2358:2;2338:18;;;2331:30;2397:34;2392:2;2377:18;;2370:62;2468:5;2463:2;2448:18;;2441:33;2506:3;2491:19;;2291:225::o;2521:398::-;2723:2;2705:21;;;2762:2;2742:18;;;2735:30;2801:34;2796:2;2781:18;;2774:62;2872:4;2867:2;2852:18;;2845:32;2909:3;2894:19;;2695:224::o;2924:402::-;3126:2;3108:21;;;3165:2;3145:18;;;3138:30;3204:34;3199:2;3184:18;;3177:62;3275:8;3270:2;3255:18;;3248:36;3316:3;3301:19;;3098:228::o;3331:404::-;3533:2;3515:21;;;3572:2;3552:18;;;3545:30;3611:34;3606:2;3591:18;;3584:62;3682:10;3677:2;3662:18;;3655:38;3725:3;3710:19;;3505:230::o;3740:401::-;3942:2;3924:21;;;3981:2;3961:18;;;3954:30;4020:34;4015:2;4000:18;;3993:62;4091:7;4086:2;4071:18;;4064:35;4131:3;4116:19;;3914:227::o;4146:400::-;4348:2;4330:21;;;4387:2;4367:18;;;4360:30;4426:34;4421:2;4406:18;;4399:62;4497:6;4492:2;4477:18;;4470:34;4536:3;4521:19;;4320:226::o;4551:401::-;4753:2;4735:21;;;4792:2;4772:18;;;4765:30;4831:34;4826:2;4811:18;;4804:62;4902:7;4897:2;4882:18;;4875:35;4942:3;4927:19;;4725:227::o;4957:177::-;5103:25;;;5091:2;5076:18;;5058:76::o;5139:184::-;5311:4;5299:17;;;;5281:36;;5269:2;5254:18;;5236:87::o;5328:128::-;;5399:1;5395:6;5392:1;5389:13;5386:2;;;5405:18;;:::i;:::-;-1:-1:-1;5441:9:28;;5376:80::o;5461:125::-;;5529:1;5526;5523:8;5520:2;;;5534:18;;:::i;:::-;-1:-1:-1;5571:9:28;;5510:76::o;5591:437::-;5676:1;5666:12;;5723:1;5713:12;;;5734:2;;5788:4;5780:6;5776:17;5766:27;;5734:2;5841;5833:6;5830:14;5810:18;5807:38;5804:2;;;-1:-1:-1;;;5875:1:28;5868:88;5979:4;5976:1;5969:15;6007:4;6004:1;5997:15;5804:2;;5646:382;;;:::o;6033:184::-;-1:-1:-1;;;6082:1:28;6075:88;6182:4;6179:1;6172:15;6206:4;6203:1;6196:15" - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - } - } - }, - "@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": "amount", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - } - } - }, - "@openzeppelin/contracts/utils/Context.sol": { - "Context": { - "abi": [], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": {} - } - } - }, - "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { - "MerkleProof": { - "abi": [], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220393df58923e0b4b21acbb6904bf330fb8080acf82fb13d1dcb114da8c387305164736f6c63430008000033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY RETURNDATASIZE CREATE2 DUP10 0x23 0xE0 0xB4 0xB2 BYTE 0xCB 0xB6 SWAP1 0x4B RETURN ADDRESS 0xFB DUP1 DUP1 0xAC 0xF8 0x2F 0xB1 RETURNDATASIZE SAR 0xCB GT 0x4D 0xA8 0xC3 DUP8 ADDRESS MLOAD PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "143:1135:4:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;143:1135:4;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220393df58923e0b4b21acbb6904bf330fb8080acf82fb13d1dcb114da8c387305164736f6c63430008000033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY RETURNDATASIZE CREATE2 DUP10 0x23 0xE0 0xB4 0xB2 BYTE 0xCB 0xB6 SWAP1 0x4B RETURN ADDRESS 0xFB DUP1 DUP1 0xAC 0xF8 0x2F 0xB1 RETURNDATASIZE SAR 0xCB GT 0x4D 0xA8 0xC3 DUP8 ADDRESS MLOAD PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "143:1135:4:-:0;;;;;;;;" - }, - "methodIdentifiers": {} - } - } - }, - "@openzeppelin/contracts/utils/introspection/ERC165.sol": { - "ERC165": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "supportsInterface(bytes4)": "01ffc9a7" - } - } - } - }, - "@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": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "supportsInterface(bytes4)": "01ffc9a7" - } - } - } - }, - "contracts/Core/ACL.sol": { - "ACL": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5061001c600033610021565b6100e1565b61002b828261002f565b5050565b61003982826100b4565b61002b576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556100706100dd565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b6105c1806100f06000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806336568abe1161005b57806336568abe146100e057806391d14854146100f3578063a217fddf14610106578063d547741f1461010e5761007d565b806301ffc9a714610082578063248a9ca3146100ab5780632f2ff15d146100cb575b600080fd5b610095610090366004610419565b610121565b6040516100a29190610460565b60405180910390f35b6100be6100b93660046103c7565b61017d565b6040516100a2919061046b565b6100de6100d93660046103df565b610192565b005b6100de6100ee3660046103df565b6101d9565b6100956101013660046103df565b61021b565b6100be610244565b6100de61011c3660046103df565b610249565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610177575061017782610271565b92915050565b60009081526020819052604090206001015490565b6101a661019e8361017d565b6101016102bb565b6101cb5760405162461bcd60e51b81526004016101c290610474565b60405180910390fd5b6101d582826102bf565b5050565b6101e16102bb565b6001600160a01b0316816001600160a01b0316146102115760405162461bcd60e51b81526004016101c29061052e565b6101d58282610344565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600081565b61025561019e8361017d565b6102115760405162461bcd60e51b81526004016101c2906104d1565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6102c9828261021b565b6101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556103006102bb565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61034e828261021b565b156101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556103836102bb565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000602082840312156103d8578081fd5b5035919050565b600080604083850312156103f1578081fd5b8235915060208301356001600160a01b038116811461040e578182fd5b809150509250929050565b60006020828403121561042a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610459578182fd5b9392505050565b901515815260200190565b90815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c66000000000000000000000000000000000060608201526080019056fea264697066735822122052194242fa616a47d22c5ba3193f772cb8ab18f1d91db9bec936706856bd14c764736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C PUSH1 0x0 CALLER PUSH2 0x21 JUMP JUMPDEST PUSH2 0xE1 JUMP JUMPDEST PUSH2 0x2B DUP3 DUP3 PUSH2 0x2F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x39 DUP3 DUP3 PUSH2 0xB4 JUMP JUMPDEST PUSH2 0x2B JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x70 PUSH2 0xDD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x5C1 DUP1 PUSH2 0xF0 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x36568ABE GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0xF3 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x106 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x10E JUMPI PUSH2 0x7D JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0xAB JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0xCB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x419 JUMP JUMPDEST PUSH2 0x121 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x460 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBE PUSH2 0xB9 CALLDATASIZE PUSH1 0x4 PUSH2 0x3C7 JUMP JUMPDEST PUSH2 0x17D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x46B JUMP JUMPDEST PUSH2 0xDE PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x192 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xDE PUSH2 0xEE CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x1D9 JUMP JUMPDEST PUSH2 0x95 PUSH2 0x101 CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x21B JUMP JUMPDEST PUSH2 0xBE PUSH2 0x244 JUMP JUMPDEST PUSH2 0xDE PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x249 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x177 JUMPI POP PUSH2 0x177 DUP3 PUSH2 0x271 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x19E DUP4 PUSH2 0x17D JUMP JUMPDEST PUSH2 0x101 PUSH2 0x2BB JUMP JUMPDEST PUSH2 0x1CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x474 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1D5 DUP3 DUP3 PUSH2 0x2BF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x211 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x52E JUMP JUMPDEST PUSH2 0x1D5 DUP3 DUP3 PUSH2 0x344 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x255 PUSH2 0x19E DUP4 PUSH2 0x17D JUMP JUMPDEST PUSH2 0x211 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x4D1 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x2C9 DUP3 DUP3 PUSH2 0x21B JUMP JUMPDEST PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x300 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x34E DUP3 DUP3 PUSH2 0x21B JUMP JUMPDEST ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x383 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3F1 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x40E JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x42A JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x459 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSTORE NOT TIMESTAMP TIMESTAMP STATICCALL PUSH2 0x6A47 0xD2 0x2C JUMPDEST LOG3 NOT EXTCODEHASH PUSH24 0x2CB8AB18F1D91DB9BEC936706856BD14C764736F6C634300 ADDMOD STOP STOP CALLER ", - "sourceMap": "156:243:7:-:0;;;192:73;;;;;;;;;-1:-1:-1;216:42:7;2408:4:0;247:10:7;216;:42::i;:::-;156:243;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;6952:224::-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;3867:137::-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;586:96:3:-;665:10;586:96;:::o;156:243:7:-;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2588:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "132:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "132:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:28" - }, - "nodeType": "YulIf", - "src": "94:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "165:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "188:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "175:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "175:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "165:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:28", - "type": "" - } - ], - "src": "14:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "296:310:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "342:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "351:6:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "359:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "344:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "344:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "344:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "317:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "326:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "313:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "313:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "338:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "309:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "309:32:28" - }, - "nodeType": "YulIf", - "src": "306:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "377:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "400:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "387:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "387:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "377:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "419:45:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "449:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "460:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "445:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "445:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "432:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "432:32:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "423:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "550:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "559:6:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "567:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "552:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "552:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "552:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "486:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "497:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "504:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "493:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "493:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "483:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "483:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "476:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "476:73:28" - }, - "nodeType": "YulIf", - "src": "473:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "585:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "595:5:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "585:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "254:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "265:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "277:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "285:6:28", - "type": "" - } - ], - "src": "209:397:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "680:283:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "726:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "735:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "743:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "728:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "728:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "728:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "701:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "710:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "697:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "697:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "722:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "693:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "693:32:28" - }, - "nodeType": "YulIf", - "src": "690:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "761:36:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "787:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "774:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "774:23:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "765:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "907:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "916:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "924:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "909:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "909:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "909:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "819:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "830:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "837:66:28", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "826:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "826:78:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "816:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "816:89:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "809:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "809:97:28" - }, - "nodeType": "YulIf", - "src": "806:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "942:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "952:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "942:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "646:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "657:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "669:6:28", - "type": "" - } - ], - "src": "611:352:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1063:92:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1073:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1085:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1096:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1081:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1081:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1073:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1115:9:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1140:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1133:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1133:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1126:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1126:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1108:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1108:41:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1108:41:28" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1032:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1043:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1054:4:28", - "type": "" - } - ], - "src": "968:187:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1261:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1271:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1283:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1294:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1279:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1279:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1271:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1313:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1324:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1306:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1306:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1306:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1230:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1241:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1252:4:28", - "type": "" - } - ], - "src": "1160:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1516:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1533:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1544:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1526:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1526:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1526:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1567:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1578:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1563:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1563:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1583:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1556:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1556:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1556:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1606:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1617:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1602:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1602:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "1622:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1595:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1595:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1595:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1677:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1688:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1673:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1673:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "1693:17:28", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1666:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1666:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1666:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "1720:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1732:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1743:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1728:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1728:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1720:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1493:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1507:4:28", - "type": "" - } - ], - "src": "1342:411:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1932:238:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1949:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1960:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1942:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1942:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1942:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1983:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1994:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1979:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1979:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1999:2:28", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1972:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1972:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1972:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2022:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2033:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2018:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2018:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2038:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2011:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2011:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2011:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2093:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2104:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2089:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2089:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2109:18:28", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2082:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2082:46:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2082:46:28" - }, - { - "nodeType": "YulAssignment", - "src": "2137:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2149:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2160:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2145:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2145:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2137:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1909:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1923:4:28", - "type": "" - } - ], - "src": "1758:412:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2349:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2366:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2377:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2359:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2359:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2359:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2400:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2411:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2396:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2396:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2416:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2389:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2389:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2389:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2439:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2450:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2435:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2435:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2455:34:28", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2428:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2428:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2428:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2510:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2521:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2506:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2506:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2526:17:28", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2499:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2499:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2499:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "2553:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2565:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2576:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2561:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2561:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2553:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2326:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2340:4:28", - "type": "" - } - ], - "src": "2175:411:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value1, value1) }\n value1 := value\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506004361061007d5760003560e01c806336568abe1161005b57806336568abe146100e057806391d14854146100f3578063a217fddf14610106578063d547741f1461010e5761007d565b806301ffc9a714610082578063248a9ca3146100ab5780632f2ff15d146100cb575b600080fd5b610095610090366004610419565b610121565b6040516100a29190610460565b60405180910390f35b6100be6100b93660046103c7565b61017d565b6040516100a2919061046b565b6100de6100d93660046103df565b610192565b005b6100de6100ee3660046103df565b6101d9565b6100956101013660046103df565b61021b565b6100be610244565b6100de61011c3660046103df565b610249565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610177575061017782610271565b92915050565b60009081526020819052604090206001015490565b6101a661019e8361017d565b6101016102bb565b6101cb5760405162461bcd60e51b81526004016101c290610474565b60405180910390fd5b6101d582826102bf565b5050565b6101e16102bb565b6001600160a01b0316816001600160a01b0316146102115760405162461bcd60e51b81526004016101c29061052e565b6101d58282610344565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600081565b61025561019e8361017d565b6102115760405162461bcd60e51b81526004016101c2906104d1565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6102c9828261021b565b6101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556103006102bb565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61034e828261021b565b156101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556103836102bb565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000602082840312156103d8578081fd5b5035919050565b600080604083850312156103f1578081fd5b8235915060208301356001600160a01b038116811461040e578182fd5b809150509250929050565b60006020828403121561042a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610459578182fd5b9392505050565b901515815260200190565b90815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c66000000000000000000000000000000000060608201526080019056fea264697066735822122052194242fa616a47d22c5ba3193f772cb8ab18f1d91db9bec936706856bd14c764736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x36568ABE GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0xF3 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x106 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x10E JUMPI PUSH2 0x7D JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0xAB JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0xCB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x419 JUMP JUMPDEST PUSH2 0x121 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x460 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBE PUSH2 0xB9 CALLDATASIZE PUSH1 0x4 PUSH2 0x3C7 JUMP JUMPDEST PUSH2 0x17D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x46B JUMP JUMPDEST PUSH2 0xDE PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x192 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xDE PUSH2 0xEE CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x1D9 JUMP JUMPDEST PUSH2 0x95 PUSH2 0x101 CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x21B JUMP JUMPDEST PUSH2 0xBE PUSH2 0x244 JUMP JUMPDEST PUSH2 0xDE PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x249 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x177 JUMPI POP PUSH2 0x177 DUP3 PUSH2 0x271 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x19E DUP4 PUSH2 0x17D JUMP JUMPDEST PUSH2 0x101 PUSH2 0x2BB JUMP JUMPDEST PUSH2 0x1CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x474 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1D5 DUP3 DUP3 PUSH2 0x2BF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x211 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x52E JUMP JUMPDEST PUSH2 0x1D5 DUP3 DUP3 PUSH2 0x344 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x255 PUSH2 0x19E DUP4 PUSH2 0x17D JUMP JUMPDEST PUSH2 0x211 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x4D1 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x2C9 DUP3 DUP3 PUSH2 0x21B JUMP JUMPDEST PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x300 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x34E DUP3 DUP3 PUSH2 0x21B JUMP JUMPDEST ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x383 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3F1 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x40E JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x42A JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x459 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSTORE NOT TIMESTAMP TIMESTAMP STATICCALL PUSH2 0x6A47 0xD2 0x2C JUMPDEST LOG3 NOT EXTCODEHASH PUSH24 0x2CB8AB18F1D91DB9BEC936706856BD14C764736F6C634300 ADDMOD STOP STOP CALLER ", - "sourceMap": "156:243:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4185:121;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4556:228::-;;;;;;:::i;:::-;;:::i;:::-;;5740:214;;;;;;:::i;:::-;;:::i;3867:137::-;;;;;;:::i;:::-;;:::i;2363:49::-;;;:::i;5018:231::-;;;;;;:::i;:::-;;:::i;3566:214::-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;3566:214;-1:-1:-1;;3566:214:0:o;4185:121::-;4251:7;4277:12;;;;;;;;;;:22;;;;4185:121::o;4556:228::-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;;;;;;;;;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;5740:214::-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;3867:137::-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;2363:49::-;2408:4;2363:49;:::o;5018:231::-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;586:96:3:-;665:10;586:96;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;14:190:28:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;-1:-1:-1;175:23:28;;84:120;-1:-1:-1;84:120:28:o;209:397::-;;;338:2;326:9;317:7;313:23;309:32;306:2;;;359:6;351;344:22;306:2;400:9;387:23;377:33;;460:2;449:9;445:18;432:32;-1:-1:-1;;;;;497:5:28;493:54;486:5;483:65;473:2;;567:6;559;552:22;473:2;595:5;585:15;;;296:310;;;;;:::o;611:352::-;;722:2;710:9;701:7;697:23;693:32;690:2;;;743:6;735;728:22;690:2;787:9;774:23;837:66;830:5;826:78;819:5;816:89;806:2;;924:6;916;909:22;806:2;952:5;680:283;-1:-1:-1;;;680:283:28:o;968:187::-;1133:14;;1126:22;1108:41;;1096:2;1081:18;;1063:92::o;1160:177::-;1306:25;;;1294:2;1279:18;;1261:76::o;1342:411::-;1544:2;1526:21;;;1583:2;1563:18;;;1556:30;1622:34;1617:2;1602:18;;1595:62;1693:17;1688:2;1673:18;;1666:45;1743:3;1728:19;;1516:237::o;1758:412::-;1960:2;1942:21;;;1999:2;1979:18;;;1972:30;2038:34;2033:2;2018:18;;2011:62;2109:18;2104:2;2089:18;;2082:46;2160:3;2145:19;;1932:238::o;2175:411::-;2377:2;2359:21;;;2416:2;2396:18;;;2389:30;2455:34;2450:2;2435:18;;2428:62;2526:17;2521:2;2506:18;;2499:45;2576:3;2561:19;;2349:237::o" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "supportsInterface(bytes4)": "01ffc9a7" - } - } - } - }, - "contracts/Core/BlockManager.sol": { - "BlockManager": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "BlockConfirmed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Proposed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "blocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "confirmBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "disputes", - "outputs": [ - { - "internalType": "uint256", - "name": "accWeight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "median", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lowerCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "higherCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastVisited", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blockId", - "type": "uint256" - } - ], - "name": "finalizeDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getHigherCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getLowerCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getNumProposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - }, - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "sorted", - "type": "uint256[]" - } - ], - "name": "giveSorted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_voteManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_jobManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "isElectedProposer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "jobManager", - "outputs": [ - { - "internalType": "contract IJobManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - } - ], - "name": "propose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "resetDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeManager", - "outputs": [ - { - "internalType": "contract IStakeManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "voteManager", - "outputs": [ - { - "internalType": "contract IVoteManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 2096 - }, - { - "length": 20, - "start": 2583 - }, - { - "length": 20, - "start": 4457 - }, - { - "length": 20, - "start": 5878 - }, - { - "length": 20, - "start": 7671 - }, - { - "length": 20, - "start": 8268 - }, - { - "length": 20, - "start": 12303 - } - ] - }, - "contracts/lib/Random.sol": { - "Random": [ - { - "length": 20, - "start": 3172 - }, - { - "length": 20, - "start": 3509 - } - ] - } - }, - "object": "60806040523480156200001157600080fd5b506200001f60003362000025565b620000ec565b62000031828262000035565b5050565b620000418282620000bf565b62000031576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200007b620000e8565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b613e6380620000fc6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80635ce8772f116100f9578063a27ce1ef11610097578063d547741f11610071578063d547741f146103cd578063e38c7c42146103e0578063f25b3f99146103f3578063fae4425d14610406576101c4565b8063a27ce1ef14610384578063d1a4a43d146103a7578063d2a4669a146103ba576101c4565b806391d14854116100d357806391d148541461033e57806392b48411146103515780639b87f64414610374578063a217fddf1461037c576101c4565b80635ce8772f146102fe5780637542ff9514610311578063828496d614610319576101c4565b80632f2ff15d116101665780633cd32fd4116101405780633cd32fd4146102c85780633df395a3146102db57806342c1e587146102e35780634e6753b7146102eb576101c4565b80632f2ff15d1461028257806336568abe14610295578063378ab9a9146102a8576101c4565b806317d99c04116101a257806317d99c04146102275780631d69ff9b1461023a578063248a9ca31461024d5780632e716fb11461026d576101c4565b806301ffc9a7146101c957806304c07569146101f257806306552ff314610212575b600080fd5b6101dc6101d73660046133af565b610419565b6040516101e9919061373d565b60405180910390f35b610205610200366004613350565b610477565b6040516101e99190613b2e565b6102256102203660046132f5565b610627565b005b610225610235366004613485565b61068f565b6101dc6102483660046135b9565b610b63565b61026061025b366004613350565b610ec8565b6040516101e99190613748565b610275610edd565b6040516101e99190613716565b610225610290366004613380565b610eec565b6102256102a3366004613380565b610f2a565b6102bb6102b6366004613350565b610f6c565b6040516101e9919061372a565b6102256102d636600461354a565b610fd1565b610275611540565b61027561154f565b6102256102f936600461356b565b61155e565b61022561030c366004613350565b611c5f565b610275611e8f565b61032c610327366004613380565b611e9e565b6040516101e996959493929190613ce6565b6101dc61034c366004613380565b611edc565b61036461035f36600461354a565b611f05565b6040516101e99493929190613cc9565b610225611f4e565b61026061263b565b61039761039236600461354a565b612640565b6040516101e99493929190613b41565b6102bb6103b536600461354a565b612848565b6102bb6103c8366004613350565b6128e2565b6102256103db366004613380565b612945565b6102606103ee366004613350565b61296d565b610364610401366004613350565b61297f565b6102bb610414366004613350565b6129a9565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061046f575061046f82612a0c565b90505b919050565b61047f613151565b60008281526003602090815260409182902082516101008101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156104ec57602002820191906000526020600020905b8154815260200190600101908083116104d8575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561054457602002820191906000526020600020905b815481526020019060010190808311610530575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561059c57602002820191906000526020600020905b815481526020019060010190808311610588575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156105f457602002820191906000526020600020905b8154815260200190600101908083116105e0575b5050509183525050600582015460208201526006820154604082015260079091015460ff16151560609091015292915050565b600480546001600160a01b039586167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556005805494861694821694909417909355600680549285169284169290921790915560078054919093169116179055565b60055460408051630eaf323560e31b8152905189926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156106d357600080fd5b505afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b9190613368565b81146107325760405162461bcd60e51b8152600401610729906138cd565b60405180910390fd5b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63c198f8ba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561077657600080fd5b505af415801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae91906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108379190613368565b81146108555760405162461bcd60e51b815260040161072990613a9a565b600480546040517f6022a4850000000000000000000000000000000000000000000000000000000081526000926001600160a01b0390921691636022a485916108a091339101613716565b60206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190613368565b90506108fd858583610b63565b6109195760405162461bcd60e51b815260040161072990613839565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561095d57600080fd5b505af4158015610971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109959190613368565b600480546040516371e4cc7f60e11b81526001600160a01b039091169163e3c998fe916109c491869101613748565b6101006040518083038186803b1580156109dd57600080fd5b505afa1580156109f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1591906133ef565b604001511015610a375760405162461bcd60e51b815260040161072990613a06565b610b108a6040518061010001604052808481526020018c81526020018b81526020018a8152602001898152602001888152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e3c998fe896040518263ffffffff1660e01b8152600401610aac9190613748565b6101006040518083038186803b158015610ac557600080fd5b505afa158015610ad9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afd91906133ef565b6040015181526001602090910152612a56565b7fee036cc96c88163f353feaa4d497e88baaebeb631f40ad9b8a6d51bb6fad40768a828b8b8b8b8b8b42604051610b4f99989796959493929190613bc6565b60405180910390a150505050505050505050565b60008173__$3b76b38140ea5d8f6a5a565441556589de$__635075dbfb600a600460009054906101000a90046001600160a01b03166001600160a01b031663bc788d466040518163ffffffff1660e01b815260040160206040518083038186803b158015610bd057600080fd5b505afa158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c089190613368565b88604051602001610c199190613748565b604051602081830303815290604052805190602001206040518463ffffffff1660e01b8152600401610c4d93929190613764565b60206040518083038186803b158015610c6557600080fd5b505af4158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190613368565b610ca8906001613d0e565b14610cb557506000610ec1565b600073__$3b76b38140ea5d8f6a5a565441556589de$__63b07ceab8600a8588604051602001610ce6929190613bb8565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610d19929190613751565b60206040518083038186803b158015610d3157600080fd5b505af4158015610d45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d699190613368565b90506000610d7c64010000000083613dc2565b600480546040516371e4cc7f60e11b81529293506000926001600160a01b039091169163e3c998fe91610db1918a9101613748565b6101006040518083038186803b158015610dca57600080fd5b505afa158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0291906133ef565b6040908101516004805492516371e4cc7f60e11b81529193506001600160a01b039092169163e3c998fe91610e3991899101613748565b6101006040518083038186803b158015610e5257600080fd5b505afa158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a91906133ef565b60400151610e9d90640100000000613d3a565b610ea78284613d3a565b1115610eb95760009350505050610ec1565b600193505050505b9392505050565b60009081526020819052604090206001015490565b6005546001600160a01b031681565b610f00610ef883610ec8565b61034c613045565b610f1c5760405162461bcd60e51b81526004016107299061377f565b610f268282613049565b5050565b610f32613045565b6001600160a01b0316816001600160a01b031614610f625760405162461bcd60e51b815260040161072990613ad1565b610f2682826130ce565b600081815260036020908152604091829020600201805483518184028101840190945280845260609392830182828015610fc557602002820191906000526020600020905b815481526020019060010190808311610fb1575b50505050509050919050565b60055460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561101557600080fd5b505afa158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d9190613368565b811461106b5760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b1580156110af57600080fd5b505af41580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e791906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561113857600080fd5b505afa15801561114c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111709190613368565b811461118e5760405162461bcd60e51b815260040161072990613a9a565b60008481526001602090815260408083203384529091529081902060050154600654915163a6a145d960e01b815290916001600160a01b03169063a6a145d9906111de9088908590600401613bb8565b60206040518083038186803b1580156111f657600080fd5b505afa15801561120a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122e9190613368565b6000868152600160209081526040808320338452909152902054146112655760405162461bcd60e51b815260040161072990613a3d565b60008581526001602081815260408084203385528252808420928301546002808501546003909501548b875293529084208054919491899081106112b957634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600001549050600084116112ed5760405162461bcd60e51b81526004016107299061393b565b600089815260026020526040902080548591908a90811061131e57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201868154811061134e57634e487b7160e01b600052603260045260246000fd5b90600052602060002001541415806113d05750600089815260026020526040902080548491908a90811061139257634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160030186815481106113c257634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b806114455750600089815260026020526040902080548391908a90811061140757634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600401868154811061143757634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b1561151d57600089815260026020526040812080548a90811061147857634e487b7160e01b600052603260045260246000fd5b60009182526020909120600890910201600701805460ff1916911515919091179055600480546040517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911691630f91ce19916114e691859133918f9101613b99565b600060405180830381600087803b15801561150057600080fd5b505af1158015611514573d6000803e3d6000fd5b50505050611535565b60405162461bcd60e51b8152600401610729906139a9565b505050505050505050565b6007546001600160a01b031681565b6006546001600160a01b031681565b60055460408051630eaf323560e31b8152905185926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156115a257600080fd5b505afa1580156115b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115da9190613368565b81146115f85760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b15801561163c57600080fd5b505af4158015611650573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167491906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116c557600080fd5b505afa1580156116d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fd9190613368565b811461171b5760405162461bcd60e51b815260040161072990613a9a565b60065460405163a6a145d960e01b81526000916002916001600160a01b039091169063a6a145d990611753908a908a90600401613bb8565b60206040518083038186803b15801561176b57600080fd5b505afa15801561177f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a39190613368565b6117ad9190613d26565b60065460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d9906117e5908b908b908601613bb8565b60206040518083038186803b1580156117fd57600080fd5b505afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118359190613368565b61183f9190613d26565b60065460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611877908c908c908601613bb8565b60206040518083038186803b15801561188f57600080fd5b505afa1580156118a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c79190613368565b6118d2906003613d3a565b6118dc9190613d26565b600089815260016020908152604080832033845290915290208054600490910154919250908161192a5760008a81526001602090815260408083203384529091529020600501899055611965565b60008a815260016020908152604080832033845290915290206005015489146119655760405162461bcd60e51b815260040161072990613972565b60005b8851811015611c30578189828151811061199257634e487b7160e01b600052603260045260246000fd5b6020026020010151116119b75760405162461bcd60e51b8152600401610729906137dc565b8881815181106119d757634e487b7160e01b600052603260045260246000fd5b60200260200101519150600660009054906101000a90046001600160a01b03166001600160a01b0316639c66556f8c8c8c8581518110611a2757634e487b7160e01b600052603260045260246000fd5b60200260200101516040518463ffffffff1660e01b8152600401611a4d93929190613cb3565b60206040518083038186803b158015611a6557600080fd5b505afa158015611a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9d9190613368565b611aa79084613d0e565b60008c8152600160209081526040808320338452909152902060020154909350158015611ad45750848310155b15611b2257888181518110611af957634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018352604080822033835290935291909120600201555b60008b81526001602081815260408084203385529091529091200154158015611b4a57508583115b15611b9857888181518110611b6f57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018084526040808320338452909452929020909101555b60008b8152600160209081526040808320338452909152902060030154158015611bc157508383115b15611c0f57888181518110611be657634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018352604080822033835290935291909120600301555b6127105a1015611c1e57611c30565b80611c2881613d87565b915050611968565b506000998a52600160209081526040808c20338d52909152909920600481019990995590975550505050505050565b60055460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015611ca357600080fd5b505afa158015611cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdb9190613368565b8114611cf95760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b158015611d3d57600080fd5b505af4158015611d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7591906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc657600080fd5b505afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfe9190613368565b8114611e1c5760405162461bcd60e51b815260040161072990613a9a565b50506040805160c08101825260008082526020808301828152838501838152606085018481526080860185815260a0870186815298865260018086528887203388529095529690942094518555905191840191909155516002830155516003820155905160048201559051600590910155565b6004546001600160a01b031681565b600160208181526000938452604080852090915291835291208054918101546002820154600383015460048401546005909401549293919290919086565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60026020528160005260406000208181548110611f2157600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63d98b3ced6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f9257600080fd5b505af4158015611fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fca9190613368565b611fd48133611edc565b611ff05760405162461bcd60e51b815260040161072990613904565b60055460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561203557600080fd5b505afa158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206d9190613368565b905060005b60026000612081600185613d59565b815260208101919091526040016000205460ff8216101561263557600260006120ab600185613d59565b81526020019081526020016000208160ff16815481106120db57634e487b7160e01b600052603260045260246000fd5b600091825260209091206007600890920201015460ff16156126235760026000612106600185613d59565b81526020019081526020016000208160ff168154811061213657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600360006001856121559190613d59565b81526020810191909152604001600020815481556001808301805461217d9284019190613198565b50600282810180546121929284019190613198565b50600382810180546121a79284019190613198565b50600482810180546121bc9284019190613198565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905560006002816121fc600186613d59565b81526020019081526020016000208260ff168154811061222c57634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102015490507f5ef264ae9101b91bd7117350c5e85901297fa0569e7a3e07eb7ec0a6281529f061226b600185613d59565b826002600061227b600189613d59565b81526020019081526020016000208560ff16815481106122ab57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201600260006001896122cd9190613d59565b81526020019081526020016000208660ff16815481106122fd57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016003016002600060018a61231f9190613d59565b81526020019081526020016000208760ff168154811061234f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016004016002600060018b6123719190613d59565b81526020019081526020016000208860ff16815481106123a157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101426040516123c69796959493929190613c45565b60405180910390a160005b600260006123e0600187613d59565b81526020019081526020016000208360ff168154811061241057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101805490508160ff16101561259e576007546001600160a01b03166356350bdf6002600061244f600189613d59565b81526020019081526020016000208560ff168154811061247f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016001018360ff16815481106124b257634e487b7160e01b600052603260045260246000fd5b9060005260206000200154600260006001896124ce9190613d59565b81526020019081526020016000208660ff16815481106124fe57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018460ff168154811061253157634e487b7160e01b600052603260045260246000fd5b90600052602060002001546040518363ffffffff1660e01b8152600401612559929190613bb8565b600060405180830381600087803b15801561257357600080fd5b505af1158015612587573d6000803e3d6000fd5b50505050808061259690613da2565b9150506123d1565b50600480546040517f746c8b650000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163746c8b65916125e9918591889101613bb8565b600060405180830381600087803b15801561260357600080fd5b505af1158015612617573d6000803e3d6000fd5b50505050505050612638565b8061262d81613da2565b915050612072565b50505b50565b600081565b612648613151565b606080606060026000878152602001908152602001600020858154811061267f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016040518061010001604052908160008201548152602001600182018054806020026020016040519081016040528092919081815260200182805480156126f257602002820191906000526020600020905b8154815260200190600101908083116126de575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561274a57602002820191906000526020600020905b815481526020019060010190808311612736575b50505050508152602001600382018054806020026020016040519081016040528092919081815260200182805480156127a257602002820191906000526020600020905b81548152602001906001019080831161278e575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156127fa57602002820191906000526020600020905b8154815260200190600101908083116127e6575b505050918352505060058201546020820152600682015460408083019190915260079092015460ff161515606091820152908201519082015160808301519299919850965090945092505050565b60008281526002602052604090208054606091908390811061287a57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018054806020026020016040519081016040528092919081815260200182805480156128d557602002820191906000526020600020905b8154815260200190600101908083116128c1575b5050505050905092915050565b600081815260036020818152604092839020909101805483518184028101840190945280845260609392830182828015610fc55760200282019190600052602060002090815481526020019060010190808311610fb15750505050509050919050565b612951610ef883610ec8565b610f625760405162461bcd60e51b815260040161072990613870565b60009081526002602052604090205490565b60036020526000908152604090208054600582015460068301546007909301549192909160ff1684565b600081815260036020908152604091829020600401805483518184028101840190945280845260609392830182828015610fc55760200282019190600052602060002090815481526020019060010190808311610fb15750505050509050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600082815260026020526040902054612b335760008281526002602090815260408220805460018181018355918452928290208451600890940201928355838201518051859493612aab9385019201906131e8565b5060408201518051612ac79160028401916020909101906131e8565b5060608201518051612ae39160038401916020909101906131e8565b5060808201518051612aff9160048401916020909101906131e8565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055610f26565b600082815260026020526040812054905b600084815260026020526040902054811015612c125760c08301516000858152600260205260409020805483908110612b8d57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600601541015612bad57809150612c12565b60a08301516000858152600260205260409020805483908110612be057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600501541115612c0057809150612c12565b80612c0a81613d87565b915050612b44565b5060008381526002602090815260408220805460018181018355918452928290208551600890940201928355848201518051869493612c559385019201906131e8565b5060408201518051612c719160028401916020909101906131e8565b5060608201518051612c8d9160038401916020909101906131e8565b5060808201518051612ca99160048401916020909101906131e8565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055600083815260026020526040812054612cf390600190613d59565b90505b81811115612e1f576000848152600260205260409020612d17600183613d59565b81548110612d3557634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600260008681526020019081526020016000208281548110612d7557634e487b7160e01b600052603260045260246000fd5b60009182526020909120825460089092020190815560018083018054612d9e9284019190613198565b5060028281018054612db39284019190613198565b5060038281018054612dc89284019190613198565b5060048281018054612ddd9284019190613198565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905580612e1781613d70565b915050612cf6565b506000838152600260205260409020805483919083908110612e5157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600082015181600001556020820151816001019080519060200190612e859291906131e8565b5060408201518051612ea19160028401916020909101906131e8565b5060608201518051612ebd9160038401916020909101906131e8565b5060808201518051612ed99160048401916020909101906131e8565b5060a0820151816005015560c0820151816006015560e08201518160070160006101000a81548160ff02191690831515021790555090505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63379597e06040518163ffffffff1660e01b815260040160206040518083038186803b158015612f5557600080fd5b505af4158015612f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f8d9190613368565b60008481526002602052604090205411156126355760008381526002602052604090208054612fbe90600190613d59565b81548110612fdc57634e487b7160e01b600052603260045260246000fd5b60009182526020822060089091020181815590612ffc6001830182613223565b61300a600283016000613223565b613018600383016000613223565b613026600483016000613223565b506000600582018190556006820155600701805460ff19169055505050565b3390565b6130538282611edc565b610f26576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561308a613045565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6130d88282611edc565b15610f26576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916905561310d613045565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806101000160405280600081526020016060815260200160608152602001606081526020016060815260200160008152602001600081526020016000151581525090565b8280548282559060005260206000209081019282156131d85760005260206000209182015b828111156131d85782548255916001019190600101906131bd565b506131e492915061323d565b5090565b8280548282559060005260206000209081019282156131d8579160200282015b828111156131d8578251825591602001919060010190613208565b508054600082559060005260206000209081019061263891905b5b808211156131e4576000815560010161323e565b805161047281613e18565b600082601f83011261326d578081fd5b8135602067ffffffffffffffff8083111561328a5761328a613e02565b818302604051838282010181811084821117156132a9576132a9613e02565b604052848152838101925086840182880185018910156132c7578687fd5b8692505b858310156132e95780358452928401926001929092019184016132cb565b50979650505050505050565b6000806000806080858703121561330a578384fd5b843561331581613e18565b9350602085013561332581613e18565b9250604085013561333581613e18565b9150606085013561334581613e18565b939692955090935050565b600060208284031215613361578081fd5b5035919050565b600060208284031215613379578081fd5b5051919050565b60008060408385031215613392578182fd5b8235915060208301356133a481613e18565b809150509250929050565b6000602082840312156133c0578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ec1578182fd5b6000610100808385031215613402578182fd5b6040519081019067ffffffffffffffff8211818310171561342557613425613e02565b816040528351815261343960208501613252565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600080600080600080600060e0888a03121561349f578283fd5b87359650602088013567ffffffffffffffff808211156134bd578485fd5b6134c98b838c0161325d565b975060408a01359150808211156134de578485fd5b6134ea8b838c0161325d565b965060608a01359150808211156134ff578485fd5b61350b8b838c0161325d565b955060808a0135915080821115613520578485fd5b5061352d8a828b0161325d565b93505060a0880135915060c0880135905092959891949750929550565b6000806040838503121561355c578182fd5b50508035926020909101359150565b60008060006060848603121561357f578081fd5b8335925060208401359150604084013567ffffffffffffffff8111156135a3578182fd5b6135af8682870161325d565b9150509250925092565b6000806000606084860312156135cd578081fd5b505081359360208301359350604090920135919050565b6000602082840312156135f5578081fd5b815160ff81168114610ec1578182fd5b6000815180845260208085019450808401835b8381101561363457815187529582019590820190600101613618565b509495945050505050565b6000815480845260208085019450838352808320835b8381101561363457815487529582019560019182019101613655565b15159052565b600061010082518452602083015181602086015261369782860182613605565b915050604083015184820360408601526136b18282613605565b915050606083015184820360608601526136cb8282613605565b915050608083015184820360808601526136e58282613605565b91505060a083015160a085015260c083015160c085015260e083015161370e60e0860182613671565b509392505050565b6001600160a01b0391909116815260200190565b600060208252610ec16020830184613605565b901515815260200190565b90815260200190565b60ff929092168252602082015260400190565b60ff9390931683526020830191909152604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526029908201527f736f727465645b695d206973206e6f742067726561746572207468616e206c6160408201527f7374566973697465640000000000000000000000000000000000000000000000606082015260800190565b6020808252600b908201527f6e6f7420656c6563746564000000000000000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526014908201527f4d656469616e2063616e2774206265207a65726f000000000000000000000000604082015260600190565b60208082526014908201527f41737365744964206e6f74206d61746368696e67000000000000000000000000604082015260600190565b60208082526037908201527f50726f706f73656420416c7465726e61746520626c6f636b206973206964656e60408201527f746963616c20746f2070726f706f73656420626c6f636b000000000000000000606082015260800190565b60208082526019908201527f7374616b652062656c6f77206d696e696d756d207374616b6500000000000000604082015260600190565b60208082526021908201527f546f74616c207374616b652072657665616c656420646f65736e74206d61746360408201527f6800000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b600060208252610ec16020830184613677565b600060808252613b546080830187613677565b8281036020840152613b668187613605565b90508281036040840152613b7a8186613605565b90508281036060840152613b8e8185613605565b979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b918252602082015260400190565b60006101208b83528a6020840152806040840152613be68184018b613605565b90508281036060840152613bfa818a613605565b90508281036080840152613c0e8189613605565b905082810360a0840152613c228188613605565b60c0840196909652505060e0810192909252610100909101529695505050505050565b600088825287602083015260e06040830152613c6460e083018861363f565b8281036060840152613c76818861363f565b90508281036080840152613c8a818761363f565b905082810360a0840152613c9e818661363f565b9150508260c083015298975050505050505050565b9283526020830191909152604082015260600190565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b60008219821115613d2157613d21613dd6565b500190565b600082613d3557613d35613dec565b500490565b6000816000190483118215151615613d5457613d54613dd6565b500290565b600082821015613d6b57613d6b613dd6565b500390565b600081613d7f57613d7f613dd6565b506000190190565b6000600019821415613d9b57613d9b613dd6565b5060010190565b600060ff821660ff811415613db957613db9613dd6565b60010192915050565b600082613dd157613dd1613dec565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461263857600080fdfea2646970667358221220e91e23bd1379a0e480dc3dea072e45dd8b056c215e85337523323db38cc253bb64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x1F PUSH1 0x0 CALLER PUSH3 0x25 JUMP JUMPDEST PUSH3 0xEC JUMP JUMPDEST PUSH3 0x31 DUP3 DUP3 PUSH3 0x35 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0x41 DUP3 DUP3 PUSH3 0xBF JUMP JUMPDEST PUSH3 0x31 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0x7B PUSH3 0xE8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x3E63 DUP1 PUSH3 0xFC PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1C4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5CE8772F GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0xA27CE1EF GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD547741F GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3CD JUMPI DUP1 PUSH4 0xE38C7C42 EQ PUSH2 0x3E0 JUMPI DUP1 PUSH4 0xF25B3F99 EQ PUSH2 0x3F3 JUMPI DUP1 PUSH4 0xFAE4425D EQ PUSH2 0x406 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0xA27CE1EF EQ PUSH2 0x384 JUMPI DUP1 PUSH4 0xD1A4A43D EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0xD2A4669A EQ PUSH2 0x3BA JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x33E JUMPI DUP1 PUSH4 0x92B48411 EQ PUSH2 0x351 JUMPI DUP1 PUSH4 0x9B87F644 EQ PUSH2 0x374 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x37C JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x5CE8772F EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0x7542FF95 EQ PUSH2 0x311 JUMPI DUP1 PUSH4 0x828496D6 EQ PUSH2 0x319 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x166 JUMPI DUP1 PUSH4 0x3CD32FD4 GT PUSH2 0x140 JUMPI DUP1 PUSH4 0x3CD32FD4 EQ PUSH2 0x2C8 JUMPI DUP1 PUSH4 0x3DF395A3 EQ PUSH2 0x2DB JUMPI DUP1 PUSH4 0x42C1E587 EQ PUSH2 0x2E3 JUMPI DUP1 PUSH4 0x4E6753B7 EQ PUSH2 0x2EB JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x282 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x378AB9A9 EQ PUSH2 0x2A8 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x17D99C04 GT PUSH2 0x1A2 JUMPI DUP1 PUSH4 0x17D99C04 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x1D69FF9B EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x24D JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x26D JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1C9 JUMPI DUP1 PUSH4 0x4C07569 EQ PUSH2 0x1F2 JUMPI DUP1 PUSH4 0x6552FF3 EQ PUSH2 0x212 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1DC PUSH2 0x1D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x33AF JUMP JUMPDEST PUSH2 0x419 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x373D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x205 PUSH2 0x200 CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x477 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3B2E JUMP JUMPDEST PUSH2 0x225 PUSH2 0x220 CALLDATASIZE PUSH1 0x4 PUSH2 0x32F5 JUMP JUMPDEST PUSH2 0x627 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x225 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x3485 JUMP JUMPDEST PUSH2 0x68F JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x248 CALLDATASIZE PUSH1 0x4 PUSH2 0x35B9 JUMP JUMPDEST PUSH2 0xB63 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x25B CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3748 JUMP JUMPDEST PUSH2 0x275 PUSH2 0xEDD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3716 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0xEEC JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2A3 CALLDATASIZE PUSH1 0x4 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0xF2A JUMP JUMPDEST PUSH2 0x2BB PUSH2 0x2B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x372A JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2D6 CALLDATASIZE PUSH1 0x4 PUSH2 0x354A JUMP JUMPDEST PUSH2 0xFD1 JUMP JUMPDEST PUSH2 0x275 PUSH2 0x1540 JUMP JUMPDEST PUSH2 0x275 PUSH2 0x154F JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2F9 CALLDATASIZE PUSH1 0x4 PUSH2 0x356B JUMP JUMPDEST PUSH2 0x155E JUMP JUMPDEST PUSH2 0x225 PUSH2 0x30C CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x1C5F JUMP JUMPDEST PUSH2 0x275 PUSH2 0x1E8F JUMP JUMPDEST PUSH2 0x32C PUSH2 0x327 CALLDATASIZE PUSH1 0x4 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0x1E9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3CE6 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x34C CALLDATASIZE PUSH1 0x4 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0x1EDC JUMP JUMPDEST PUSH2 0x364 PUSH2 0x35F CALLDATASIZE PUSH1 0x4 PUSH2 0x354A JUMP JUMPDEST PUSH2 0x1F05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3CC9 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x1F4E JUMP JUMPDEST PUSH2 0x260 PUSH2 0x263B JUMP JUMPDEST PUSH2 0x397 PUSH2 0x392 CALLDATASIZE PUSH1 0x4 PUSH2 0x354A JUMP JUMPDEST PUSH2 0x2640 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3B41 JUMP JUMPDEST PUSH2 0x2BB PUSH2 0x3B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x354A JUMP JUMPDEST PUSH2 0x2848 JUMP JUMPDEST PUSH2 0x2BB PUSH2 0x3C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x28E2 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x3DB CALLDATASIZE PUSH1 0x4 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0x2945 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x3EE CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x296D JUMP JUMPDEST PUSH2 0x364 PUSH2 0x401 CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x297F JUMP JUMPDEST PUSH2 0x2BB PUSH2 0x414 CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x29A9 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x46F JUMPI POP PUSH2 0x46F DUP3 PUSH2 0x2A0C JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x47F PUSH2 0x3151 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD DUP5 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP6 MLOAD DUP2 DUP7 MUL DUP2 ADD DUP7 ADD SWAP1 SWAP7 MSTORE DUP1 DUP7 MSTORE SWAP2 SWAP5 SWAP3 SWAP4 DUP6 DUP2 ADD SWAP4 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x4EC JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x4D8 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x544 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x530 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x59C JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x588 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x5F4 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x5E0 JUMPI JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x6 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x7 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 DUP7 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x5 DUP1 SLOAD SWAP5 DUP7 AND SWAP5 DUP3 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE PUSH1 0x6 DUP1 SLOAD SWAP3 DUP6 AND SWAP3 DUP5 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH1 0x7 DUP1 SLOAD SWAP2 SWAP1 SWAP4 AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP10 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x70B SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x732 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x38CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH20 0x0 PUSH4 0xC198F8BA PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x776 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x78A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7AE SWAP2 SWAP1 PUSH2 0x35E4 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x813 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x837 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x855 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A9A JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH32 0x6022A48500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x6022A485 SWAP2 PUSH2 0x8A0 SWAP2 CALLER SWAP2 ADD PUSH2 0x3716 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x8B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8CC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8F0 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST SWAP1 POP PUSH2 0x8FD DUP6 DUP6 DUP4 PUSH2 0xB63 JUMP JUMPDEST PUSH2 0x919 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3839 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x95D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x971 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x995 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xE3C998FE SWAP2 PUSH2 0x9C4 SWAP2 DUP7 SWAP2 ADD PUSH2 0x3748 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9F1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA15 SWAP2 SWAP1 PUSH2 0x33EF JUMP JUMPDEST PUSH1 0x40 ADD MLOAD LT ISZERO PUSH2 0xA37 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A06 JUMP JUMPDEST PUSH2 0xB10 DUP11 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP13 DUP2 MSTORE PUSH1 0x20 ADD DUP12 DUP2 MSTORE PUSH1 0x20 ADD DUP11 DUP2 MSTORE PUSH1 0x20 ADD DUP10 DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE3C998FE DUP10 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAAC SWAP2 SWAP1 PUSH2 0x3748 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAC5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xAD9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAFD SWAP2 SWAP1 PUSH2 0x33EF JUMP JUMPDEST PUSH1 0x40 ADD MLOAD DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE PUSH2 0x2A56 JUMP JUMPDEST PUSH32 0xEE036CC96C88163F353FEAA4D497E88BAAEBEB631F40AD9B8A6D51BB6FAD4076 DUP11 DUP3 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0xB4F SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3BC6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0x5075DBFB PUSH1 0xA PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBC788D46 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xBD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBE4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC08 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC19 SWAP2 SWAP1 PUSH2 0x3748 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC4D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3764 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xC79 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC9D SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0xCA8 SWAP1 PUSH1 0x1 PUSH2 0x3D0E JUMP JUMPDEST EQ PUSH2 0xCB5 JUMPI POP PUSH1 0x0 PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xB07CEAB8 PUSH1 0xA DUP6 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCE6 SWAP3 SWAP2 SWAP1 PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD19 SWAP3 SWAP2 SWAP1 PUSH2 0x3751 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xD45 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD69 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xD7C PUSH5 0x100000000 DUP4 PUSH2 0x3DC2 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xE3C998FE SWAP2 PUSH2 0xDB1 SWAP2 DUP11 SWAP2 ADD PUSH2 0x3748 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xDDE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE02 SWAP2 SWAP1 PUSH2 0x33EF JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 ADD MLOAD PUSH1 0x4 DUP1 SLOAD SWAP3 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xE3C998FE SWAP2 PUSH2 0xE39 SWAP2 DUP10 SWAP2 ADD PUSH2 0x3748 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE66 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE8A SWAP2 SWAP1 PUSH2 0x33EF JUMP JUMPDEST PUSH1 0x40 ADD MLOAD PUSH2 0xE9D SWAP1 PUSH5 0x100000000 PUSH2 0x3D3A JUMP JUMPDEST PUSH2 0xEA7 DUP3 DUP5 PUSH2 0x3D3A JUMP JUMPDEST GT ISZERO PUSH2 0xEB9 JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x1 SWAP4 POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0xF00 PUSH2 0xEF8 DUP4 PUSH2 0xEC8 JUMP JUMPDEST PUSH2 0x34C PUSH2 0x3045 JUMP JUMPDEST PUSH2 0xF1C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x377F JUMP JUMPDEST PUSH2 0xF26 DUP3 DUP3 PUSH2 0x3049 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xF32 PUSH2 0x3045 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF62 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3AD1 JUMP JUMPDEST PUSH2 0xF26 DUP3 DUP3 PUSH2 0x30CE JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xFC5 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xFB1 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1015 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1029 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x104D SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x106B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x38CD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x10C3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10E7 SWAP2 SWAP1 PUSH2 0x35E4 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1138 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x114C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1170 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x118E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A9A JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0x6 SLOAD SWAP2 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x11DE SWAP1 DUP9 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x120A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x122E SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD EQ PUSH2 0x1265 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A3D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 CALLER DUP6 MSTORE DUP3 MSTORE DUP1 DUP5 KECCAK256 SWAP3 DUP4 ADD SLOAD PUSH1 0x2 DUP1 DUP6 ADD SLOAD PUSH1 0x3 SWAP1 SWAP6 ADD SLOAD DUP12 DUP8 MSTORE SWAP4 MSTORE SWAP1 DUP5 KECCAK256 DUP1 SLOAD SWAP2 SWAP5 SWAP2 DUP10 SWAP1 DUP2 LT PUSH2 0x12B9 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP PUSH1 0x0 DUP5 GT PUSH2 0x12ED JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP6 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x131E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x134E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO DUP1 PUSH2 0x13D0 JUMPI POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP5 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x1392 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x13C2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO JUMPDEST DUP1 PUSH2 0x1445 JUMPI POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x1407 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x4 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x1437 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x151D JUMPI PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP11 SWAP1 DUP2 LT PUSH2 0x1478 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD PUSH1 0x7 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH32 0xF91CE1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xF91CE19 SWAP2 PUSH2 0x14E6 SWAP2 DUP6 SWAP2 CALLER SWAP2 DUP16 SWAP2 ADD PUSH2 0x3B99 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1500 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1514 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x1535 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x39A9 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP6 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15B6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15DA SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x15F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x38CD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x163C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1650 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1674 SWAP2 SWAP1 PUSH2 0x35E4 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16D9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16FD SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x171B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A9A JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x2 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x1753 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x176B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x177F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17A3 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0x17AD SWAP2 SWAP1 PUSH2 0x3D26 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x17E5 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP7 ADD PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x17FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1811 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1835 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0x183F SWAP2 SWAP1 PUSH2 0x3D26 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x1877 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP7 ADD PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x188F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18A3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18C7 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0x18D2 SWAP1 PUSH1 0x3 PUSH2 0x3D3A JUMP JUMPDEST PUSH2 0x18DC SWAP2 SWAP1 PUSH2 0x3D26 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 DUP2 PUSH2 0x192A JUMPI PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x5 ADD DUP10 SWAP1 SSTORE PUSH2 0x1965 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP10 EQ PUSH2 0x1965 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3972 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP9 MLOAD DUP2 LT ISZERO PUSH2 0x1C30 JUMPI DUP2 DUP10 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1992 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x19B7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x37DC JUMP JUMPDEST DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x19D7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP2 POP PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9C66556F DUP13 DUP13 DUP13 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x1A27 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A4D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3CB3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A79 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A9D SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0x1AA7 SWAP1 DUP5 PUSH2 0x3D0E JUMP JUMPDEST PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP4 POP ISZERO DUP1 ISZERO PUSH2 0x1AD4 JUMPI POP DUP5 DUP4 LT ISZERO JUMPDEST ISZERO PUSH2 0x1B22 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1AF9 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x1 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 CALLER DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x2 ADD SSTORE JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 CALLER DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 ADD SLOAD ISZERO DUP1 ISZERO PUSH2 0x1B4A JUMPI POP DUP6 DUP4 GT JUMPDEST ISZERO PUSH2 0x1B98 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1B6F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP5 MSTORE SWAP3 SWAP1 KECCAK256 SWAP1 SWAP2 ADD SSTORE JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD ISZERO DUP1 ISZERO PUSH2 0x1BC1 JUMPI POP DUP4 DUP4 GT JUMPDEST ISZERO PUSH2 0x1C0F JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1BE6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x1 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 CALLER DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 ADD SSTORE JUMPDEST PUSH2 0x2710 GAS LT ISZERO PUSH2 0x1C1E JUMPI PUSH2 0x1C30 JUMP JUMPDEST DUP1 PUSH2 0x1C28 DUP2 PUSH2 0x3D87 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1968 JUMP JUMPDEST POP PUSH1 0x0 SWAP10 DUP11 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP13 KECCAK256 CALLER DUP14 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP10 KECCAK256 PUSH1 0x4 DUP2 ADD SWAP10 SWAP1 SWAP10 SSTORE SWAP1 SWAP8 SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1CA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1CB7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1CDB SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x1CF9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x38CD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1D51 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D75 SWAP2 SWAP1 PUSH2 0x35E4 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DDA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DFE SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x1E1C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A9A JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP3 DUP2 MSTORE DUP4 DUP6 ADD DUP4 DUP2 MSTORE PUSH1 0x60 DUP6 ADD DUP5 DUP2 MSTORE PUSH1 0x80 DUP7 ADD DUP6 DUP2 MSTORE PUSH1 0xA0 DUP8 ADD DUP7 DUP2 MSTORE SWAP9 DUP7 MSTORE PUSH1 0x1 DUP1 DUP7 MSTORE DUP9 DUP8 KECCAK256 CALLER DUP9 MSTORE SWAP1 SWAP6 MSTORE SWAP7 SWAP1 SWAP5 KECCAK256 SWAP5 MLOAD DUP6 SSTORE SWAP1 MLOAD SWAP2 DUP5 ADD SWAP2 SWAP1 SWAP2 SSTORE MLOAD PUSH1 0x2 DUP4 ADD SSTORE MLOAD PUSH1 0x3 DUP3 ADD SSTORE SWAP1 MLOAD PUSH1 0x4 DUP3 ADD SSTORE SWAP1 MLOAD PUSH1 0x5 SWAP1 SWAP2 ADD SSTORE JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP1 SWAP2 MSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD SWAP2 DUP2 ADD SLOAD PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x4 DUP5 ADD SLOAD PUSH1 0x5 SWAP1 SWAP5 ADD SLOAD SWAP3 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1F21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xD98B3CED PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1F92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1FA6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FCA SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0x1FD4 DUP2 CALLER PUSH2 0x1EDC JUMP JUMPDEST PUSH2 0x1FF0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3904 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2035 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2049 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x206D SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x2081 PUSH1 0x1 DUP6 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0xFF DUP3 AND LT ISZERO PUSH2 0x2635 JUMPI PUSH1 0x2 PUSH1 0x0 PUSH2 0x20AB PUSH1 0x1 DUP6 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x20DB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x7 PUSH1 0x8 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x2623 JUMPI PUSH1 0x2 PUSH1 0x0 PUSH2 0x2106 PUSH1 0x1 DUP6 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2136 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 PUSH1 0x0 PUSH1 0x1 DUP6 PUSH2 0x2155 SWAP2 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 DUP2 SLOAD DUP2 SSTORE PUSH1 0x1 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x217D SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x2 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2192 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x21A7 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x21BC SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x5 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x6 DUP1 DUP4 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x7 SWAP2 DUP3 ADD SLOAD SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 PUSH1 0x2 DUP2 PUSH2 0x21FC PUSH1 0x1 DUP7 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x222C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD SLOAD SWAP1 POP PUSH32 0x5EF264AE9101B91BD7117350C5E85901297FA0569E7A3E07EB7EC0A6281529F0 PUSH2 0x226B PUSH1 0x1 DUP6 PUSH2 0x3D59 JUMP JUMPDEST DUP3 PUSH1 0x2 PUSH1 0x0 PUSH2 0x227B PUSH1 0x1 DUP10 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x22AB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD PUSH1 0x2 PUSH1 0x0 PUSH1 0x1 DUP10 PUSH2 0x22CD SWAP2 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP7 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x22FD JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 ADD PUSH1 0x2 PUSH1 0x0 PUSH1 0x1 DUP11 PUSH2 0x231F SWAP2 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP8 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x234F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x4 ADD PUSH1 0x2 PUSH1 0x0 PUSH1 0x1 DUP12 PUSH2 0x2371 SWAP2 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP9 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x23A1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x23C6 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3C45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x23E0 PUSH1 0x1 DUP8 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP4 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2410 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD DUP1 SLOAD SWAP1 POP DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x259E JUMPI PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x56350BDF PUSH1 0x2 PUSH1 0x0 PUSH2 0x244F PUSH1 0x1 DUP10 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x247F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD DUP4 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x24B2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0x2 PUSH1 0x0 PUSH1 0x1 DUP10 PUSH2 0x24CE SWAP2 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP7 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x24FE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP5 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2531 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2559 SWAP3 SWAP2 SWAP1 PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2573 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2587 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 DUP1 PUSH2 0x2596 SWAP1 PUSH2 0x3DA2 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x23D1 JUMP JUMPDEST POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH32 0x746C8B6500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x746C8B65 SWAP2 PUSH2 0x25E9 SWAP2 DUP6 SWAP2 DUP9 SWAP2 ADD PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2603 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2617 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH2 0x2638 JUMP JUMPDEST DUP1 PUSH2 0x262D DUP2 PUSH2 0x3DA2 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2072 JUMP JUMPDEST POP POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x2648 PUSH2 0x3151 JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x267F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x26F2 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x26DE JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x274A JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x2736 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x27A2 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x278E JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x27FA JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x27E6 JUMPI JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x6 DUP3 ADD SLOAD PUSH1 0x40 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x7 SWAP1 SWAP3 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x60 SWAP2 DUP3 ADD MSTORE SWAP1 DUP3 ADD MLOAD SWAP1 DUP3 ADD MLOAD PUSH1 0x80 DUP4 ADD MLOAD SWAP3 SWAP10 SWAP2 SWAP9 POP SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x287A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x28D5 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x28C1 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xFC5 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xFB1 JUMPI POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2951 PUSH2 0xEF8 DUP4 PUSH2 0xEC8 JUMP JUMPDEST PUSH2 0xF62 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3870 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xFC5 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xFB1 JUMPI POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x2B33 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP5 MSTORE SWAP3 DUP3 SWAP1 KECCAK256 DUP5 MLOAD PUSH1 0x8 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP4 DUP3 ADD MLOAD DUP1 MLOAD DUP6 SWAP5 SWAP4 PUSH2 0x2AAB SWAP4 DUP6 ADD SWAP3 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2AC7 SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2AE3 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2AFF SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0xE0 SWAP1 SWAP2 ADD MLOAD PUSH1 0x7 SWAP1 SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0xF26 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 LT ISZERO PUSH2 0x2C12 JUMPI PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 DUP2 LT PUSH2 0x2B8D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x6 ADD SLOAD LT ISZERO PUSH2 0x2BAD JUMPI DUP1 SWAP2 POP PUSH2 0x2C12 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 DUP2 LT PUSH2 0x2BE0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x5 ADD SLOAD GT ISZERO PUSH2 0x2C00 JUMPI DUP1 SWAP2 POP PUSH2 0x2C12 JUMP JUMPDEST DUP1 PUSH2 0x2C0A DUP2 PUSH2 0x3D87 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2B44 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP5 MSTORE SWAP3 DUP3 SWAP1 KECCAK256 DUP6 MLOAD PUSH1 0x8 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP5 DUP3 ADD MLOAD DUP1 MLOAD DUP7 SWAP5 SWAP4 PUSH2 0x2C55 SWAP4 DUP6 ADD SWAP3 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2C71 SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2C8D SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2CA9 SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0xE0 SWAP1 SWAP2 ADD MLOAD PUSH1 0x7 SWAP1 SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x2CF3 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2E1F JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x2D17 PUSH1 0x1 DUP4 PUSH2 0x3D59 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2D35 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2D75 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 DUP3 SLOAD PUSH1 0x8 SWAP1 SWAP3 MUL ADD SWAP1 DUP2 SSTORE PUSH1 0x1 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x2D9E SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x2 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2DB3 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2DC8 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2DDD SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x5 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x6 DUP1 DUP4 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x7 SWAP2 DUP3 ADD SLOAD SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 PUSH2 0x2E17 DUP2 PUSH2 0x3D70 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CF6 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x2E51 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2E85 SWAP3 SWAP2 SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2EA1 SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2EBD SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2ED9 SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x5 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x6 ADD SSTORE PUSH1 0xE0 DUP3 ADD MLOAD DUP2 PUSH1 0x7 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP1 POP POP PUSH20 0x0 PUSH4 0x379597E0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2F55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2F69 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2F8D SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD GT ISZERO PUSH2 0x2635 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x2FBE SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2FDC JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP2 DUP2 SSTORE SWAP1 PUSH2 0x2FFC PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x3223 JUMP JUMPDEST PUSH2 0x300A PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x3223 JUMP JUMPDEST PUSH2 0x3018 PUSH1 0x3 DUP4 ADD PUSH1 0x0 PUSH2 0x3223 JUMP JUMPDEST PUSH2 0x3026 PUSH1 0x4 DUP4 ADD PUSH1 0x0 PUSH2 0x3223 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x5 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0x7 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP POP POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x3053 DUP3 DUP3 PUSH2 0x1EDC JUMP JUMPDEST PUSH2 0xF26 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x308A PUSH2 0x3045 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x30D8 DUP3 DUP3 PUSH2 0x1EDC JUMP JUMPDEST ISZERO PUSH2 0xF26 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x310D PUSH2 0x3045 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x31D8 JUMPI PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x31D8 JUMPI DUP3 SLOAD DUP3 SSTORE SWAP2 PUSH1 0x1 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x31BD JUMP JUMPDEST POP PUSH2 0x31E4 SWAP3 SWAP2 POP PUSH2 0x323D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x31D8 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x31D8 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3208 JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2638 SWAP2 SWAP1 JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x31E4 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x323E JUMP JUMPDEST DUP1 MLOAD PUSH2 0x472 DUP2 PUSH2 0x3E18 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x326D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 GT ISZERO PUSH2 0x328A JUMPI PUSH2 0x328A PUSH2 0x3E02 JUMP JUMPDEST DUP2 DUP4 MUL PUSH1 0x40 MLOAD DUP4 DUP3 DUP3 ADD ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH2 0x32A9 JUMPI PUSH2 0x32A9 PUSH2 0x3E02 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP5 DUP2 MSTORE DUP4 DUP2 ADD SWAP3 POP DUP7 DUP5 ADD DUP3 DUP9 ADD DUP6 ADD DUP10 LT ISZERO PUSH2 0x32C7 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP7 SWAP3 POP JUMPDEST DUP6 DUP4 LT ISZERO PUSH2 0x32E9 JUMPI DUP1 CALLDATALOAD DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 DUP5 ADD PUSH2 0x32CB JUMP JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x330A JUMPI DUP4 DUP5 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x3315 DUP2 PUSH2 0x3E18 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x3325 DUP2 PUSH2 0x3E18 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x3335 DUP2 PUSH2 0x3E18 JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x3345 DUP2 PUSH2 0x3E18 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3361 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3379 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3392 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x33A4 DUP2 PUSH2 0x3E18 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x33C0 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0xEC1 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3402 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x3425 JUMPI PUSH2 0x3425 PUSH2 0x3E02 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 MLOAD DUP2 MSTORE PUSH2 0x3439 PUSH1 0x20 DUP6 ADD PUSH2 0x3252 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP5 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0xE0 DUP3 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x349F JUMPI DUP3 DUP4 REVERT JUMPDEST DUP8 CALLDATALOAD SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x34BD JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x34C9 DUP12 DUP4 DUP13 ADD PUSH2 0x325D JUMP JUMPDEST SWAP8 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34DE JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x34EA DUP12 DUP4 DUP13 ADD PUSH2 0x325D JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34FF JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x350B DUP12 DUP4 DUP13 ADD PUSH2 0x325D JUMP JUMPDEST SWAP6 POP PUSH1 0x80 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3520 JUMPI DUP5 DUP6 REVERT JUMPDEST POP PUSH2 0x352D DUP11 DUP3 DUP12 ADD PUSH2 0x325D JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 DUP9 ADD CALLDATALOAD SWAP2 POP PUSH1 0xC0 DUP9 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x355C JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x357F JUMPI DUP1 DUP2 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x35A3 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x35AF DUP7 DUP3 DUP8 ADD PUSH2 0x325D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x35CD JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x35F5 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xEC1 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD DUP4 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3634 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3618 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP4 DUP4 MSTORE DUP1 DUP4 KECCAK256 DUP4 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3634 JUMPI DUP2 SLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 PUSH1 0x1 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x3655 JUMP JUMPDEST ISZERO ISZERO SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 MLOAD DUP5 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP2 PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x3697 DUP3 DUP7 ADD DUP3 PUSH2 0x3605 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x36B1 DUP3 DUP3 PUSH2 0x3605 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x36CB DUP3 DUP3 PUSH2 0x3605 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x80 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x80 DUP7 ADD MSTORE PUSH2 0x36E5 DUP3 DUP3 PUSH2 0x3605 JUMP JUMPDEST SWAP2 POP POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP4 ADD MLOAD PUSH2 0x370E PUSH1 0xE0 DUP7 ADD DUP3 PUSH2 0x3671 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xEC1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3605 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP4 SWAP1 SWAP4 AND DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x29 SWAP1 DUP3 ADD MSTORE PUSH32 0x736F727465645B695D206973206E6F742067726561746572207468616E206C61 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7374566973697465640000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xB SWAP1 DUP3 ADD MSTORE PUSH32 0x6E6F7420656C6563746564000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x4D656469616E2063616E2774206265207A65726F000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x41737365744964206E6F74206D61746368696E67000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x37 SWAP1 DUP3 ADD MSTORE PUSH32 0x50726F706F73656420416C7465726E61746520626C6F636B206973206964656E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x746963616C20746F2070726F706F73656420626C6F636B000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x19 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B652062656C6F77206D696E696D756D207374616B6500000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x21 SWAP1 DUP3 ADD MSTORE PUSH32 0x546F74616C207374616B652072657665616C656420646F65736E74206D617463 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6800000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xEC1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3677 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 MSTORE PUSH2 0x3B54 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x3677 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3B66 DUP2 DUP8 PUSH2 0x3605 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3B7A DUP2 DUP7 PUSH2 0x3605 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3B8E DUP2 DUP6 PUSH2 0x3605 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP12 DUP4 MSTORE DUP11 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3BE6 DUP2 DUP5 ADD DUP12 PUSH2 0x3605 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3BFA DUP2 DUP11 PUSH2 0x3605 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3C0E DUP2 DUP10 PUSH2 0x3605 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x3C22 DUP2 DUP9 PUSH2 0x3605 JUMP JUMPDEST PUSH1 0xC0 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0xE0 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH2 0x100 SWAP1 SWAP2 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP9 DUP3 MSTORE DUP8 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0xE0 PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x3C64 PUSH1 0xE0 DUP4 ADD DUP9 PUSH2 0x363F JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3C76 DUP2 DUP9 PUSH2 0x363F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3C8A DUP2 DUP8 PUSH2 0x363F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x3C9E DUP2 DUP7 PUSH2 0x363F JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xC0 DUP4 ADD MSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x40 DUP6 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x3D21 JUMPI PUSH2 0x3D21 PUSH2 0x3DD6 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3D35 JUMPI PUSH2 0x3D35 PUSH2 0x3DEC JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x3D54 JUMPI PUSH2 0x3D54 PUSH2 0x3DD6 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x3D6B JUMPI PUSH2 0x3D6B PUSH2 0x3DD6 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x3D7F JUMPI PUSH2 0x3D7F PUSH2 0x3DD6 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x3D9B JUMPI PUSH2 0x3D9B PUSH2 0x3DD6 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 EQ ISZERO PUSH2 0x3DB9 JUMPI PUSH2 0x3DB9 PUSH2 0x3DD6 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3DD1 JUMPI PUSH2 0x3DD1 PUSH2 0x3DEC JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2638 JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 0x1E 0x23 0xBD SGT PUSH26 0xA0E480DC3DEA072E45DD8B056C215E85337523323DB38CC253BB PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "339:11519:8:-:0;;;;;;;;;;;;-1:-1:-1;216:42:7;2408:4:0;247:10:7;216;:42::i;:::-;339:11519:8;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;6952:224::-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;3867:137::-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;586:96:3:-;665:10;586:96;:::o;339:11519:8:-;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:24340:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "76:80:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "86:22:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "101:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "95:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "95:13:28" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "86:5:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "144:5:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "117:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "117:33:28" - }, - "nodeType": "YulExpressionStatement", - "src": "117:33:28" - } - ] - }, - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "55:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "66:5:28", - "type": "" - } - ], - "src": "14:142:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "231:856:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "280:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "289:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "296:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "282:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "282:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "282:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "259:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "267:4:28", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "255:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "255:17:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "274:3:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "251:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "251:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "244:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "244:35:28" - }, - "nodeType": "YulIf", - "src": "241:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "313:30:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "336:6:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "323:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "323:20:28" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "317:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "352:14:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "362:4:28", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "356:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "375:28:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "385:18:28", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "379:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "426:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "428:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "428:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "428:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "418:2:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "422:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "415:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "415:10:28" - }, - "nodeType": "YulIf", - "src": "412:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "457:21:28", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "471:2:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "475:2:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "467:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "467:11:28" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "461:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "487:23:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "507:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "501:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "501:9:28" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "491:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "519:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "545:6:28" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "553:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "541:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "541:15:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "558:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "537:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "537:24:28" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "523:10:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "620:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "622:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "622:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "622:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "579:10:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "591:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "576:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "576:18:28" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "599:10:28" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "611:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "596:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "596:22:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "573:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "573:46:28" - }, - "nodeType": "YulIf", - "src": "570:2:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "658:2:28", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "662:10:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "651:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "651:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "651:22:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "682:17:28", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "693:6:28" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "686:3:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "715:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "723:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "708:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "708:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "708:18:28" - }, - { - "nodeType": "YulAssignment", - "src": "735:22:28", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "746:6:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "754:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "742:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "742:15:28" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "735:3:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "766:26:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "781:6:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "789:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "777:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "777:15:28" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "770:3:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "838:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "847:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "854:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "840:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "840:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "840:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "815:6:28" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "823:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "811:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "811:15:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "828:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "807:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "807:24:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "833:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "804:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "804:33:28" - }, - "nodeType": "YulIf", - "src": "801:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "871:14:28", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "880:5:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "875:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "939:118:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "960:3:28" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "978:3:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "965:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "965:17:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "953:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "953:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "953:30:28" - }, - { - "nodeType": "YulAssignment", - "src": "996:19:28", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1007:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1012:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1003:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1003:12:28" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "996:3:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1028:19:28", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1039:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1044:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1035:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1035:12:28" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1028:3:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "905:1:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "908:2:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "902:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "902:9:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "912:18:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "914:14:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "923:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "926:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "919:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "919:9:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "914:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "898:3:28", - "statements": [] - }, - "src": "894:163:28" - }, - { - "nodeType": "YulAssignment", - "src": "1066:15:28", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1075:6:28" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1066:5:28" - } - ] - } - ] - }, - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "205:6:28", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "213:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "221:5:28", - "type": "" - } - ], - "src": "161:926:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1213:568:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1260:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1269:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1277:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1262:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1262:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1262:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1234:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1243:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1230:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1230:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1255:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1226:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1226:33:28" - }, - "nodeType": "YulIf", - "src": "1223:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1295:36:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1321:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1308:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1308:23:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1299:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1367:5:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "1340:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "1340:33:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1340:33:28" - }, - { - "nodeType": "YulAssignment", - "src": "1382:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1392:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1382:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1406:47:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1438:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1449:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1434:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1434:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1421:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1421:32:28" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "1410:7:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "1489:7:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "1462:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "1462:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1462:35:28" - }, - { - "nodeType": "YulAssignment", - "src": "1506:17:28", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "1516:7:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1506:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1532:47:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1564:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1575:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1560:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1560:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1547:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1547:32:28" - }, - "variables": [ - { - "name": "value_2", - "nodeType": "YulTypedName", - "src": "1536:7:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_2", - "nodeType": "YulIdentifier", - "src": "1615:7:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "1588:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "1588:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1588:35:28" - }, - { - "nodeType": "YulAssignment", - "src": "1632:17:28", - "value": { - "name": "value_2", - "nodeType": "YulIdentifier", - "src": "1642:7:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1632:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1658:47:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1690:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1701:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1686:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1686:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1673:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1673:32:28" - }, - "variables": [ - { - "name": "value_3", - "nodeType": "YulTypedName", - "src": "1662:7:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_3", - "nodeType": "YulIdentifier", - "src": "1741:7:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "1714:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "1714:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1714:35:28" - }, - { - "nodeType": "YulAssignment", - "src": "1758:17:28", - "value": { - "name": "value_3", - "nodeType": "YulIdentifier", - "src": "1768:7:28" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1758:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1155:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1166:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1178:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1186:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1194:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1202:6:28", - "type": "" - } - ], - "src": "1092:689:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1856:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1902:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1911:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1919:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1904:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1904:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1904:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1877:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1886:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1873:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1873:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1898:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1869:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1869:32:28" - }, - "nodeType": "YulIf", - "src": "1866:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1937:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1960:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1947:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1947:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1937:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1822:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1833:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1845:6:28", - "type": "" - } - ], - "src": "1786:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2062:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2108:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2117:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2125:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2110:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2110:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2110:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2083:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2092:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2079:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2079:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2104:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2075:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2075:32:28" - }, - "nodeType": "YulIf", - "src": "2072:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2143:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2159:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2153:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "2153:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2143:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2028:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2039:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2051:6:28", - "type": "" - } - ], - "src": "1981:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2267:240:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2313:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2322:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2330:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2315:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2315:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2315:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2288:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2297:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2284:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2284:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2309:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2280:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2280:32:28" - }, - "nodeType": "YulIf", - "src": "2277:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2348:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2371:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2358:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2358:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2348:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2390:45:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2420:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2431:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2416:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2416:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2403:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2403:32:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2394:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2471:5:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "2444:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "2444:33:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2444:33:28" - }, - { - "nodeType": "YulAssignment", - "src": "2486:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2496:5:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2486:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2225:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2236:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2248:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2256:6:28", - "type": "" - } - ], - "src": "2180:327:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2581:283:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2627:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2636:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2644:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2629:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2629:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2629:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2602:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2611:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2598:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2598:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2623:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2594:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2594:32:28" - }, - "nodeType": "YulIf", - "src": "2591:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2662:36:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2688:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2675:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2675:23:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2666:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2808:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2817:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2825:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2810:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2810:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2810:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2720:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2731:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2738:66:28", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2727:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2727:78:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2717:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2717:89:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2710:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2710:97:28" - }, - "nodeType": "YulIf", - "src": "2707:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2843:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2853:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2843:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2547:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2558:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2570:6:28", - "type": "" - } - ], - "src": "2512:352:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2974:815:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2984:13:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2994:3:28", - "type": "", - "value": "256" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "2988:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3042:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3051:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3059:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3044:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3044:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3044:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3017:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3026:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3013:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3013:23:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3038:2:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3009:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3009:32:28" - }, - "nodeType": "YulIf", - "src": "3006:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3077:23:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3097:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3091:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3091:9:28" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "3081:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3109:33:28", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3131:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3139:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3127:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3127:15:28" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "3113:10:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3217:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "3219:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "3219:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3219:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3160:10:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3172:18:28", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3157:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3157:34:28" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3196:10:28" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3208:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3193:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3193:22:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "3154:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3154:62:28" - }, - "nodeType": "YulIf", - "src": "3151:2:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3255:2:28", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3259:10:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3248:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3248:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3248:22:28" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3286:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3300:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3294:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3294:16:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3279:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3279:32:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3279:32:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3331:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3339:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3327:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3327:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3380:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3391:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3376:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3376:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "3344:31:28" - }, - "nodeType": "YulFunctionCall", - "src": "3344:51:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3320:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3320:76:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3320:76:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3416:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3424:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3412:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3412:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3439:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3450:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3435:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3435:18:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3429:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3429:25:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3405:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3405:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3405:50:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3475:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3483:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3471:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3471:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3498:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3509:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3494:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3494:18:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3488:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3488:25:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3464:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3464:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3464:50:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3534:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3542:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3530:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3530:16:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3558:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3569:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3554:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3554:19:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3548:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3548:26:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3523:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3523:52:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3523:52:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3595:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3603:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3591:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3591:16:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3619:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3630:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3615:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3615:19:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3609:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3609:26:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3584:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3584:52:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3584:52:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3656:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3664:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3652:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3652:16:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3680:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3691:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3676:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3676:19:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3670:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3670:26:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3645:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3645:52:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3645:52:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3717:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3725:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3713:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3713:16:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3741:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3752:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3737:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3737:19:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3731:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3731:26:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3706:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3706:52:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3706:52:28" - }, - { - "nodeType": "YulAssignment", - "src": "3767:16:28", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3777:6:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3767:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Staker_$5529_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2940:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2951:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2963:6:28", - "type": "" - } - ], - "src": "2869:920:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3864:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3910:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3919:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3927:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3912:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3912:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3912:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3885:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3894:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3881:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3881:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3906:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3877:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3877:32:28" - }, - "nodeType": "YulIf", - "src": "3874:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "3945:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3968:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3955:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "3955:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3945:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3830:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3841:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3853:6:28", - "type": "" - } - ], - "src": "3794:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4070:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4116:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4125:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4133:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4118:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4118:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4118:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4091:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4100:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4087:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4087:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4112:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4083:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4083:32:28" - }, - "nodeType": "YulIf", - "src": "4080:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "4151:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4167:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4161:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4161:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4151:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4036:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4047:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4059:6:28", - "type": "" - } - ], - "src": "3989:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4275:240:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4321:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4330:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4338:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4323:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4323:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4323:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4296:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4305:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4292:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4292:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4317:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4288:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4288:32:28" - }, - "nodeType": "YulIf", - "src": "4285:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "4356:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4379:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4366:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "4366:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4356:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4398:45:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4428:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4439:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4424:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4424:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4411:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "4411:32:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4402:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4479:5:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "4452:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "4452:33:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4452:33:28" - }, - { - "nodeType": "YulAssignment", - "src": "4494:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4504:5:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4494:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4233:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4244:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4256:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4264:6:28", - "type": "" - } - ], - "src": "4188:327:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4792:1057:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4839:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "4848:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "4856:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4841:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4841:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4841:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4813:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4822:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4809:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4809:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4834:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4805:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4805:33:28" - }, - "nodeType": "YulIf", - "src": "4802:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "4874:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4897:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4884:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "4884:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4874:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4916:46:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4947:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4958:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4943:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4943:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4930:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "4930:32:28" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4920:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4971:28:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4981:18:28", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4975:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5035:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5043:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5028:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5028:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5028:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5014:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5022:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5011:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5011:14:28" - }, - "nodeType": "YulIf", - "src": "5008:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "5061:77:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5110:9:28" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5121:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5106:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5106:22:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5130:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "5071:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "5071:67:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5061:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5147:48:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5180:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5191:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5176:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5176:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5163:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "5163:32:28" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "5151:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5224:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5233:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5241:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5226:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5226:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5226:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "5210:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5220:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5207:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5207:16:28" - }, - "nodeType": "YulIf", - "src": "5204:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "5259:79:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5308:9:28" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "5319:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5304:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5304:24:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5330:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "5269:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "5269:69:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5259:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5347:48:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5380:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5391:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5376:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5376:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5363:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "5363:32:28" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "5351:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5424:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5433:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5441:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5426:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5426:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5426:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "5410:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5420:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5407:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5407:16:28" - }, - "nodeType": "YulIf", - "src": "5404:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "5459:79:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5508:9:28" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "5519:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5504:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5504:24:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5530:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "5469:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "5469:69:28" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "5459:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5547:49:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5580:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5591:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5576:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5576:19:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5563:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "5563:33:28" - }, - "variables": [ - { - "name": "offset_3", - "nodeType": "YulTypedName", - "src": "5551:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5625:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5634:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5642:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5627:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5627:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5627:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "5611:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5621:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5608:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5608:16:28" - }, - "nodeType": "YulIf", - "src": "5605:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "5660:79:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5709:9:28" - }, - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "5720:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5705:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5705:24:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5731:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "5670:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "5670:69:28" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5660:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5748:43:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5775:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5786:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5771:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5771:19:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5758:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "5758:33:28" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "5748:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5800:43:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5827:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5838:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5823:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5823:19:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5810:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "5810:33:28" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "5800:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4710:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4721:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4733:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4741:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4749:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "4757:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "4765:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "4773:6:28", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "4781:6:28", - "type": "" - } - ], - "src": "4520:1329:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5941:171:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5987:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5996:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6004:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5989:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5989:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5989:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5962:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5971:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5958:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5958:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5983:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5954:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5954:32:28" - }, - "nodeType": "YulIf", - "src": "5951:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "6022:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6045:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6032:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6032:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6022:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6064:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6091:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6102:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6087:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6087:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6074:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6074:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6064:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5899:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5910:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5922:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5930:6:28", - "type": "" - } - ], - "src": "5854:258:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6246:381:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6292:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6301:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6309:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6294:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6294:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6294:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6267:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6276:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6263:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6263:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6288:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6259:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6259:32:28" - }, - "nodeType": "YulIf", - "src": "6256:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "6327:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6350:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6337:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6337:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6327:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6369:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6396:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6407:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6392:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6392:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6379:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6379:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6369:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6420:46:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6451:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6462:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6447:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6447:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6434:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6434:32:28" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6424:6:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6509:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6518:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6526:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6511:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6511:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6511:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6481:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6489:18:28", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6478:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "6478:30:28" - }, - "nodeType": "YulIf", - "src": "6475:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "6544:77:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6593:9:28" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6604:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6589:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6589:22:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6613:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "6554:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "6554:67:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6544:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_array$_t_uint256_$dyn_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6196:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6207:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6219:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6227:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6235:6:28", - "type": "" - } - ], - "src": "6117:510:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6736:222:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6782:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6791:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6799:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6784:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6784:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6784:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6757:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6766:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6753:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6753:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6778:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6749:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6749:32:28" - }, - "nodeType": "YulIf", - "src": "6746:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "6817:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6840:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6827:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6827:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6817:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6859:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6886:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6897:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6882:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6882:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6869:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6869:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6859:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6910:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6937:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6948:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6933:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6933:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6920:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6920:32:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6910:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6686:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6697:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6709:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6717:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6725:6:28", - "type": "" - } - ], - "src": "6632:326:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7042:214:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7088:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7097:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7105:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7090:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7090:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7090:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7063:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7072:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7059:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7059:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7084:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7055:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7055:32:28" - }, - "nodeType": "YulIf", - "src": "7052:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7123:29:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7142:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7136:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "7136:16:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7127:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7200:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7209:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7217:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7202:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7202:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7202:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7174:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7185:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7192:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7181:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7181:16:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "7171:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "7171:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "7164:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7164:35:28" - }, - "nodeType": "YulIf", - "src": "7161:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "7235:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7245:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7235:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7008:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "7019:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7031:6:28", - "type": "" - } - ], - "src": "6963:293:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7328:376:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7338:26:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7358:5:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7352:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "7352:12:28" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7342:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7380:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7385:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7373:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7373:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7373:19:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7401:14:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7411:4:28", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "7405:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7424:19:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7435:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7440:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7431:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7431:12:28" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7424:3:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7452:28:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7470:5:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7477:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7466:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7466:14:28" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "7456:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7489:12:28", - "value": { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7498:3:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "7493:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7559:120:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7580:3:28" - }, - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "7591:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7585:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "7585:13:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7573:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7573:26:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7573:26:28" - }, - { - "nodeType": "YulAssignment", - "src": "7612:19:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7623:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7628:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7619:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7619:12:28" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7612:3:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7644:25:28", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "7658:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7666:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7654:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7654:15:28" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "7644:6:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7521:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7524:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "7518:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "7518:13:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "7532:18:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7534:14:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7543:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7546:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7539:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7539:9:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7534:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "7514:3:28", - "statements": [] - }, - "src": "7510:169:28" - }, - { - "nodeType": "YulAssignment", - "src": "7688:10:28", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7695:3:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7688:3:28" - } - ] - } - ] - }, - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7305:5:28", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7312:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7320:3:28", - "type": "" - } - ], - "src": "7261:443:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7784:406:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7794:26:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7814:5:28" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "7808:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "7808:12:28" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7798:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7836:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7841:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7829:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7829:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7829:19:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7857:14:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7867:4:28", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "7861:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7880:19:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7891:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7896:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7887:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7887:12:28" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7880:3:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7915:3:28" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7920:5:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7908:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7908:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7908:18:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7935:32:28", - "value": { - "arguments": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7959:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7964:2:28" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "7949:9:28" - }, - "nodeType": "YulFunctionCall", - "src": "7949:18:28" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "7939:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7976:12:28", - "value": { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7985:3:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "7980:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8046:119:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8067:3:28" - }, - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "8078:6:28" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "8072:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "8072:13:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8060:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8060:26:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8060:26:28" - }, - { - "nodeType": "YulAssignment", - "src": "8099:19:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8110:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8115:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8106:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8106:12:28" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8099:3:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8131:24:28", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "8145:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8153:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8141:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8141:14:28" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "8131:6:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8008:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8011:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "8005:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "8005:13:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "8019:18:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8021:14:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8030:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8033:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8026:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8026:9:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8021:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "8001:3:28", - "statements": [] - }, - "src": "7997:168:28" - }, - { - "nodeType": "YulAssignment", - "src": "8174:10:28", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8181:3:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8174:3:28" - } - ] - } - ] - }, - "name": "abi_encode_t_array$_t_uint256_$dyn_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7761:5:28", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7768:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7776:3:28", - "type": "" - } - ], - "src": "7709:481:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8238:50:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8255:3:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8274:5:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8267:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8267:13:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8260:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8260:21:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8248:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8248:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8248:34:28" - } - ] - }, - "name": "abi_encode_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8222:5:28", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8229:3:28", - "type": "" - } - ], - "src": "8195:93:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8352:1030:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8362:16:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8372:6:28", - "type": "", - "value": "0x0100" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "8366:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8394:3:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8405:5:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8399:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "8399:12:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8387:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8387:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8387:25:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8421:43:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8451:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8458:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8447:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8447:16:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8441:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "8441:23:28" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "8425:12:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8484:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8489:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8480:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8480:14:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8496:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8473:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8473:26:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8473:26:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8508:74:28", - "value": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "8555:12:28" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8573:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8578:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8569:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8569:12:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "8520:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "8520:62:28" - }, - "variables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8512:4:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8591:45:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8623:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8630:4:28", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8619:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8619:16:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8613:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "8613:23:28" - }, - "variables": [ - { - "name": "memberValue0_1", - "nodeType": "YulTypedName", - "src": "8595:14:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8656:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8661:4:28", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8652:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8652:14:28" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8672:4:28" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8678:3:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8668:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8668:14:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8645:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8645:38:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8645:38:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8692:70:28", - "value": { - "arguments": [ - { - "name": "memberValue0_1", - "nodeType": "YulIdentifier", - "src": "8741:14:28" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8757:4:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "8706:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "8706:56:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "8696:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8771:45:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8803:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8810:4:28", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8799:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8799:16:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8793:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "8793:23:28" - }, - "variables": [ - { - "name": "memberValue0_2", - "nodeType": "YulTypedName", - "src": "8775:14:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8836:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8841:4:28", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8832:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8832:14:28" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "8852:6:28" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8860:3:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8848:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8848:16:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8825:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8825:40:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8825:40:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8874:72:28", - "value": { - "arguments": [ - { - "name": "memberValue0_2", - "nodeType": "YulIdentifier", - "src": "8923:14:28" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "8939:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "8888:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "8888:58:28" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "8878:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8955:45:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8987:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8994:4:28", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8983:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8983:16:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8977:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "8977:23:28" - }, - "variables": [ - { - "name": "memberValue0_3", - "nodeType": "YulTypedName", - "src": "8959:14:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9020:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9025:4:28", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9016:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9016:14:28" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "9036:6:28" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9044:3:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9032:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9032:16:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9009:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9009:40:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9009:40:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9058:72:28", - "value": { - "arguments": [ - { - "name": "memberValue0_3", - "nodeType": "YulIdentifier", - "src": "9107:14:28" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "9123:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "9072:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "9072:58:28" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "9062:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9150:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9155:4:28", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9146:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9146:14:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9172:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9179:4:28", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9168:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9168:16:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "9162:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "9162:23:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9139:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9139:47:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9139:47:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9206:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9211:4:28", - "type": "", - "value": "0xc0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9202:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9202:14:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9228:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9235:4:28", - "type": "", - "value": "0xc0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9224:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9224:16:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "9218:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "9218:23:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9195:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9195:47:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9195:47:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9251:45:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9283:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9290:4:28", - "type": "", - "value": "0xe0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9279:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9279:16:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "9273:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "9273:23:28" - }, - "variables": [ - { - "name": "memberValue0_4", - "nodeType": "YulTypedName", - "src": "9255:14:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memberValue0_4", - "nodeType": "YulIdentifier", - "src": "9323:14:28" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9343:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9348:4:28", - "type": "", - "value": "0xe0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9339:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9339:14:28" - } - ], - "functionName": { - "name": "abi_encode_t_bool", - "nodeType": "YulIdentifier", - "src": "9305:17:28" - }, - "nodeType": "YulFunctionCall", - "src": "9305:49:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9305:49:28" - }, - { - "nodeType": "YulAssignment", - "src": "9363:13:28", - "value": { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "9370:6:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9363:3:28" - } - ] - } - ] - }, - "name": "abi_encode_t_struct$_Block", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8329:5:28", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8336:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8344:3:28", - "type": "" - } - ], - "src": "8293:1089:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9488:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9498:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9510:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9521:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9506:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9506:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9498:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9540:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9555:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9563:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9551:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9551:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9533:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9533:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9533:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9457:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9468:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9479:4:28", - "type": "" - } - ], - "src": "9387:226:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9769:116:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9786:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9797:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9779:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9779:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9779:21:28" - }, - { - "nodeType": "YulAssignment", - "src": "9809:70:28", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9852:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9864:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9875:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9860:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9860:18:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "9817:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "9817:62:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9809:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9738:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9749:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9760:4:28", - "type": "" - } - ], - "src": "9618:267:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9985:92:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9995:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10007:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10018:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10003:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10003:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9995:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10037:9:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10062:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10055:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10055:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10048:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10048:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10030:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10030:41:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10030:41:28" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9954:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9965:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9976:4:28", - "type": "" - } - ], - "src": "9890:187:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10183:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10193:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10205:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10216:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10201:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10201:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10193:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10235:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10246:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10228:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10228:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10228:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10152:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10163:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10174:4:28", - "type": "" - } - ], - "src": "10082:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10385:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10395:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10407:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10418:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10403:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10403:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10395:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10437:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10452:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10460:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10448:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10448:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10430:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10430:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10430:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IJobManager_$4681__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10354:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10365:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10376:4:28", - "type": "" - } - ], - "src": "10264:246:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10638:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10648:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10660:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10671:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10656:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10656:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10648:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10690:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10705:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10713:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10701:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10701:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10683:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10683:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10683:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStakeManager_$4785__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10607:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10618:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10629:4:28", - "type": "" - } - ], - "src": "10515:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10891:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10901:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10913:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10924:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10909:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10909:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10901:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10943:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10958:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10966:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10954:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10954:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10936:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10936:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10936:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStateManager_$4798__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10860:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10871:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10882:4:28", - "type": "" - } - ], - "src": "10768:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11143:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11153:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11165:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11176:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11161:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11161:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11153:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11195:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11210:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11218:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11206:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11206:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11188:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11188:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11188:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IVoteManager_$4886__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11112:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11123:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11134:4:28", - "type": "" - } - ], - "src": "11021:247:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11417:130:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11427:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11439:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11450:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11435:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11435:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11427:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11469:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11484:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11492:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11480:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11480:17:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11462:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11462:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11462:36:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11518:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11529:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11514:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11514:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11534:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11507:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11507:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11507:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_rational_10_by_1_t_bytes32__to_t_uint8_t_bytes32__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11378:9:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11389:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11397:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11408:4:28", - "type": "" - } - ], - "src": "11273:274:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11724:173:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11734:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11746:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11757:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11742:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11742:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11734:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11776:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11791:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11799:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11787:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11787:17:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11769:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11769:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11769:36:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11825:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11836:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11821:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11821:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11841:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11814:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11814:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11814:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11868:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11879:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11864:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11864:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "11884:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11857:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11857:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11857:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_rational_10_by_1_t_uint256_t_bytes32__to_t_uint8_t_uint256_t_bytes32__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11677:9:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "11688:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11696:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11704:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11715:4:28", - "type": "" - } - ], - "src": "11552:345:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12076:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12093:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12104:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12086:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12086:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12086:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12127:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12138:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12123:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12123:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12143:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12116:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12116:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12116:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12166:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12177:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12162:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12162:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12182:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12155:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12155:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12155:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12237:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12248:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12233:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12233:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12253:17:28", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12226:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12226:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12226:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "12280:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12292:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12303:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12288:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12288:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12280:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12053:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12067:4:28", - "type": "" - } - ], - "src": "11902:411:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12492:231:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12509:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12520:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12502:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12502:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12502:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12543:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12554:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12539:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12539:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12559:2:28", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12532:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12532:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12532:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12582:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12593:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12578:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12578:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12598:34:28", - "type": "", - "value": "sorted[i] is not greater than la" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12571:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12571:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12571:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12653:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12664:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12649:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12649:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12669:11:28", - "type": "", - "value": "stVisited" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12642:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12642:39:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12642:39:28" - }, - { - "nodeType": "YulAssignment", - "src": "12690:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12702:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12713:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12698:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12698:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12690:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1ec6875020a1d7aab0ee87c86d27f1e233ed357292ee2698d9d8c4f8dc8faf8f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12469:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12483:4:28", - "type": "" - } - ], - "src": "12318:405:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12902:161:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12919:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12930:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12912:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12912:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12912:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12953:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12964:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12949:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12949:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12969:2:28", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12942:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12942:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12942:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12992:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13003:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12988:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12988:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13008:13:28", - "type": "", - "value": "not elected" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12981:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12981:41:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12981:41:28" - }, - { - "nodeType": "YulAssignment", - "src": "13031:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13043:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13054:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13039:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13039:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13031:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_3a53d0d6126438ff1f7ac8601076ce122aa0d007e64b2d6f4fd42962b5d21f79__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12879:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12893:4:28", - "type": "" - } - ], - "src": "12728:335:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13242:238:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13259:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13270:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13252:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13252:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13252:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13293:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13304:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13289:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13289:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13309:2:28", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13282:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13282:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13282:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13332:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13343:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13328:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13328:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13348:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13321:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13321:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13321:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13403:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13414:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13399:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13399:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13419:18:28", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13392:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13392:46:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13392:46:28" - }, - { - "nodeType": "YulAssignment", - "src": "13447:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13459:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13470:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13455:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13455:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13447:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13219:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13233:4:28", - "type": "" - } - ], - "src": "13068:412:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13659:165:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13676:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13687:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13669:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13669:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13669:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13710:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13721:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13706:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13706:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13726:2:28", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13699:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13699:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13699:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13749:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13760:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13745:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13745:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13765:17:28", - "type": "", - "value": "incorrect epoch" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13738:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13738:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13738:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "13792:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13804:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13815:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13800:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13800:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13792:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13636:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13650:4:28", - "type": "" - } - ], - "src": "13485:339:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14003:176:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14020:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14031:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14013:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14013:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14013:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14054:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14065:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14050:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14050:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14070:2:28", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14043:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14043:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14043:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14093:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14104:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14089:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14089:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14109:28:28", - "type": "", - "value": "ACL: sender not authorized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14082:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14082:56:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14082:56:28" - }, - { - "nodeType": "YulAssignment", - "src": "14147:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14159:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14170:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14155:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14155:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14147:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13980:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13994:4:28", - "type": "" - } - ], - "src": "13829:350:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14358:170:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14375:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14386:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14368:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14368:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14368:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14409:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14420:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14405:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14405:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14425:2:28", - "type": "", - "value": "20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14398:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14398:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14398:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14448:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14459:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14444:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14444:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14464:22:28", - "type": "", - "value": "Median can't be zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14437:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14437:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14437:50:28" - }, - { - "nodeType": "YulAssignment", - "src": "14496:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14508:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14519:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14504:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14504:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14496:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_caba54141c8302d91fc582341a896e0618c7585ad35d02d6bc357749c156dc4f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14335:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14349:4:28", - "type": "" - } - ], - "src": "14184:344:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14707:170:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14724:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14735:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14717:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14717:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14717:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14758:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14769:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14754:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14754:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14774:2:28", - "type": "", - "value": "20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14747:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14747:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14747:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14797:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14808:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14793:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14793:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14813:22:28", - "type": "", - "value": "AssetId not matching" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14786:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14786:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14786:50:28" - }, - { - "nodeType": "YulAssignment", - "src": "14845:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14857:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14868:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14853:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14853:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14845:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_d8502787b53e287151708a5e7afa0877b07e01519c554f40b2a5921a6d13c115__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14684:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14698:4:28", - "type": "" - } - ], - "src": "14533:344:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15056:245:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15073:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15084:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15066:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15066:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15066:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15107:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15118:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15103:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15103:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15123:2:28", - "type": "", - "value": "55" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15096:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15096:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15096:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15146:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15157:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15142:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15142:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15162:34:28", - "type": "", - "value": "Proposed Alternate block is iden" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15135:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15135:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15135:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15217:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15228:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15213:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15213:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15233:25:28", - "type": "", - "value": "tical to proposed block" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15206:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15206:53:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15206:53:28" - }, - { - "nodeType": "YulAssignment", - "src": "15268:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15280:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15291:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15276:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15276:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15268:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e0caad04d64eaccf0f1520337c6a454830add2cfcac5d358ae30ee8051ad8105__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15033:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15047:4:28", - "type": "" - } - ], - "src": "14882:419:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15480:175:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15497:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15508:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15490:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15490:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15490:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15531:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15542:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15527:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15527:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15547:2:28", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15520:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15520:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15520:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15570:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15581:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15566:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15566:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15586:27:28", - "type": "", - "value": "stake below minimum stake" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15559:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15559:55:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15559:55:28" - }, - { - "nodeType": "YulAssignment", - "src": "15623:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15635:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15646:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15631:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15631:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15623:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e207c79d2d176c883fa78b2700e15a84ccf7c71d444ce3f422160c532fe0bb38__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15457:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15471:4:28", - "type": "" - } - ], - "src": "15306:349:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15834:223:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15851:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15862:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15844:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15844:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15844:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15885:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15896:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15881:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15881:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15901:2:28", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15874:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15874:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15874:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15924:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15935:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15920:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15920:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15940:34:28", - "type": "", - "value": "Total stake revealed doesnt matc" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15913:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15913:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15913:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15995:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16006:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15991:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15991:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16011:3:28", - "type": "", - "value": "h" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15984:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15984:31:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15984:31:28" - }, - { - "nodeType": "YulAssignment", - "src": "16024:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16036:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16047:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16032:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16032:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16024:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ecd7c03dd4fefcf0b1a7bf52abee3e5ee96cf728822576b5a1ea0511bb7da846__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15811:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15825:4:28", - "type": "" - } - ], - "src": "15660:397:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16236:165:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16253:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16264:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16246:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16246:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16246:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16287:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16298:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16283:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16283:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16303:2:28", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16276:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16276:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16276:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16326:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16337:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16322:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16322:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16342:17:28", - "type": "", - "value": "incorrect state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16315:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16315:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16315:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "16369:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16381:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16392:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16377:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16377:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16369:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16213:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16227:4:28", - "type": "" - } - ], - "src": "16062:339:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16580:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16597:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16608:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16590:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16590:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16590:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16631:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16642:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16627:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16627:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16647:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16620:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16620:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16620:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16670:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16681:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16666:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16666:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16686:34:28", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16659:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16659:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16659:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16741:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16752:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16737:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16737:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16757:17:28", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16730:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16730:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16730:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "16784:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16796:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16807:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16792:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16792:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16784:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16557:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16571:4:28", - "type": "" - } - ], - "src": "16406:411:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16969:108:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16986:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16997:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16979:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16979:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16979:21:28" - }, - { - "nodeType": "YulAssignment", - "src": "17009:62:28", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17044:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17056:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17067:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17052:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17052:18:28" - } - ], - "functionName": { - "name": "abi_encode_t_struct$_Block", - "nodeType": "YulIdentifier", - "src": "17017:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "17017:54:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17009:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_struct$_Block_$5550_memory_ptr__to_t_struct$_Block_$5550_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16938:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "16949:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16960:4:28", - "type": "" - } - ], - "src": "16822:255:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17463:506:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17480:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17491:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17473:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17473:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17473:22:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17504:69:28", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17545:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17557:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17568:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17553:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17553:19:28" - } - ], - "functionName": { - "name": "abi_encode_t_struct$_Block", - "nodeType": "YulIdentifier", - "src": "17518:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "17518:55:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "17508:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17593:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17604:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17589:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17589:18:28" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "17613:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17621:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17609:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17609:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17582:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17582:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17582:50:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17641:64:28", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "17690:6:28" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "17698:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "17655:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "17655:50:28" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "17645:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17725:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17736:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17721:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17721:18:28" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "17745:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17753:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17741:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17741:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17714:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17714:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17714:50:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17773:64:28", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "17822:6:28" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "17830:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "17787:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "17787:50:28" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "17777:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17857:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17868:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17853:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17853:18:28" - }, - { - "arguments": [ - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "17877:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17885:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17873:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17873:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17846:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17846:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17846:50:28" - }, - { - "nodeType": "YulAssignment", - "src": "17905:58:28", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "17948:6:28" - }, - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "17956:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "17913:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "17913:50:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17905:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_struct$_Block_$5550_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_struct$_Block_$5550_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17408:9:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "17419:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "17427:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "17435:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17443:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17454:4:28", - "type": "" - } - ], - "src": "17082:887:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18075:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18085:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18097:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18108:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18093:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18093:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18085:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18127:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18138:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18120:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18120:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18120:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18044:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18055:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18066:4:28", - "type": "" - } - ], - "src": "17974:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18313:211:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18323:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18335:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18346:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18331:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18331:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18323:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18365:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18376:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18358:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18358:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18358:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18403:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18414:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18399:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18399:18:28" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18423:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18431:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "18419:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18419:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18392:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18392:83:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18392:83:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18495:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18506:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18491:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18491:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "18511:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18484:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18484:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18484:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18266:9:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "18277:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18285:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18293:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18304:4:28", - "type": "" - } - ], - "src": "18156:368:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18658:119:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18668:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18680:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18691:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18676:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18676:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18668:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18710:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18721:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18703:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18703:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18703:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18748:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18759:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18744:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18744:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18764:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18737:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18737:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18737:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18619:9:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18630:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18638:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18649:4:28", - "type": "" - } - ], - "src": "18529:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19307:754:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "19317:13:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19327:3:28", - "type": "", - "value": "288" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "19321:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19346:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "19357:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19339:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19339:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19339:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19384:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19395:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19380:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19380:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "19400:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19373:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19373:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19373:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19427:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19438:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19423:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19423:18:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19443:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19416:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19416:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19416:30:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19455:76:28", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "19504:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19516:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19527:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19512:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19512:18:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "19469:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "19469:62:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "19459:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19551:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19562:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19547:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19547:18:28" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "19571:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19579:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "19567:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19567:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19540:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19540:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19540:50:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19599:64:28", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "19648:6:28" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "19656:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "19613:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "19613:50:28" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "19603:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19683:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19694:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19679:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19679:19:28" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "19704:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19712:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "19700:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19700:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19672:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19672:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19672:51:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19732:64:28", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "19781:6:28" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "19789:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "19746:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "19746:50:28" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "19736:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19816:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19827:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19812:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19812:19:28" - }, - { - "arguments": [ - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "19837:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19845:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "19833:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19833:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19805:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19805:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19805:51:28" - }, - { - "nodeType": "YulAssignment", - "src": "19865:58:28", - "value": { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "19908:6:28" - }, - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "19916:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "19873:34:28" - }, - "nodeType": "YulFunctionCall", - "src": "19873:50:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19865:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19943:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19954:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19939:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19939:19:28" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "19960:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19932:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19932:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19932:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19987:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19998:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19983:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19983:19:28" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "20004:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19976:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19976:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19976:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20031:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20042:3:28", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20027:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20027:19:28" - }, - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "20048:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20020:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20020:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20020:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19212:9:28", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "19223:6:28", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "19231:6:28", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "19239:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "19247:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "19255:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "19263:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "19271:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "19279:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "19287:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19298:4:28", - "type": "" - } - ], - "src": "18782:1279:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20523:678:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20540:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "20551:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20533:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20533:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20533:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20578:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20589:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20574:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20574:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "20594:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20567:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20567:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20567:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20621:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20632:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20617:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20617:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20637:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20610:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20610:31:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20610:31:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20650:85:28", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "20707:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20719:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20730:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20715:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20715:19:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_storage", - "nodeType": "YulIdentifier", - "src": "20664:42:28" - }, - "nodeType": "YulFunctionCall", - "src": "20664:71:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "20654:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20755:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20766:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20751:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20751:18:28" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "20775:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20783:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20771:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20771:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20744:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20744:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20744:50:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20803:72:28", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "20860:6:28" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "20868:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_storage", - "nodeType": "YulIdentifier", - "src": "20817:42:28" - }, - "nodeType": "YulFunctionCall", - "src": "20817:58:28" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "20807:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20895:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20906:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20891:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20891:19:28" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "20916:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20924:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20912:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20912:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20884:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20884:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20884:51:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20944:72:28", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "21001:6:28" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "21009:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_storage", - "nodeType": "YulIdentifier", - "src": "20958:42:28" - }, - "nodeType": "YulFunctionCall", - "src": "20958:58:28" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "20948:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21036:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21047:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21032:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21032:19:28" - }, - { - "arguments": [ - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "21057:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21065:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21053:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21053:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21025:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21025:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21025:51:28" - }, - { - "nodeType": "YulAssignment", - "src": "21085:66:28", - "value": { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "21136:6:28" - }, - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "21144:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_storage", - "nodeType": "YulIdentifier", - "src": "21093:42:28" - }, - "nodeType": "YulFunctionCall", - "src": "21093:58:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21085:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21171:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21182:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21167:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21167:19:28" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "21188:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21160:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21160:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21160:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_uint256__to_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "20444:9:28", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "20455:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "20463:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "20471:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "20479:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "20487:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "20495:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "20503:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "20514:4:28", - "type": "" - } - ], - "src": "20066:1135:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21363:162:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21373:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21385:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21396:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21381:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21381:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21373:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21415:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "21426:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21408:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21408:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21408:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21453:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21464:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21449:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21449:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "21469:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21442:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21442:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21442:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21496:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21507:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21492:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21492:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "21512:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21485:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21485:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21485:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "21316:9:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "21327:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "21335:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "21343:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "21354:4:28", - "type": "" - } - ], - "src": "21206:319:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21709:222:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21719:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21731:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21742:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21727:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21727:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21719:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21762:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "21773:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21755:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21755:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21755:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21800:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21811:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21796:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21796:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "21816:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21789:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21789:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21789:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21843:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21854:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21839:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21839:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "21859:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21832:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21832:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21832:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21886:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21897:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21882:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21882:18:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "21916:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "21909:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21909:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "21902:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21902:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21875:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21875:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21875:50:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_bool__to_t_uint256_t_uint256_t_uint256_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "21654:9:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "21665:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "21673:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "21681:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "21689:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "21700:4:28", - "type": "" - } - ], - "src": "21530:401:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22177:294:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22187:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22199:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22210:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22195:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22195:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22187:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22230:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "22241:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22223:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "22223:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "22223:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22268:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22279:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22264:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22264:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "22284:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22257:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "22257:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "22257:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22311:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22322:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22307:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22307:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "22327:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22300:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "22300:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "22300:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22354:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22365:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22350:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22350:18:28" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "22370:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22343:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "22343:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "22343:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22397:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22408:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22393:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22393:19:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "22414:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22386:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "22386:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "22386:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22441:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22452:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22437:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22437:19:28" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "22458:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22430:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "22430:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "22430:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22106:9:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "22117:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "22125:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "22133:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "22141:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "22149:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22157:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "22168:4:28", - "type": "" - } - ], - "src": "21936:535:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22524:80:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "22551:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "22553:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "22553:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "22553:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "22540:1:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "22547:1:28" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "22543:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22543:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "22537:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "22537:13:28" - }, - "nodeType": "YulIf", - "src": "22534:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "22582:16:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "22593:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "22596:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22589:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22589:9:28" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "22582:3:28" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "22507:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "22510:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "22516:3:28", - "type": "" - } - ], - "src": "22476:128:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22655:74:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "22678:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "22680:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "22680:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "22680:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "22675:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "22668:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "22668:9:28" - }, - "nodeType": "YulIf", - "src": "22665:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "22709:14:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "22718:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "22721:1:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "22714:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22714:9:28" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "22709:1:28" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "22640:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "22643:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "22649:1:28", - "type": "" - } - ], - "src": "22609:120:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22786:116:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "22845:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "22847:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "22847:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "22847:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "22817:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "22810:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "22810:9:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "22803:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "22803:17:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "22825:1:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22836:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "22832:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22832:6:28" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "22840:1:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "22828:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22828:14:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "22822:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "22822:21:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "22799:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22799:45:28" - }, - "nodeType": "YulIf", - "src": "22796:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "22876:20:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "22891:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "22894:1:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "22887:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "22887:9:28" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "22876:7:28" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "22765:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "22768:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "22774:7:28", - "type": "" - } - ], - "src": "22734:168:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22956:76:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "22978:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "22980:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "22980:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "22980:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "22972:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "22975:1:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "22969:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "22969:8:28" - }, - "nodeType": "YulIf", - "src": "22966:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "23009:17:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "23021:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23024:1:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "23017:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "23017:9:28" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "23009:4:28" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "22938:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "22941:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "22947:4:28", - "type": "" - } - ], - "src": "22907:125:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23084:89:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "23111:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "23113:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "23113:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "23113:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "23104:5:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "23097:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "23097:13:28" - }, - "nodeType": "YulIf", - "src": "23094:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "23142:25:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "23153:5:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23164:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "23160:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "23160:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23149:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "23149:18:28" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "23142:3:28" - } - ] - } - ] - }, - "name": "decrement_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "23066:5:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "23076:3:28", - "type": "" - } - ], - "src": "23037:136:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23225:88:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "23256:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "23258:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "23258:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "23258:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "23241:5:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23252:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "23248:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "23248:6:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "23238:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "23238:17:28" - }, - "nodeType": "YulIf", - "src": "23235:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "23287:20:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "23298:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23305:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23294:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "23294:13:28" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "23287:3:28" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "23207:5:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "23217:3:28", - "type": "" - } - ], - "src": "23178:135:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23363:130:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "23373:31:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "23392:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23399:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "23388:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "23388:16:28" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "23377:7:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23434:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "23436:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "23436:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "23436:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "23419:7:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23428:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "23416:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "23416:17:28" - }, - "nodeType": "YulIf", - "src": "23413:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "23465:22:28", - "value": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "23476:7:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23485:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23472:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "23472:15:28" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "23465:3:28" - } - ] - } - ] - }, - "name": "increment_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "23345:5:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "23355:3:28", - "type": "" - } - ], - "src": "23318:175:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23536:74:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "23559:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "23561:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "23561:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "23561:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23556:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "23549:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "23549:9:28" - }, - "nodeType": "YulIf", - "src": "23546:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "23590:14:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "23599:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23602:1:28" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "23595:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "23595:9:28" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "23590:1:28" - } - ] - } - ] - }, - "name": "mod_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "23521:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "23524:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "23530:1:28", - "type": "" - } - ], - "src": "23498:112:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23647:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23664:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23667:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23657:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "23657:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "23657:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23761:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23764:4:28", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23754:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "23754:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "23754:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23785:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23788:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "23778:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "23778:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "23778:15:28" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "23615:184:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23836:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23853:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23856:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23846:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "23846:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "23846:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23950:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23953:4:28", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23943:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "23943:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "23943:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23974:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23977:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "23967:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "23967:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "23967:15:28" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "23804:184:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24025:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24042:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24045:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24035:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "24035:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "24035:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24139:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24142:4:28", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24132:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "24132:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "24132:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24163:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24166:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "24156:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "24156:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "24156:15:28" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "23993:184:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24229:109:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "24316:16:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24325:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24328:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "24318:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "24318:12:28" - }, - "nodeType": "YulExpressionStatement", - "src": "24318:12:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "24252:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "24263:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24270:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "24259:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "24259:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "24249:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "24249:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "24242:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "24242:73:28" - }, - "nodeType": "YulIf", - "src": "24239:2:28" - } - ] - }, - "name": "validator_revert_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "24218:5:28", - "type": "" - } - ], - "src": "24182:156:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n function abi_decode_t_array$_t_uint256_$dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let _3 := 0xffffffffffffffff\n if gt(_1, _3) { panic_error_0x41() }\n let _4 := mul(_1, _2)\n let memPtr := mload(64)\n let newFreePtr := add(add(memPtr, _4), _2)\n if or(gt(newFreePtr, _3), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n let dst := memPtr\n mstore(memPtr, _1)\n dst := add(memPtr, _2)\n let src := add(offset, _2)\n if gt(add(add(offset, _4), _2), end) { revert(array, array) }\n let i := array\n for { } lt(i, _1) { i := add(i, 1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _2)\n src := add(src, _2)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_addresst_addresst_addresst_address(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(value0, value0) }\n let value := calldataload(headStart)\n validator_revert_t_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_t_address(value_1)\n value1 := value_1\n let value_2 := calldataload(add(headStart, 64))\n validator_revert_t_address(value_2)\n value2 := value_2\n let value_3 := calldataload(add(headStart, 96))\n validator_revert_t_address(value_3)\n value3 := value_3\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_t_address(value)\n value1 := value\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Staker_$5529_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 256\n if slt(sub(dataEnd, headStart), _1) { revert(value0, value0) }\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, _1)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, mload(headStart))\n mstore(add(memPtr, 32), abi_decode_t_address_fromMemory(add(headStart, 32)))\n mstore(add(memPtr, 64), mload(add(headStart, 64)))\n mstore(add(memPtr, 96), mload(add(headStart, 96)))\n mstore(add(memPtr, 128), mload(add(headStart, 128)))\n mstore(add(memPtr, 160), mload(add(headStart, 160)))\n mstore(add(memPtr, 192), mload(add(headStart, 192)))\n mstore(add(memPtr, 224), mload(add(headStart, 224)))\n value0 := memPtr\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_t_address(value)\n value1 := value\n }\n function abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 224) { revert(value4, value4) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(value4, value4) }\n value1 := abi_decode_t_array$_t_uint256_$dyn(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(value4, value4) }\n value2 := abi_decode_t_array$_t_uint256_$dyn(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(value4, value4) }\n value3 := abi_decode_t_array$_t_uint256_$dyn(add(headStart, offset_2), dataEnd)\n let offset_3 := calldataload(add(headStart, 128))\n if gt(offset_3, _1) { revert(value4, value4) }\n value4 := abi_decode_t_array$_t_uint256_$dyn(add(headStart, offset_3), dataEnd)\n value5 := calldataload(add(headStart, 160))\n value6 := calldataload(add(headStart, 192))\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_uint256t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(value2, value2) }\n value2 := abi_decode_t_array$_t_uint256_$dyn(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, 0xff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_t_array$_t_uint256_$dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := end\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_t_array$_t_uint256_$dyn_storage(value, pos) -> end\n {\n let length := sload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n mstore(end, value)\n let srcPtr := keccak256(end, _1)\n let i := end\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, 1)\n }\n end := pos\n }\n function abi_encode_t_bool(value, pos)\n {\n mstore(pos, iszero(iszero(value)))\n }\n function abi_encode_t_struct$_Block(value, pos) -> end\n {\n let _1 := 0x0100\n mstore(pos, mload(value))\n let memberValue0 := mload(add(value, 0x20))\n mstore(add(pos, 0x20), _1)\n let tail := abi_encode_t_array$_t_uint256_$dyn(memberValue0, add(pos, _1))\n let memberValue0_1 := mload(add(value, 0x40))\n mstore(add(pos, 0x40), sub(tail, pos))\n let tail_1 := abi_encode_t_array$_t_uint256_$dyn(memberValue0_1, tail)\n let memberValue0_2 := mload(add(value, 0x60))\n mstore(add(pos, 0x60), sub(tail_1, pos))\n let tail_2 := abi_encode_t_array$_t_uint256_$dyn(memberValue0_2, tail_1)\n let memberValue0_3 := mload(add(value, 0x80))\n mstore(add(pos, 0x80), sub(tail_2, pos))\n let tail_3 := abi_encode_t_array$_t_uint256_$dyn(memberValue0_3, tail_2)\n mstore(add(pos, 0xa0), mload(add(value, 0xa0)))\n mstore(add(pos, 0xc0), mload(add(value, 0xc0)))\n let memberValue0_4 := mload(add(value, 0xe0))\n abi_encode_t_bool(memberValue0_4, add(pos, 0xe0))\n end := tail_3\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_t_array$_t_uint256_$dyn(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_contract$_IJobManager_$4681__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IStakeManager_$4785__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IStateManager_$4798__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IVoteManager_$4886__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_rational_10_by_1_t_bytes32__to_t_uint8_t_bytes32__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xff))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_rational_10_by_1_t_uint256_t_bytes32__to_t_uint8_t_uint256_t_bytes32__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, and(value0, 0xff))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_1ec6875020a1d7aab0ee87c86d27f1e233ed357292ee2698d9d8c4f8dc8faf8f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"sorted[i] is not greater than la\")\n mstore(add(headStart, 96), \"stVisited\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3a53d0d6126438ff1f7ac8601076ce122aa0d007e64b2d6f4fd42962b5d21f79__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 11)\n mstore(add(headStart, 64), \"not elected\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect epoch\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"ACL: sender not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_caba54141c8302d91fc582341a896e0618c7585ad35d02d6bc357749c156dc4f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Median can't be zero\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_d8502787b53e287151708a5e7afa0877b07e01519c554f40b2a5921a6d13c115__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"AssetId not matching\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e0caad04d64eaccf0f1520337c6a454830add2cfcac5d358ae30ee8051ad8105__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 55)\n mstore(add(headStart, 64), \"Proposed Alternate block is iden\")\n mstore(add(headStart, 96), \"tical to proposed block\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_e207c79d2d176c883fa78b2700e15a84ccf7c71d444ce3f422160c532fe0bb38__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"stake below minimum stake\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ecd7c03dd4fefcf0b1a7bf52abee3e5ee96cf728822576b5a1ea0511bb7da846__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"Total stake revealed doesnt matc\")\n mstore(add(headStart, 96), \"h\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_struct$_Block_$5550_memory_ptr__to_t_struct$_Block_$5550_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_t_struct$_Block(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_struct$_Block_$5550_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_struct$_Block_$5550_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 128)\n let tail_1 := abi_encode_t_struct$_Block(value0, add(headStart, 128))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_array$_t_uint256_$dyn(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n let tail_3 := abi_encode_t_array$_t_uint256_$dyn(value2, tail_2)\n mstore(add(headStart, 96), sub(tail_3, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn(value3, tail_3)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 288\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_t_array$_t_uint256_$dyn(value2, add(headStart, _1))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_array$_t_uint256_$dyn(value3, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n let tail_3 := abi_encode_t_array$_t_uint256_$dyn(value4, tail_2)\n mstore(add(headStart, 160), sub(tail_3, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn(value5, tail_3)\n mstore(add(headStart, 192), value6)\n mstore(add(headStart, 224), value7)\n mstore(add(headStart, 256), value8)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_uint256__to_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 224)\n let tail_1 := abi_encode_t_array$_t_uint256_$dyn_storage(value2, add(headStart, 224))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_array$_t_uint256_$dyn_storage(value3, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n let tail_3 := abi_encode_t_array$_t_uint256_$dyn_storage(value4, tail_2)\n mstore(add(headStart, 160), sub(tail_3, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_storage(value5, tail_3)\n mstore(add(headStart, 192), value6)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_bool__to_t_uint256_t_uint256_t_uint256_t_bool__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), iszero(iszero(value3)))\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 192)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function decrement_t_uint256(value) -> ret\n {\n if iszero(value) { panic_error_0x11() }\n ret := add(value, not(0))\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function increment_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if eq(value_1, 0xff) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x12()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function validator_revert_t_address(value)\n {\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1844 - }, - { - "length": 20, - "start": 2331 - }, - { - "length": 20, - "start": 4205 - }, - { - "length": 20, - "start": 5626 - }, - { - "length": 20, - "start": 7419 - }, - { - "length": 20, - "start": 8016 - }, - { - "length": 20, - "start": 12051 - } - ] - }, - "contracts/lib/Random.sol": { - "Random": [ - { - "length": 20, - "start": 2920 - }, - { - "length": 20, - "start": 3257 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50600436106101c45760003560e01c80635ce8772f116100f9578063a27ce1ef11610097578063d547741f11610071578063d547741f146103cd578063e38c7c42146103e0578063f25b3f99146103f3578063fae4425d14610406576101c4565b8063a27ce1ef14610384578063d1a4a43d146103a7578063d2a4669a146103ba576101c4565b806391d14854116100d357806391d148541461033e57806392b48411146103515780639b87f64414610374578063a217fddf1461037c576101c4565b80635ce8772f146102fe5780637542ff9514610311578063828496d614610319576101c4565b80632f2ff15d116101665780633cd32fd4116101405780633cd32fd4146102c85780633df395a3146102db57806342c1e587146102e35780634e6753b7146102eb576101c4565b80632f2ff15d1461028257806336568abe14610295578063378ab9a9146102a8576101c4565b806317d99c04116101a257806317d99c04146102275780631d69ff9b1461023a578063248a9ca31461024d5780632e716fb11461026d576101c4565b806301ffc9a7146101c957806304c07569146101f257806306552ff314610212575b600080fd5b6101dc6101d73660046133af565b610419565b6040516101e9919061373d565b60405180910390f35b610205610200366004613350565b610477565b6040516101e99190613b2e565b6102256102203660046132f5565b610627565b005b610225610235366004613485565b61068f565b6101dc6102483660046135b9565b610b63565b61026061025b366004613350565b610ec8565b6040516101e99190613748565b610275610edd565b6040516101e99190613716565b610225610290366004613380565b610eec565b6102256102a3366004613380565b610f2a565b6102bb6102b6366004613350565b610f6c565b6040516101e9919061372a565b6102256102d636600461354a565b610fd1565b610275611540565b61027561154f565b6102256102f936600461356b565b61155e565b61022561030c366004613350565b611c5f565b610275611e8f565b61032c610327366004613380565b611e9e565b6040516101e996959493929190613ce6565b6101dc61034c366004613380565b611edc565b61036461035f36600461354a565b611f05565b6040516101e99493929190613cc9565b610225611f4e565b61026061263b565b61039761039236600461354a565b612640565b6040516101e99493929190613b41565b6102bb6103b536600461354a565b612848565b6102bb6103c8366004613350565b6128e2565b6102256103db366004613380565b612945565b6102606103ee366004613350565b61296d565b610364610401366004613350565b61297f565b6102bb610414366004613350565b6129a9565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061046f575061046f82612a0c565b90505b919050565b61047f613151565b60008281526003602090815260409182902082516101008101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156104ec57602002820191906000526020600020905b8154815260200190600101908083116104d8575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561054457602002820191906000526020600020905b815481526020019060010190808311610530575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561059c57602002820191906000526020600020905b815481526020019060010190808311610588575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156105f457602002820191906000526020600020905b8154815260200190600101908083116105e0575b5050509183525050600582015460208201526006820154604082015260079091015460ff16151560609091015292915050565b600480546001600160a01b039586167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556005805494861694821694909417909355600680549285169284169290921790915560078054919093169116179055565b60055460408051630eaf323560e31b8152905189926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156106d357600080fd5b505afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b9190613368565b81146107325760405162461bcd60e51b8152600401610729906138cd565b60405180910390fd5b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63c198f8ba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561077657600080fd5b505af415801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae91906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108379190613368565b81146108555760405162461bcd60e51b815260040161072990613a9a565b600480546040517f6022a4850000000000000000000000000000000000000000000000000000000081526000926001600160a01b0390921691636022a485916108a091339101613716565b60206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190613368565b90506108fd858583610b63565b6109195760405162461bcd60e51b815260040161072990613839565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561095d57600080fd5b505af4158015610971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109959190613368565b600480546040516371e4cc7f60e11b81526001600160a01b039091169163e3c998fe916109c491869101613748565b6101006040518083038186803b1580156109dd57600080fd5b505afa1580156109f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1591906133ef565b604001511015610a375760405162461bcd60e51b815260040161072990613a06565b610b108a6040518061010001604052808481526020018c81526020018b81526020018a8152602001898152602001888152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e3c998fe896040518263ffffffff1660e01b8152600401610aac9190613748565b6101006040518083038186803b158015610ac557600080fd5b505afa158015610ad9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afd91906133ef565b6040015181526001602090910152612a56565b7fee036cc96c88163f353feaa4d497e88baaebeb631f40ad9b8a6d51bb6fad40768a828b8b8b8b8b8b42604051610b4f99989796959493929190613bc6565b60405180910390a150505050505050505050565b60008173__$3b76b38140ea5d8f6a5a565441556589de$__635075dbfb600a600460009054906101000a90046001600160a01b03166001600160a01b031663bc788d466040518163ffffffff1660e01b815260040160206040518083038186803b158015610bd057600080fd5b505afa158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c089190613368565b88604051602001610c199190613748565b604051602081830303815290604052805190602001206040518463ffffffff1660e01b8152600401610c4d93929190613764565b60206040518083038186803b158015610c6557600080fd5b505af4158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190613368565b610ca8906001613d0e565b14610cb557506000610ec1565b600073__$3b76b38140ea5d8f6a5a565441556589de$__63b07ceab8600a8588604051602001610ce6929190613bb8565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610d19929190613751565b60206040518083038186803b158015610d3157600080fd5b505af4158015610d45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d699190613368565b90506000610d7c64010000000083613dc2565b600480546040516371e4cc7f60e11b81529293506000926001600160a01b039091169163e3c998fe91610db1918a9101613748565b6101006040518083038186803b158015610dca57600080fd5b505afa158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0291906133ef565b6040908101516004805492516371e4cc7f60e11b81529193506001600160a01b039092169163e3c998fe91610e3991899101613748565b6101006040518083038186803b158015610e5257600080fd5b505afa158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a91906133ef565b60400151610e9d90640100000000613d3a565b610ea78284613d3a565b1115610eb95760009350505050610ec1565b600193505050505b9392505050565b60009081526020819052604090206001015490565b6005546001600160a01b031681565b610f00610ef883610ec8565b61034c613045565b610f1c5760405162461bcd60e51b81526004016107299061377f565b610f268282613049565b5050565b610f32613045565b6001600160a01b0316816001600160a01b031614610f625760405162461bcd60e51b815260040161072990613ad1565b610f2682826130ce565b600081815260036020908152604091829020600201805483518184028101840190945280845260609392830182828015610fc557602002820191906000526020600020905b815481526020019060010190808311610fb1575b50505050509050919050565b60055460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561101557600080fd5b505afa158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d9190613368565b811461106b5760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b1580156110af57600080fd5b505af41580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e791906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561113857600080fd5b505afa15801561114c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111709190613368565b811461118e5760405162461bcd60e51b815260040161072990613a9a565b60008481526001602090815260408083203384529091529081902060050154600654915163a6a145d960e01b815290916001600160a01b03169063a6a145d9906111de9088908590600401613bb8565b60206040518083038186803b1580156111f657600080fd5b505afa15801561120a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122e9190613368565b6000868152600160209081526040808320338452909152902054146112655760405162461bcd60e51b815260040161072990613a3d565b60008581526001602081815260408084203385528252808420928301546002808501546003909501548b875293529084208054919491899081106112b957634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600001549050600084116112ed5760405162461bcd60e51b81526004016107299061393b565b600089815260026020526040902080548591908a90811061131e57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201868154811061134e57634e487b7160e01b600052603260045260246000fd5b90600052602060002001541415806113d05750600089815260026020526040902080548491908a90811061139257634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160030186815481106113c257634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b806114455750600089815260026020526040902080548391908a90811061140757634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600401868154811061143757634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b1561151d57600089815260026020526040812080548a90811061147857634e487b7160e01b600052603260045260246000fd5b60009182526020909120600890910201600701805460ff1916911515919091179055600480546040517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911691630f91ce19916114e691859133918f9101613b99565b600060405180830381600087803b15801561150057600080fd5b505af1158015611514573d6000803e3d6000fd5b50505050611535565b60405162461bcd60e51b8152600401610729906139a9565b505050505050505050565b6007546001600160a01b031681565b6006546001600160a01b031681565b60055460408051630eaf323560e31b8152905185926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156115a257600080fd5b505afa1580156115b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115da9190613368565b81146115f85760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b15801561163c57600080fd5b505af4158015611650573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167491906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116c557600080fd5b505afa1580156116d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fd9190613368565b811461171b5760405162461bcd60e51b815260040161072990613a9a565b60065460405163a6a145d960e01b81526000916002916001600160a01b039091169063a6a145d990611753908a908a90600401613bb8565b60206040518083038186803b15801561176b57600080fd5b505afa15801561177f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a39190613368565b6117ad9190613d26565b60065460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d9906117e5908b908b908601613bb8565b60206040518083038186803b1580156117fd57600080fd5b505afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118359190613368565b61183f9190613d26565b60065460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611877908c908c908601613bb8565b60206040518083038186803b15801561188f57600080fd5b505afa1580156118a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c79190613368565b6118d2906003613d3a565b6118dc9190613d26565b600089815260016020908152604080832033845290915290208054600490910154919250908161192a5760008a81526001602090815260408083203384529091529020600501899055611965565b60008a815260016020908152604080832033845290915290206005015489146119655760405162461bcd60e51b815260040161072990613972565b60005b8851811015611c30578189828151811061199257634e487b7160e01b600052603260045260246000fd5b6020026020010151116119b75760405162461bcd60e51b8152600401610729906137dc565b8881815181106119d757634e487b7160e01b600052603260045260246000fd5b60200260200101519150600660009054906101000a90046001600160a01b03166001600160a01b0316639c66556f8c8c8c8581518110611a2757634e487b7160e01b600052603260045260246000fd5b60200260200101516040518463ffffffff1660e01b8152600401611a4d93929190613cb3565b60206040518083038186803b158015611a6557600080fd5b505afa158015611a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9d9190613368565b611aa79084613d0e565b60008c8152600160209081526040808320338452909152902060020154909350158015611ad45750848310155b15611b2257888181518110611af957634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018352604080822033835290935291909120600201555b60008b81526001602081815260408084203385529091529091200154158015611b4a57508583115b15611b9857888181518110611b6f57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018084526040808320338452909452929020909101555b60008b8152600160209081526040808320338452909152902060030154158015611bc157508383115b15611c0f57888181518110611be657634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018352604080822033835290935291909120600301555b6127105a1015611c1e57611c30565b80611c2881613d87565b915050611968565b506000998a52600160209081526040808c20338d52909152909920600481019990995590975550505050505050565b60055460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015611ca357600080fd5b505afa158015611cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdb9190613368565b8114611cf95760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b158015611d3d57600080fd5b505af4158015611d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7591906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc657600080fd5b505afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfe9190613368565b8114611e1c5760405162461bcd60e51b815260040161072990613a9a565b50506040805160c08101825260008082526020808301828152838501838152606085018481526080860185815260a0870186815298865260018086528887203388529095529690942094518555905191840191909155516002830155516003820155905160048201559051600590910155565b6004546001600160a01b031681565b600160208181526000938452604080852090915291835291208054918101546002820154600383015460048401546005909401549293919290919086565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60026020528160005260406000208181548110611f2157600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63d98b3ced6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f9257600080fd5b505af4158015611fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fca9190613368565b611fd48133611edc565b611ff05760405162461bcd60e51b815260040161072990613904565b60055460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561203557600080fd5b505afa158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206d9190613368565b905060005b60026000612081600185613d59565b815260208101919091526040016000205460ff8216101561263557600260006120ab600185613d59565b81526020019081526020016000208160ff16815481106120db57634e487b7160e01b600052603260045260246000fd5b600091825260209091206007600890920201015460ff16156126235760026000612106600185613d59565b81526020019081526020016000208160ff168154811061213657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600360006001856121559190613d59565b81526020810191909152604001600020815481556001808301805461217d9284019190613198565b50600282810180546121929284019190613198565b50600382810180546121a79284019190613198565b50600482810180546121bc9284019190613198565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905560006002816121fc600186613d59565b81526020019081526020016000208260ff168154811061222c57634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102015490507f5ef264ae9101b91bd7117350c5e85901297fa0569e7a3e07eb7ec0a6281529f061226b600185613d59565b826002600061227b600189613d59565b81526020019081526020016000208560ff16815481106122ab57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201600260006001896122cd9190613d59565b81526020019081526020016000208660ff16815481106122fd57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016003016002600060018a61231f9190613d59565b81526020019081526020016000208760ff168154811061234f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016004016002600060018b6123719190613d59565b81526020019081526020016000208860ff16815481106123a157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101426040516123c69796959493929190613c45565b60405180910390a160005b600260006123e0600187613d59565b81526020019081526020016000208360ff168154811061241057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101805490508160ff16101561259e576007546001600160a01b03166356350bdf6002600061244f600189613d59565b81526020019081526020016000208560ff168154811061247f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016001018360ff16815481106124b257634e487b7160e01b600052603260045260246000fd5b9060005260206000200154600260006001896124ce9190613d59565b81526020019081526020016000208660ff16815481106124fe57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018460ff168154811061253157634e487b7160e01b600052603260045260246000fd5b90600052602060002001546040518363ffffffff1660e01b8152600401612559929190613bb8565b600060405180830381600087803b15801561257357600080fd5b505af1158015612587573d6000803e3d6000fd5b50505050808061259690613da2565b9150506123d1565b50600480546040517f746c8b650000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163746c8b65916125e9918591889101613bb8565b600060405180830381600087803b15801561260357600080fd5b505af1158015612617573d6000803e3d6000fd5b50505050505050612638565b8061262d81613da2565b915050612072565b50505b50565b600081565b612648613151565b606080606060026000878152602001908152602001600020858154811061267f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016040518061010001604052908160008201548152602001600182018054806020026020016040519081016040528092919081815260200182805480156126f257602002820191906000526020600020905b8154815260200190600101908083116126de575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561274a57602002820191906000526020600020905b815481526020019060010190808311612736575b50505050508152602001600382018054806020026020016040519081016040528092919081815260200182805480156127a257602002820191906000526020600020905b81548152602001906001019080831161278e575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156127fa57602002820191906000526020600020905b8154815260200190600101908083116127e6575b505050918352505060058201546020820152600682015460408083019190915260079092015460ff161515606091820152908201519082015160808301519299919850965090945092505050565b60008281526002602052604090208054606091908390811061287a57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018054806020026020016040519081016040528092919081815260200182805480156128d557602002820191906000526020600020905b8154815260200190600101908083116128c1575b5050505050905092915050565b600081815260036020818152604092839020909101805483518184028101840190945280845260609392830182828015610fc55760200282019190600052602060002090815481526020019060010190808311610fb15750505050509050919050565b612951610ef883610ec8565b610f625760405162461bcd60e51b815260040161072990613870565b60009081526002602052604090205490565b60036020526000908152604090208054600582015460068301546007909301549192909160ff1684565b600081815260036020908152604091829020600401805483518184028101840190945280845260609392830182828015610fc55760200282019190600052602060002090815481526020019060010190808311610fb15750505050509050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600082815260026020526040902054612b335760008281526002602090815260408220805460018181018355918452928290208451600890940201928355838201518051859493612aab9385019201906131e8565b5060408201518051612ac79160028401916020909101906131e8565b5060608201518051612ae39160038401916020909101906131e8565b5060808201518051612aff9160048401916020909101906131e8565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055610f26565b600082815260026020526040812054905b600084815260026020526040902054811015612c125760c08301516000858152600260205260409020805483908110612b8d57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600601541015612bad57809150612c12565b60a08301516000858152600260205260409020805483908110612be057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600501541115612c0057809150612c12565b80612c0a81613d87565b915050612b44565b5060008381526002602090815260408220805460018181018355918452928290208551600890940201928355848201518051869493612c559385019201906131e8565b5060408201518051612c719160028401916020909101906131e8565b5060608201518051612c8d9160038401916020909101906131e8565b5060808201518051612ca99160048401916020909101906131e8565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055600083815260026020526040812054612cf390600190613d59565b90505b81811115612e1f576000848152600260205260409020612d17600183613d59565b81548110612d3557634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600260008681526020019081526020016000208281548110612d7557634e487b7160e01b600052603260045260246000fd5b60009182526020909120825460089092020190815560018083018054612d9e9284019190613198565b5060028281018054612db39284019190613198565b5060038281018054612dc89284019190613198565b5060048281018054612ddd9284019190613198565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905580612e1781613d70565b915050612cf6565b506000838152600260205260409020805483919083908110612e5157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600082015181600001556020820151816001019080519060200190612e859291906131e8565b5060408201518051612ea19160028401916020909101906131e8565b5060608201518051612ebd9160038401916020909101906131e8565b5060808201518051612ed99160048401916020909101906131e8565b5060a0820151816005015560c0820151816006015560e08201518160070160006101000a81548160ff02191690831515021790555090505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63379597e06040518163ffffffff1660e01b815260040160206040518083038186803b158015612f5557600080fd5b505af4158015612f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f8d9190613368565b60008481526002602052604090205411156126355760008381526002602052604090208054612fbe90600190613d59565b81548110612fdc57634e487b7160e01b600052603260045260246000fd5b60009182526020822060089091020181815590612ffc6001830182613223565b61300a600283016000613223565b613018600383016000613223565b613026600483016000613223565b506000600582018190556006820155600701805460ff19169055505050565b3390565b6130538282611edc565b610f26576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561308a613045565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6130d88282611edc565b15610f26576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916905561310d613045565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806101000160405280600081526020016060815260200160608152602001606081526020016060815260200160008152602001600081526020016000151581525090565b8280548282559060005260206000209081019282156131d85760005260206000209182015b828111156131d85782548255916001019190600101906131bd565b506131e492915061323d565b5090565b8280548282559060005260206000209081019282156131d8579160200282015b828111156131d8578251825591602001919060010190613208565b508054600082559060005260206000209081019061263891905b5b808211156131e4576000815560010161323e565b805161047281613e18565b600082601f83011261326d578081fd5b8135602067ffffffffffffffff8083111561328a5761328a613e02565b818302604051838282010181811084821117156132a9576132a9613e02565b604052848152838101925086840182880185018910156132c7578687fd5b8692505b858310156132e95780358452928401926001929092019184016132cb565b50979650505050505050565b6000806000806080858703121561330a578384fd5b843561331581613e18565b9350602085013561332581613e18565b9250604085013561333581613e18565b9150606085013561334581613e18565b939692955090935050565b600060208284031215613361578081fd5b5035919050565b600060208284031215613379578081fd5b5051919050565b60008060408385031215613392578182fd5b8235915060208301356133a481613e18565b809150509250929050565b6000602082840312156133c0578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ec1578182fd5b6000610100808385031215613402578182fd5b6040519081019067ffffffffffffffff8211818310171561342557613425613e02565b816040528351815261343960208501613252565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600080600080600080600060e0888a03121561349f578283fd5b87359650602088013567ffffffffffffffff808211156134bd578485fd5b6134c98b838c0161325d565b975060408a01359150808211156134de578485fd5b6134ea8b838c0161325d565b965060608a01359150808211156134ff578485fd5b61350b8b838c0161325d565b955060808a0135915080821115613520578485fd5b5061352d8a828b0161325d565b93505060a0880135915060c0880135905092959891949750929550565b6000806040838503121561355c578182fd5b50508035926020909101359150565b60008060006060848603121561357f578081fd5b8335925060208401359150604084013567ffffffffffffffff8111156135a3578182fd5b6135af8682870161325d565b9150509250925092565b6000806000606084860312156135cd578081fd5b505081359360208301359350604090920135919050565b6000602082840312156135f5578081fd5b815160ff81168114610ec1578182fd5b6000815180845260208085019450808401835b8381101561363457815187529582019590820190600101613618565b509495945050505050565b6000815480845260208085019450838352808320835b8381101561363457815487529582019560019182019101613655565b15159052565b600061010082518452602083015181602086015261369782860182613605565b915050604083015184820360408601526136b18282613605565b915050606083015184820360608601526136cb8282613605565b915050608083015184820360808601526136e58282613605565b91505060a083015160a085015260c083015160c085015260e083015161370e60e0860182613671565b509392505050565b6001600160a01b0391909116815260200190565b600060208252610ec16020830184613605565b901515815260200190565b90815260200190565b60ff929092168252602082015260400190565b60ff9390931683526020830191909152604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526029908201527f736f727465645b695d206973206e6f742067726561746572207468616e206c6160408201527f7374566973697465640000000000000000000000000000000000000000000000606082015260800190565b6020808252600b908201527f6e6f7420656c6563746564000000000000000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526014908201527f4d656469616e2063616e2774206265207a65726f000000000000000000000000604082015260600190565b60208082526014908201527f41737365744964206e6f74206d61746368696e67000000000000000000000000604082015260600190565b60208082526037908201527f50726f706f73656420416c7465726e61746520626c6f636b206973206964656e60408201527f746963616c20746f2070726f706f73656420626c6f636b000000000000000000606082015260800190565b60208082526019908201527f7374616b652062656c6f77206d696e696d756d207374616b6500000000000000604082015260600190565b60208082526021908201527f546f74616c207374616b652072657665616c656420646f65736e74206d61746360408201527f6800000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b600060208252610ec16020830184613677565b600060808252613b546080830187613677565b8281036020840152613b668187613605565b90508281036040840152613b7a8186613605565b90508281036060840152613b8e8185613605565b979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b918252602082015260400190565b60006101208b83528a6020840152806040840152613be68184018b613605565b90508281036060840152613bfa818a613605565b90508281036080840152613c0e8189613605565b905082810360a0840152613c228188613605565b60c0840196909652505060e0810192909252610100909101529695505050505050565b600088825287602083015260e06040830152613c6460e083018861363f565b8281036060840152613c76818861363f565b90508281036080840152613c8a818761363f565b905082810360a0840152613c9e818661363f565b9150508260c083015298975050505050505050565b9283526020830191909152604082015260600190565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b60008219821115613d2157613d21613dd6565b500190565b600082613d3557613d35613dec565b500490565b6000816000190483118215151615613d5457613d54613dd6565b500290565b600082821015613d6b57613d6b613dd6565b500390565b600081613d7f57613d7f613dd6565b506000190190565b6000600019821415613d9b57613d9b613dd6565b5060010190565b600060ff821660ff811415613db957613db9613dd6565b60010192915050565b600082613dd157613dd1613dec565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461263857600080fdfea2646970667358221220e91e23bd1379a0e480dc3dea072e45dd8b056c215e85337523323db38cc253bb64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1C4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5CE8772F GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0xA27CE1EF GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD547741F GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3CD JUMPI DUP1 PUSH4 0xE38C7C42 EQ PUSH2 0x3E0 JUMPI DUP1 PUSH4 0xF25B3F99 EQ PUSH2 0x3F3 JUMPI DUP1 PUSH4 0xFAE4425D EQ PUSH2 0x406 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0xA27CE1EF EQ PUSH2 0x384 JUMPI DUP1 PUSH4 0xD1A4A43D EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0xD2A4669A EQ PUSH2 0x3BA JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x33E JUMPI DUP1 PUSH4 0x92B48411 EQ PUSH2 0x351 JUMPI DUP1 PUSH4 0x9B87F644 EQ PUSH2 0x374 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x37C JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x5CE8772F EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0x7542FF95 EQ PUSH2 0x311 JUMPI DUP1 PUSH4 0x828496D6 EQ PUSH2 0x319 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x166 JUMPI DUP1 PUSH4 0x3CD32FD4 GT PUSH2 0x140 JUMPI DUP1 PUSH4 0x3CD32FD4 EQ PUSH2 0x2C8 JUMPI DUP1 PUSH4 0x3DF395A3 EQ PUSH2 0x2DB JUMPI DUP1 PUSH4 0x42C1E587 EQ PUSH2 0x2E3 JUMPI DUP1 PUSH4 0x4E6753B7 EQ PUSH2 0x2EB JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x282 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x378AB9A9 EQ PUSH2 0x2A8 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x17D99C04 GT PUSH2 0x1A2 JUMPI DUP1 PUSH4 0x17D99C04 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x1D69FF9B EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x24D JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x26D JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1C9 JUMPI DUP1 PUSH4 0x4C07569 EQ PUSH2 0x1F2 JUMPI DUP1 PUSH4 0x6552FF3 EQ PUSH2 0x212 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1DC PUSH2 0x1D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x33AF JUMP JUMPDEST PUSH2 0x419 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x373D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x205 PUSH2 0x200 CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x477 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3B2E JUMP JUMPDEST PUSH2 0x225 PUSH2 0x220 CALLDATASIZE PUSH1 0x4 PUSH2 0x32F5 JUMP JUMPDEST PUSH2 0x627 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x225 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x3485 JUMP JUMPDEST PUSH2 0x68F JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x248 CALLDATASIZE PUSH1 0x4 PUSH2 0x35B9 JUMP JUMPDEST PUSH2 0xB63 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x25B CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0xEC8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3748 JUMP JUMPDEST PUSH2 0x275 PUSH2 0xEDD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3716 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0xEEC JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2A3 CALLDATASIZE PUSH1 0x4 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0xF2A JUMP JUMPDEST PUSH2 0x2BB PUSH2 0x2B6 CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x372A JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2D6 CALLDATASIZE PUSH1 0x4 PUSH2 0x354A JUMP JUMPDEST PUSH2 0xFD1 JUMP JUMPDEST PUSH2 0x275 PUSH2 0x1540 JUMP JUMPDEST PUSH2 0x275 PUSH2 0x154F JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2F9 CALLDATASIZE PUSH1 0x4 PUSH2 0x356B JUMP JUMPDEST PUSH2 0x155E JUMP JUMPDEST PUSH2 0x225 PUSH2 0x30C CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x1C5F JUMP JUMPDEST PUSH2 0x275 PUSH2 0x1E8F JUMP JUMPDEST PUSH2 0x32C PUSH2 0x327 CALLDATASIZE PUSH1 0x4 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0x1E9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3CE6 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x34C CALLDATASIZE PUSH1 0x4 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0x1EDC JUMP JUMPDEST PUSH2 0x364 PUSH2 0x35F CALLDATASIZE PUSH1 0x4 PUSH2 0x354A JUMP JUMPDEST PUSH2 0x1F05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3CC9 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x1F4E JUMP JUMPDEST PUSH2 0x260 PUSH2 0x263B JUMP JUMPDEST PUSH2 0x397 PUSH2 0x392 CALLDATASIZE PUSH1 0x4 PUSH2 0x354A JUMP JUMPDEST PUSH2 0x2640 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3B41 JUMP JUMPDEST PUSH2 0x2BB PUSH2 0x3B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x354A JUMP JUMPDEST PUSH2 0x2848 JUMP JUMPDEST PUSH2 0x2BB PUSH2 0x3C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x28E2 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x3DB CALLDATASIZE PUSH1 0x4 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0x2945 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x3EE CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x296D JUMP JUMPDEST PUSH2 0x364 PUSH2 0x401 CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x297F JUMP JUMPDEST PUSH2 0x2BB PUSH2 0x414 CALLDATASIZE PUSH1 0x4 PUSH2 0x3350 JUMP JUMPDEST PUSH2 0x29A9 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x46F JUMPI POP PUSH2 0x46F DUP3 PUSH2 0x2A0C JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x47F PUSH2 0x3151 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD DUP5 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP6 MLOAD DUP2 DUP7 MUL DUP2 ADD DUP7 ADD SWAP1 SWAP7 MSTORE DUP1 DUP7 MSTORE SWAP2 SWAP5 SWAP3 SWAP4 DUP6 DUP2 ADD SWAP4 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x4EC JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x4D8 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x544 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x530 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x59C JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x588 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x5F4 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x5E0 JUMPI JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x6 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x7 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 DUP7 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x5 DUP1 SLOAD SWAP5 DUP7 AND SWAP5 DUP3 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE PUSH1 0x6 DUP1 SLOAD SWAP3 DUP6 AND SWAP3 DUP5 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH1 0x7 DUP1 SLOAD SWAP2 SWAP1 SWAP4 AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP10 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x70B SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x732 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x38CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH20 0x0 PUSH4 0xC198F8BA PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x776 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x78A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7AE SWAP2 SWAP1 PUSH2 0x35E4 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x813 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x837 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x855 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A9A JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH32 0x6022A48500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x6022A485 SWAP2 PUSH2 0x8A0 SWAP2 CALLER SWAP2 ADD PUSH2 0x3716 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x8B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x8CC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8F0 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST SWAP1 POP PUSH2 0x8FD DUP6 DUP6 DUP4 PUSH2 0xB63 JUMP JUMPDEST PUSH2 0x919 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3839 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x95D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x971 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x995 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xE3C998FE SWAP2 PUSH2 0x9C4 SWAP2 DUP7 SWAP2 ADD PUSH2 0x3748 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9F1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA15 SWAP2 SWAP1 PUSH2 0x33EF JUMP JUMPDEST PUSH1 0x40 ADD MLOAD LT ISZERO PUSH2 0xA37 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A06 JUMP JUMPDEST PUSH2 0xB10 DUP11 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP13 DUP2 MSTORE PUSH1 0x20 ADD DUP12 DUP2 MSTORE PUSH1 0x20 ADD DUP11 DUP2 MSTORE PUSH1 0x20 ADD DUP10 DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE3C998FE DUP10 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAAC SWAP2 SWAP1 PUSH2 0x3748 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAC5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xAD9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAFD SWAP2 SWAP1 PUSH2 0x33EF JUMP JUMPDEST PUSH1 0x40 ADD MLOAD DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE PUSH2 0x2A56 JUMP JUMPDEST PUSH32 0xEE036CC96C88163F353FEAA4D497E88BAAEBEB631F40AD9B8A6D51BB6FAD4076 DUP11 DUP3 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0xB4F SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3BC6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH20 0x0 PUSH4 0x5075DBFB PUSH1 0xA PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBC788D46 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xBD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBE4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC08 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC19 SWAP2 SWAP1 PUSH2 0x3748 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC4D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3764 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xC79 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC9D SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0xCA8 SWAP1 PUSH1 0x1 PUSH2 0x3D0E JUMP JUMPDEST EQ PUSH2 0xCB5 JUMPI POP PUSH1 0x0 PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xB07CEAB8 PUSH1 0xA DUP6 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCE6 SWAP3 SWAP2 SWAP1 PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD19 SWAP3 SWAP2 SWAP1 PUSH2 0x3751 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xD45 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD69 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xD7C PUSH5 0x100000000 DUP4 PUSH2 0x3DC2 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xE3C998FE SWAP2 PUSH2 0xDB1 SWAP2 DUP11 SWAP2 ADD PUSH2 0x3748 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xDDE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE02 SWAP2 SWAP1 PUSH2 0x33EF JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 ADD MLOAD PUSH1 0x4 DUP1 SLOAD SWAP3 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xE3C998FE SWAP2 PUSH2 0xE39 SWAP2 DUP10 SWAP2 ADD PUSH2 0x3748 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE66 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE8A SWAP2 SWAP1 PUSH2 0x33EF JUMP JUMPDEST PUSH1 0x40 ADD MLOAD PUSH2 0xE9D SWAP1 PUSH5 0x100000000 PUSH2 0x3D3A JUMP JUMPDEST PUSH2 0xEA7 DUP3 DUP5 PUSH2 0x3D3A JUMP JUMPDEST GT ISZERO PUSH2 0xEB9 JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x1 SWAP4 POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0xF00 PUSH2 0xEF8 DUP4 PUSH2 0xEC8 JUMP JUMPDEST PUSH2 0x34C PUSH2 0x3045 JUMP JUMPDEST PUSH2 0xF1C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x377F JUMP JUMPDEST PUSH2 0xF26 DUP3 DUP3 PUSH2 0x3049 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xF32 PUSH2 0x3045 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF62 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3AD1 JUMP JUMPDEST PUSH2 0xF26 DUP3 DUP3 PUSH2 0x30CE JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xFC5 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xFB1 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1015 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1029 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x104D SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x106B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x38CD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x10C3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10E7 SWAP2 SWAP1 PUSH2 0x35E4 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1138 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x114C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1170 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x118E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A9A JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0x6 SLOAD SWAP2 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x11DE SWAP1 DUP9 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x120A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x122E SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD EQ PUSH2 0x1265 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A3D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 CALLER DUP6 MSTORE DUP3 MSTORE DUP1 DUP5 KECCAK256 SWAP3 DUP4 ADD SLOAD PUSH1 0x2 DUP1 DUP6 ADD SLOAD PUSH1 0x3 SWAP1 SWAP6 ADD SLOAD DUP12 DUP8 MSTORE SWAP4 MSTORE SWAP1 DUP5 KECCAK256 DUP1 SLOAD SWAP2 SWAP5 SWAP2 DUP10 SWAP1 DUP2 LT PUSH2 0x12B9 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP PUSH1 0x0 DUP5 GT PUSH2 0x12ED JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x393B JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP6 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x131E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x134E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO DUP1 PUSH2 0x13D0 JUMPI POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP5 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x1392 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x13C2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO JUMPDEST DUP1 PUSH2 0x1445 JUMPI POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x1407 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x4 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x1437 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x151D JUMPI PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP11 SWAP1 DUP2 LT PUSH2 0x1478 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD PUSH1 0x7 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH32 0xF91CE1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xF91CE19 SWAP2 PUSH2 0x14E6 SWAP2 DUP6 SWAP2 CALLER SWAP2 DUP16 SWAP2 ADD PUSH2 0x3B99 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1500 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1514 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x1535 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x39A9 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP6 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15B6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15DA SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x15F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x38CD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x163C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1650 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1674 SWAP2 SWAP1 PUSH2 0x35E4 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16D9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16FD SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x171B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A9A JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x2 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x1753 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x176B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x177F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17A3 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0x17AD SWAP2 SWAP1 PUSH2 0x3D26 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x17E5 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP7 ADD PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x17FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1811 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1835 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0x183F SWAP2 SWAP1 PUSH2 0x3D26 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x1877 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP7 ADD PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x188F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18A3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18C7 SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0x18D2 SWAP1 PUSH1 0x3 PUSH2 0x3D3A JUMP JUMPDEST PUSH2 0x18DC SWAP2 SWAP1 PUSH2 0x3D26 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 DUP2 PUSH2 0x192A JUMPI PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x5 ADD DUP10 SWAP1 SSTORE PUSH2 0x1965 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP10 EQ PUSH2 0x1965 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3972 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP9 MLOAD DUP2 LT ISZERO PUSH2 0x1C30 JUMPI DUP2 DUP10 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1992 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x19B7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x37DC JUMP JUMPDEST DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x19D7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP2 POP PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9C66556F DUP13 DUP13 DUP13 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x1A27 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A4D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3CB3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A79 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A9D SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0x1AA7 SWAP1 DUP5 PUSH2 0x3D0E JUMP JUMPDEST PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP4 POP ISZERO DUP1 ISZERO PUSH2 0x1AD4 JUMPI POP DUP5 DUP4 LT ISZERO JUMPDEST ISZERO PUSH2 0x1B22 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1AF9 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x1 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 CALLER DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x2 ADD SSTORE JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 CALLER DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 ADD SLOAD ISZERO DUP1 ISZERO PUSH2 0x1B4A JUMPI POP DUP6 DUP4 GT JUMPDEST ISZERO PUSH2 0x1B98 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1B6F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP5 MSTORE SWAP3 SWAP1 KECCAK256 SWAP1 SWAP2 ADD SSTORE JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD ISZERO DUP1 ISZERO PUSH2 0x1BC1 JUMPI POP DUP4 DUP4 GT JUMPDEST ISZERO PUSH2 0x1C0F JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1BE6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x1 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 CALLER DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 ADD SSTORE JUMPDEST PUSH2 0x2710 GAS LT ISZERO PUSH2 0x1C1E JUMPI PUSH2 0x1C30 JUMP JUMPDEST DUP1 PUSH2 0x1C28 DUP2 PUSH2 0x3D87 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1968 JUMP JUMPDEST POP PUSH1 0x0 SWAP10 DUP11 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP13 KECCAK256 CALLER DUP14 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP10 KECCAK256 PUSH1 0x4 DUP2 ADD SWAP10 SWAP1 SWAP10 SSTORE SWAP1 SWAP8 SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1CA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1CB7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1CDB SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x1CF9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x38CD JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1D51 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D75 SWAP2 SWAP1 PUSH2 0x35E4 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1DDA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DFE SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST DUP2 EQ PUSH2 0x1E1C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3A9A JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP3 DUP2 MSTORE DUP4 DUP6 ADD DUP4 DUP2 MSTORE PUSH1 0x60 DUP6 ADD DUP5 DUP2 MSTORE PUSH1 0x80 DUP7 ADD DUP6 DUP2 MSTORE PUSH1 0xA0 DUP8 ADD DUP7 DUP2 MSTORE SWAP9 DUP7 MSTORE PUSH1 0x1 DUP1 DUP7 MSTORE DUP9 DUP8 KECCAK256 CALLER DUP9 MSTORE SWAP1 SWAP6 MSTORE SWAP7 SWAP1 SWAP5 KECCAK256 SWAP5 MLOAD DUP6 SSTORE SWAP1 MLOAD SWAP2 DUP5 ADD SWAP2 SWAP1 SWAP2 SSTORE MLOAD PUSH1 0x2 DUP4 ADD SSTORE MLOAD PUSH1 0x3 DUP3 ADD SSTORE SWAP1 MLOAD PUSH1 0x4 DUP3 ADD SSTORE SWAP1 MLOAD PUSH1 0x5 SWAP1 SWAP2 ADD SSTORE JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP1 SWAP2 MSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD SWAP2 DUP2 ADD SLOAD PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x4 DUP5 ADD SLOAD PUSH1 0x5 SWAP1 SWAP5 ADD SLOAD SWAP3 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1F21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xD98B3CED PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1F92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1FA6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FCA SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH2 0x1FD4 DUP2 CALLER PUSH2 0x1EDC JUMP JUMPDEST PUSH2 0x1FF0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3904 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2035 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2049 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x206D SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x2081 PUSH1 0x1 DUP6 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0xFF DUP3 AND LT ISZERO PUSH2 0x2635 JUMPI PUSH1 0x2 PUSH1 0x0 PUSH2 0x20AB PUSH1 0x1 DUP6 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x20DB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x7 PUSH1 0x8 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x2623 JUMPI PUSH1 0x2 PUSH1 0x0 PUSH2 0x2106 PUSH1 0x1 DUP6 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2136 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 PUSH1 0x0 PUSH1 0x1 DUP6 PUSH2 0x2155 SWAP2 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 DUP2 SLOAD DUP2 SSTORE PUSH1 0x1 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x217D SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x2 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2192 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x21A7 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x21BC SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x5 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x6 DUP1 DUP4 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x7 SWAP2 DUP3 ADD SLOAD SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 PUSH1 0x2 DUP2 PUSH2 0x21FC PUSH1 0x1 DUP7 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x222C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD SLOAD SWAP1 POP PUSH32 0x5EF264AE9101B91BD7117350C5E85901297FA0569E7A3E07EB7EC0A6281529F0 PUSH2 0x226B PUSH1 0x1 DUP6 PUSH2 0x3D59 JUMP JUMPDEST DUP3 PUSH1 0x2 PUSH1 0x0 PUSH2 0x227B PUSH1 0x1 DUP10 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x22AB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD PUSH1 0x2 PUSH1 0x0 PUSH1 0x1 DUP10 PUSH2 0x22CD SWAP2 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP7 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x22FD JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 ADD PUSH1 0x2 PUSH1 0x0 PUSH1 0x1 DUP11 PUSH2 0x231F SWAP2 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP8 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x234F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x4 ADD PUSH1 0x2 PUSH1 0x0 PUSH1 0x1 DUP12 PUSH2 0x2371 SWAP2 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP9 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x23A1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x23C6 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3C45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x23E0 PUSH1 0x1 DUP8 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP4 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2410 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD DUP1 SLOAD SWAP1 POP DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x259E JUMPI PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x56350BDF PUSH1 0x2 PUSH1 0x0 PUSH2 0x244F PUSH1 0x1 DUP10 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x247F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD DUP4 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x24B2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0x2 PUSH1 0x0 PUSH1 0x1 DUP10 PUSH2 0x24CE SWAP2 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP7 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x24FE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP5 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2531 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2559 SWAP3 SWAP2 SWAP1 PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2573 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2587 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 DUP1 PUSH2 0x2596 SWAP1 PUSH2 0x3DA2 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x23D1 JUMP JUMPDEST POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH32 0x746C8B6500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x746C8B65 SWAP2 PUSH2 0x25E9 SWAP2 DUP6 SWAP2 DUP9 SWAP2 ADD PUSH2 0x3BB8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2603 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2617 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH2 0x2638 JUMP JUMPDEST DUP1 PUSH2 0x262D DUP2 PUSH2 0x3DA2 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2072 JUMP JUMPDEST POP POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x2648 PUSH2 0x3151 JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x267F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x26F2 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x26DE JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x274A JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x2736 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x27A2 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x278E JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x27FA JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x27E6 JUMPI JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x6 DUP3 ADD SLOAD PUSH1 0x40 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x7 SWAP1 SWAP3 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x60 SWAP2 DUP3 ADD MSTORE SWAP1 DUP3 ADD MLOAD SWAP1 DUP3 ADD MLOAD PUSH1 0x80 DUP4 ADD MLOAD SWAP3 SWAP10 SWAP2 SWAP9 POP SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x287A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x28D5 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x28C1 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xFC5 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xFB1 JUMPI POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2951 PUSH2 0xEF8 DUP4 PUSH2 0xEC8 JUMP JUMPDEST PUSH2 0xF62 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x729 SWAP1 PUSH2 0x3870 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xFC5 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xFB1 JUMPI POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x2B33 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP5 MSTORE SWAP3 DUP3 SWAP1 KECCAK256 DUP5 MLOAD PUSH1 0x8 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP4 DUP3 ADD MLOAD DUP1 MLOAD DUP6 SWAP5 SWAP4 PUSH2 0x2AAB SWAP4 DUP6 ADD SWAP3 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2AC7 SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2AE3 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2AFF SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0xE0 SWAP1 SWAP2 ADD MLOAD PUSH1 0x7 SWAP1 SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0xF26 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 LT ISZERO PUSH2 0x2C12 JUMPI PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 DUP2 LT PUSH2 0x2B8D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x6 ADD SLOAD LT ISZERO PUSH2 0x2BAD JUMPI DUP1 SWAP2 POP PUSH2 0x2C12 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 DUP2 LT PUSH2 0x2BE0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x5 ADD SLOAD GT ISZERO PUSH2 0x2C00 JUMPI DUP1 SWAP2 POP PUSH2 0x2C12 JUMP JUMPDEST DUP1 PUSH2 0x2C0A DUP2 PUSH2 0x3D87 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2B44 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP5 MSTORE SWAP3 DUP3 SWAP1 KECCAK256 DUP6 MLOAD PUSH1 0x8 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP5 DUP3 ADD MLOAD DUP1 MLOAD DUP7 SWAP5 SWAP4 PUSH2 0x2C55 SWAP4 DUP6 ADD SWAP3 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2C71 SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2C8D SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2CA9 SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0xE0 SWAP1 SWAP2 ADD MLOAD PUSH1 0x7 SWAP1 SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x2CF3 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2E1F JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x2D17 PUSH1 0x1 DUP4 PUSH2 0x3D59 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2D35 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2D75 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 DUP3 SLOAD PUSH1 0x8 SWAP1 SWAP3 MUL ADD SWAP1 DUP2 SSTORE PUSH1 0x1 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x2D9E SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x2 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2DB3 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2DC8 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2DDD SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3198 JUMP JUMPDEST POP PUSH1 0x5 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x6 DUP1 DUP4 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x7 SWAP2 DUP3 ADD SLOAD SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 PUSH2 0x2E17 DUP2 PUSH2 0x3D70 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CF6 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x2E51 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2E85 SWAP3 SWAP2 SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2EA1 SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2EBD SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2ED9 SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x31E8 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x5 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x6 ADD SSTORE PUSH1 0xE0 DUP3 ADD MLOAD DUP2 PUSH1 0x7 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP1 POP POP PUSH20 0x0 PUSH4 0x379597E0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2F55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2F69 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2F8D SWAP2 SWAP1 PUSH2 0x3368 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD GT ISZERO PUSH2 0x2635 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x2FBE SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3D59 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2FDC JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP2 DUP2 SSTORE SWAP1 PUSH2 0x2FFC PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x3223 JUMP JUMPDEST PUSH2 0x300A PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x3223 JUMP JUMPDEST PUSH2 0x3018 PUSH1 0x3 DUP4 ADD PUSH1 0x0 PUSH2 0x3223 JUMP JUMPDEST PUSH2 0x3026 PUSH1 0x4 DUP4 ADD PUSH1 0x0 PUSH2 0x3223 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x5 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0x7 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP POP POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x3053 DUP3 DUP3 PUSH2 0x1EDC JUMP JUMPDEST PUSH2 0xF26 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x308A PUSH2 0x3045 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x30D8 DUP3 DUP3 PUSH2 0x1EDC JUMP JUMPDEST ISZERO PUSH2 0xF26 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x310D PUSH2 0x3045 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x31D8 JUMPI PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x31D8 JUMPI DUP3 SLOAD DUP3 SSTORE SWAP2 PUSH1 0x1 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x31BD JUMP JUMPDEST POP PUSH2 0x31E4 SWAP3 SWAP2 POP PUSH2 0x323D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x31D8 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x31D8 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3208 JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2638 SWAP2 SWAP1 JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x31E4 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x323E JUMP JUMPDEST DUP1 MLOAD PUSH2 0x472 DUP2 PUSH2 0x3E18 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x326D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 GT ISZERO PUSH2 0x328A JUMPI PUSH2 0x328A PUSH2 0x3E02 JUMP JUMPDEST DUP2 DUP4 MUL PUSH1 0x40 MLOAD DUP4 DUP3 DUP3 ADD ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH2 0x32A9 JUMPI PUSH2 0x32A9 PUSH2 0x3E02 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP5 DUP2 MSTORE DUP4 DUP2 ADD SWAP3 POP DUP7 DUP5 ADD DUP3 DUP9 ADD DUP6 ADD DUP10 LT ISZERO PUSH2 0x32C7 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP7 SWAP3 POP JUMPDEST DUP6 DUP4 LT ISZERO PUSH2 0x32E9 JUMPI DUP1 CALLDATALOAD DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 DUP5 ADD PUSH2 0x32CB JUMP JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x330A JUMPI DUP4 DUP5 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x3315 DUP2 PUSH2 0x3E18 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x3325 DUP2 PUSH2 0x3E18 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x3335 DUP2 PUSH2 0x3E18 JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x3345 DUP2 PUSH2 0x3E18 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3361 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3379 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3392 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x33A4 DUP2 PUSH2 0x3E18 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x33C0 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0xEC1 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3402 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x3425 JUMPI PUSH2 0x3425 PUSH2 0x3E02 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 MLOAD DUP2 MSTORE PUSH2 0x3439 PUSH1 0x20 DUP6 ADD PUSH2 0x3252 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP5 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0xE0 DUP3 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x349F JUMPI DUP3 DUP4 REVERT JUMPDEST DUP8 CALLDATALOAD SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x34BD JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x34C9 DUP12 DUP4 DUP13 ADD PUSH2 0x325D JUMP JUMPDEST SWAP8 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34DE JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x34EA DUP12 DUP4 DUP13 ADD PUSH2 0x325D JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x34FF JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x350B DUP12 DUP4 DUP13 ADD PUSH2 0x325D JUMP JUMPDEST SWAP6 POP PUSH1 0x80 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3520 JUMPI DUP5 DUP6 REVERT JUMPDEST POP PUSH2 0x352D DUP11 DUP3 DUP12 ADD PUSH2 0x325D JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 DUP9 ADD CALLDATALOAD SWAP2 POP PUSH1 0xC0 DUP9 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x355C JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x357F JUMPI DUP1 DUP2 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x35A3 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x35AF DUP7 DUP3 DUP8 ADD PUSH2 0x325D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x35CD JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x35F5 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xEC1 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD DUP4 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3634 JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3618 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP4 DUP4 MSTORE DUP1 DUP4 KECCAK256 DUP4 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3634 JUMPI DUP2 SLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 PUSH1 0x1 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x3655 JUMP JUMPDEST ISZERO ISZERO SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 MLOAD DUP5 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP2 PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x3697 DUP3 DUP7 ADD DUP3 PUSH2 0x3605 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x36B1 DUP3 DUP3 PUSH2 0x3605 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x36CB DUP3 DUP3 PUSH2 0x3605 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x80 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x80 DUP7 ADD MSTORE PUSH2 0x36E5 DUP3 DUP3 PUSH2 0x3605 JUMP JUMPDEST SWAP2 POP POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP4 ADD MLOAD PUSH2 0x370E PUSH1 0xE0 DUP7 ADD DUP3 PUSH2 0x3671 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xEC1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3605 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP4 SWAP1 SWAP4 AND DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x29 SWAP1 DUP3 ADD MSTORE PUSH32 0x736F727465645B695D206973206E6F742067726561746572207468616E206C61 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7374566973697465640000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xB SWAP1 DUP3 ADD MSTORE PUSH32 0x6E6F7420656C6563746564000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x4D656469616E2063616E2774206265207A65726F000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x41737365744964206E6F74206D61746368696E67000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x37 SWAP1 DUP3 ADD MSTORE PUSH32 0x50726F706F73656420416C7465726E61746520626C6F636B206973206964656E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x746963616C20746F2070726F706F73656420626C6F636B000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x19 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B652062656C6F77206D696E696D756D207374616B6500000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x21 SWAP1 DUP3 ADD MSTORE PUSH32 0x546F74616C207374616B652072657665616C656420646F65736E74206D617463 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6800000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xEC1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3677 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 MSTORE PUSH2 0x3B54 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x3677 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3B66 DUP2 DUP8 PUSH2 0x3605 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3B7A DUP2 DUP7 PUSH2 0x3605 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3B8E DUP2 DUP6 PUSH2 0x3605 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP12 DUP4 MSTORE DUP11 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3BE6 DUP2 DUP5 ADD DUP12 PUSH2 0x3605 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3BFA DUP2 DUP11 PUSH2 0x3605 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3C0E DUP2 DUP10 PUSH2 0x3605 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x3C22 DUP2 DUP9 PUSH2 0x3605 JUMP JUMPDEST PUSH1 0xC0 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0xE0 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH2 0x100 SWAP1 SWAP2 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP9 DUP3 MSTORE DUP8 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0xE0 PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x3C64 PUSH1 0xE0 DUP4 ADD DUP9 PUSH2 0x363F JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3C76 DUP2 DUP9 PUSH2 0x363F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3C8A DUP2 DUP8 PUSH2 0x363F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x3C9E DUP2 DUP7 PUSH2 0x363F JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xC0 DUP4 ADD MSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x40 DUP6 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x3D21 JUMPI PUSH2 0x3D21 PUSH2 0x3DD6 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3D35 JUMPI PUSH2 0x3D35 PUSH2 0x3DEC JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x3D54 JUMPI PUSH2 0x3D54 PUSH2 0x3DD6 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x3D6B JUMPI PUSH2 0x3D6B PUSH2 0x3DD6 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x3D7F JUMPI PUSH2 0x3D7F PUSH2 0x3DD6 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x3D9B JUMPI PUSH2 0x3D9B PUSH2 0x3DD6 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 EQ ISZERO PUSH2 0x3DB9 JUMPI PUSH2 0x3DB9 PUSH2 0x3DD6 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3DD1 JUMPI PUSH2 0x3DD1 PUSH2 0x3DEC JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2638 JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 0x1E 0x23 0xBD SGT PUSH26 0xA0E480DC3DEA072E45DD8B056C215E85337523323DB38CC253BB PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "339:11519:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1743:122:8;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1316:421::-;;;;;;:::i;:::-;;:::i;:::-;;3946:1287;;;;;;:::i;:::-;;:::i;9967:834::-;;;;;;:::i;:::-;;:::i;4185:121:0:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;430:33:8:-;;;:::i;:::-;;;;;;;:::i;4556:228:0:-;;;;;;:::i;:::-;;:::i;5740:214::-;;;;;;:::i;:::-;;:::i;1871:179:8:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7522:1178::-;;;;;;:::i;:::-;;:::i;506:29::-;;;:::i;469:31::-;;;:::i;5302:1920::-;;;;;;:::i;:::-;;:::i;7324:192::-;;;;;;:::i;:::-;;:::i;391:33::-;;;:::i;171:73:18:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;3867:137:0:-;;;;;;:::i;:::-;;:::i;289:58:18:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;8706:1255:8:-;;;:::i;2363:49:0:-;;;:::i;2460:467:8:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;2933:237::-;;;;;;:::i;:::-;;:::i;2056:184::-;;;;;;:::i;:::-;;:::i;5018:231:0:-;;;;;;:::i;:::-;;:::i;3176:133:8:-;;;;;;:::i;:::-;;:::i;353:48:18:-;;;;;;:::i;:::-;;:::i;2246:208:8:-;;;;;;:::i;:::-;;:::i;3566:214:0:-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;;3566:214;;;;:::o;1743:122:8:-;1798:27;;:::i;:::-;1844:13;;;;:6;:13;;;;;;;;;1837:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1844:13;;1837:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1837:21:8;;;-1:-1:-1;;1837:21:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1743:122;-1:-1:-1;;1743:122:8:o;1316:421::-;1509:12;:50;;-1:-1:-1;;;;;1509:50:8;;;;;;;;;;;1569:12;:50;;;;;;;;;;;;;;;1629:11;:47;;;;;;;;;;;;;;;1686:10;:44;;;;;;;;;;;1316:421::o;3946:1287::-;1119:12;;:23;;;-1:-1:-1;;;1119:23:8;;;;4216:5;;-1:-1:-1;;;;;1119:12:8;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1110:5;:32;1102:60;;;;-1:-1:-1;;;1102:60:8;;;;;;;:::i;:::-;;;;;;;;;4234:9:::1;:17;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1186:124;;1249:12;;;;;;;;;-1:-1:-1::0;;;;;1249:12:8::1;-1:-1:-1::0;;;;;1249:21:8::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1240:5;:32;1232:60;;;;-1:-1:-1::0;;;1232:60:8::1;;;;;;;:::i;:::-;4291:12:::2;::::0;;:36:::2;::::0;;;;4270:18:::2;::::0;-1:-1:-1;;;;;4291:12:8;;::::2;::::0;:24:::2;::::0;:36:::2;::::0;4316:10:::2;::::0;4291:36:::2;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4270:57;;4403;4421:9;4432:15;4449:10;4403:17;:57::i;:::-;4395:81;;;;-1:-1:-1::0;;;4395:81:8::2;;;;;;;:::i;:::-;4551:9;:18;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4507:12;::::0;;:34:::2;::::0;-1:-1:-1;;;4507:34:8;;-1:-1:-1;;;;;4507:12:8;;::::2;::::0;:22:::2;::::0;:34:::2;::::0;4530:10;;4507:34:::2;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;;;:64;;4486:136;;;;-1:-1:-1::0;;;4486:136:8::2;;;;;;;:::i;:::-;4633:341;4667:5;4687:277;;;;;;;;4718:10;4687:277;;;;4746:6;4687:277;;;;4770:7;4687:277;;;;4795:12;4687:277;;;;4825:13;4687:277;;;;4856:9;4687:277;;;;4883:12;;;;;;;;;-1:-1:-1::0;;;;;4883:12:8::2;-1:-1:-1::0;;;;;4883:22:8::2;;4906:15;4883:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;::::0;4687:277;;4946:4:::2;4687:277;::::0;;::::2;::::0;4633:20:::2;:341::i;:::-;4990:236;5012:5;5031:10;5055:6;5075:7;5096:12;5122:13;5149:9;5172:15;5201;4990:236;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1302:1;1172::::1;3946:1287:::0;;;;;;;;:::o;9967:834::-;10132:4;10410:8;10322:6;:11;10334:2;10338:12;;;;;;;;;-1:-1:-1;;;;;10338:12:8;-1:-1:-1;;;;;10338:26:8;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10389:9;10378:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;10368:32;;;;;;10322:79;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;;10403:1;10322:83;:::i;:::-;10321:97;10317:140;;-1:-1:-1;10441:5:8;10434:12;;10317:140;10466:16;10485:6;:15;10501:2;10526:8;10536:9;10515:31;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10505:42;;;;;;10485:63;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10466:82;-1:-1:-1;10558:12:8;10573:25;10592:5;10466:82;10573:25;:::i;:::-;10631:12;;;:39;;-1:-1:-1;;;10631:39:8;;10558:40;;-1:-1:-1;10608:20:8;;-1:-1:-1;;;;;10631:12:8;;;;:22;;:39;;10654:15;;10631:39;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;;;;10712:12;;;:32;;-1:-1:-1;;;10712:32:8;;10631:45;;-1:-1:-1;;;;;;10712:12:8;;;;:22;;:32;;10735:8;;10712:32;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:38;;;:46;;10752:5;10712:46;:::i;:::-;10690:19;10696:12;10690:4;:19;:::i;:::-;:68;10686:87;;;10767:5;10760:13;;;;;;;10686:87;10790:4;10783:11;;;;;9967:834;;;;;;:::o;4185:121:0:-;4251:7;4277:12;;;;;;;;;;:22;;;;4185:121::o;430:33:8:-;;;-1:-1:-1;;;;;430:33:8;;:::o;4556:228:0:-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;5740:214::-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;1871:179:8:-;1991:13;;;;:6;:13;;;;;;;;;:21;;1975:37;;;;;;;;;;;;;;;;;1933:30;;1975:37;;;1991:21;1975:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1871:179;;;:::o;7522:1178::-;1119:12;;:23;;;-1:-1:-1;;;1119:23:8;;;;7602:5;;-1:-1:-1;;;;;1119:12:8;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1110:5;:32;1102:60;;;;-1:-1:-1;;;1102:60:8;;;;;;;:::i;:::-;7620:9:::1;:17;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1186:124;;1249:12;;;;;;;;;-1:-1:-1::0;;;;;1249:12:8::1;-1:-1:-1::0;;;;;1249:21:8::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1240:5;:32;1232:60;;;;-1:-1:-1::0;;;1232:60:8::1;;;;;;;:::i;:::-;7651:15:::2;7669::::0;;;:8:::2;:15;::::0;;;;;;;7685:10:::2;7669:27:::0;;;;;;;;;:35:::2;;::::0;7776:11:::2;::::0;:49;;-1:-1:-1;;;7776:49:8;;7669:35;;-1:-1:-1;;;;;7776:11:8::2;::::0;:33:::2;::::0;:49:::2;::::0;7678:5;;7669:35;;7776:49:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7735:15;::::0;;;:8:::2;:15;::::0;;;;;;;7751:10:::2;7735:27:::0;;;;;;;:37;:90:::2;7714:170;;;;-1:-1:-1::0;;;7714:170:8::2;;;;;;;:::i;:::-;7894:14;7911:15:::0;;;:8:::2;:15;::::0;;;;;;;7927:10:::2;7911:27:::0;;;;;;;:34;;::::2;::::0;7977:39:::2;::::0;;::::2;::::0;8049:40:::2;::::0;;::::2;::::0;8120:21;;;;;;;;:30;;7911:34;;7894:14;8142:7;;8120:30;::::2;;;-1:-1:-1::0;;;8120:30:8::2;;;;;;;;;;;;;;;;;;;:41;;;8099:62;;8199:1;8190:6;:10;8182:43;;;;-1:-1:-1::0;;;8182:43:8::2;;;;;;;:::i;:::-;8239:21;::::0;;;:14:::2;:21;::::0;;;;:30;;8290:6;;8239:21;8261:7;;8239:30;::::2;;;-1:-1:-1::0;;;8239:30:8::2;;;;;;;;;;;;;;;;;;;:38;;8278:7;8239:47;;;;;;-1:-1:-1::0;;;8239:47:8::2;;;;;;;;;;;;;;;;;:57;;:140;;;-1:-1:-1::0;8312:21:8::2;::::0;;;:14:::2;:21;::::0;;;;:30;;8368:11;;8312:21;8334:7;;8312:30;::::2;;;-1:-1:-1::0;;;8312:30:8::2;;;;;;;;;;;;;;;;;;;:43;;8356:7;8312:52;;;;;;-1:-1:-1::0;;;8312:52:8::2;;;;;;;;;;;;;;;;;:67;;8239:140;:225;;;-1:-1:-1::0;8395:21:8::2;::::0;;;:14:::2;:21;::::0;;;;:30;;8452:12;;8395:21;8417:7;;8395:30;::::2;;;-1:-1:-1::0;;;8395:30:8::2;;;;;;;;;;;;;;;;;;;:44;;8440:7;8395:53;;;;;;-1:-1:-1::0;;;8395:53:8::2;;;;;;;;;;;;;;;;;:69;;8239:225;8235:459;;;8519:5;8480:21:::0;;;:14:::2;:21;::::0;;;;:30;;8502:7;;8480:30;::::2;;;-1:-1:-1::0;;;8480:30:8::2;;;;;;;;;;::::0;;;::::2;::::0;;;::::2;::::0;;::::2;;:36;;:44:::0;;-1:-1:-1;;8480:44:8::2;::::0;::::2;;::::0;;;::::2;::::0;;8538:12:::2;::::0;;:49:::2;::::0;;;;-1:-1:-1;;;;;8538:12:8;;::::2;::::0;:18:::2;::::0;:49:::2;::::0;8557:10;;8569::::2;::::0;8581:5;;8538:49:::2;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;8235:459;;;8618:65;;-1:-1:-1::0;;;8618:65:8::2;;;;;;;:::i;8235:459::-;1302:1;;;;;1172::::1;7522:1178:::0;;;:::o;506:29::-;;;-1:-1:-1;;;;;506:29:8;;:::o;469:31::-;;;-1:-1:-1;;;;;469:31:8;;:::o;5302:1920::-;1119:12;;:23;;;-1:-1:-1;;;1119:23:8;;;;5444:5;;-1:-1:-1;;;;;1119:12:8;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1110:5;:32;1102:60;;;;-1:-1:-1;;;1102:60:8;;;;;;;:::i;:::-;5470:9:::1;:17;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1186:124;;1249:12;;;;;;;;;-1:-1:-1::0;;;;;1249:12:8::1;-1:-1:-1::0;;;;;1249:21:8::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1240:5;:32;1232:60;;;;-1:-1:-1::0;;;1232:60:8::1;;;;;;;:::i;:::-;5529:11:::2;::::0;:49:::2;::::0;-1:-1:-1;;;5529:49:8;;5506:20:::2;::::0;5580:1:::2;::::0;-1:-1:-1;;;;;5529:11:8;;::::2;::::0;:33:::2;::::0;:49:::2;::::0;5563:5;;5570:7;;5529:49:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;;;:::i;:::-;5620:11;::::0;:49:::2;::::0;-1:-1:-1;;;5620:49:8;;5506:76;;-1:-1:-1;5592:25:8::2;::::0;5671:1:::2;::::0;-1:-1:-1;;;;;5620:11:8::2;::::0;:33:::2;::::0;:49:::2;::::0;5654:5;;5661:7;;5620:49;::::2;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;;;:::i;:::-;5713:11;::::0;:49:::2;::::0;-1:-1:-1;;;5713:49:8;;5592:81;;-1:-1:-1;5683:26:8::2;::::0;5769:1:::2;::::0;-1:-1:-1;;;;;5713:11:8::2;::::0;:33:::2;::::0;:49:::2;::::0;5747:5;;5754:7;;5713:49;::::2;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;::::0;5764:1:::2;5713:53;:::i;:::-;5712:59;;;;:::i;:::-;5781:17;5801:15:::0;;;:8:::2;:15;::::0;;;;;;;5817:10:::2;5801:27:::0;;;;;;;:37;;5870:39:::2;::::0;;::::2;::::0;5683:88;;-1:-1:-1;5801:37:8;;5919:228:::2;;5981:15;::::0;;;:8:::2;:15;::::0;;;;;;;5997:10:::2;5981:27:::0;;;;;;;:35:::2;;:45:::0;;;5919:228:::2;;;6065:15;::::0;;;:8:::2;:15;::::0;;;;;;;6081:10:::2;6065:27:::0;;;;;;;:35:::2;;::::0;:46;::::2;6057:79;;;;-1:-1:-1::0;;;6057:79:8::2;;;;;;;:::i;:::-;6161:9;6156:938;6180:6;:13;6176:1;:17;6156:938;;;6234:11;6222:6;6229:1;6222:9;;;;;;-1:-1:-1::0;;;6222:9:8::2;;;;;;;;;;;;;;;:23;6214:77;;;;-1:-1:-1::0;;;6214:77:8::2;;;;;;;:::i;:::-;6319:6;6326:1;6319:9;;;;;;-1:-1:-1::0;;;6319:9:8::2;;;;;;;;;;;;;;;6305:23;;6367:11;;;;;;;;;-1:-1:-1::0;;;;;6367:11:8::2;-1:-1:-1::0;;;;;6367:25:8::2;;6393:5;6400:7;6409:6;6416:1;6409:9;;;;;;-1:-1:-1::0;;;6409:9:8::2;;;;;;;;;;;;;;;6367:52;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6354:66;::::0;:9;:66:::2;:::i;:::-;6439:15;::::0;;;:8:::2;:15;::::0;;;;;;;6455:10:::2;6439:27:::0;;;;;;;:39:::2;;::::0;6342:78;;-1:-1:-1;6439:44:8;:78;::::2;;;;6500:17;6487:9;:30;;6439:78;6435:168;;;6579:6;6586:1;6579:9;;;;;;-1:-1:-1::0;;;6579:9:8::2;;;;;;;;;;::::0;;::::2;::::0;;;;;;;6537:15:::2;::::0;;;:8:::2;:15:::0;;;;;;6553:10:::2;6537:27:::0;;;;;;;;;:39:::2;;:51:::0;6435:168:::2;6620:15;::::0;;;:8:::2;:15;::::0;;;;;;;6636:10:::2;6620:27:::0;;;;;;;;:34:::2;::::0;:39;:67;::::2;;;;6675:12;6663:9;:24;6620:67;6616:152;;;6744:6;6751:1;6744:9;;;;;;-1:-1:-1::0;;;6744:9:8::2;;;;;;;;;;::::0;;::::2;::::0;;;;;;;6707:15:::2;::::0;;;:8:::2;:15:::0;;;;;;;6723:10:::2;6707:27:::0;;;;;;;;:34;;::::2;:46:::0;6616:152:::2;6785:15;::::0;;;:8:::2;:15;::::0;;;;;;;6801:10:::2;6785:27:::0;;;;;;;:40:::2;;::::0;:45;:79;::::2;;;;6846:18;6834:9;:30;6785:79;6781:170;;;6927:6;6934:1;6927:9;;;;;;-1:-1:-1::0;;;6927:9:8::2;;;;;;;;;;::::0;;::::2;::::0;;;;;;;6884:15:::2;::::0;;;:8:::2;:15:::0;;;;;;6900:10:::2;6884:27:::0;;;;;;;;;:40:::2;;:52:::0;6781:170:::2;7071:5;7059:9;:17;7055:28;;;7078:5;;7055:28;6195:3:::0;::::2;::::0;::::2;:::i;:::-;;;;6156:938;;;-1:-1:-1::0;7103:15:8::2;::::0;;;:8:::2;:15;::::0;;;;;;;7119:10:::2;7103:27:::0;;;;;;;;:39:::2;::::0;::::2;:53:::0;;;;7166:49;;;-1:-1:-1;;;;;;;5302:1920:8:o;7324:192::-;1119:12;;:23;;;-1:-1:-1;;;1119:23:8;;;;7393:5;;-1:-1:-1;;;;;1119:12:8;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1110:5;:32;1102:60;;;;-1:-1:-1;;;1102:60:8;;;;;;;:::i;:::-;7411:9:::1;:17;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1186:124;;1249:12;;;;;;;;;-1:-1:-1::0;;;;;1249:12:8::1;-1:-1:-1::0;;;;;1249:21:8::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1240:5;:32;1232:60;;;;-1:-1:-1::0;;;1232:60:8::1;;;;;;;:::i;:::-;-1:-1:-1::0;;7476:33:8::2;::::0;;::::2;::::0;::::2;::::0;;-1:-1:-1;7476:33:8;;;::::2;::::0;;::::2;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;;7446:15;;;:8:::2;:15:::0;;;;;;7462:10:::2;7446:27:::0;;;;;;;;;:63;;;;;;;;::::2;::::0;;;;;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;;::::2;::::0;;::::2;::::0;7324:192::o;391:33::-;;;-1:-1:-1;;;;;391:33:8;;:::o;171:73:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3867:137:0:-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;289:58:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;289:58:18;-1:-1:-1;289:58:18;;;:::o;8706:1255:8:-;8746:9;:31;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;8807:12:8::1;::::0;:23:::1;::::0;;-1:-1:-1;;;8807:23:8;;;;8791:13:::1;::::0;-1:-1:-1;;;;;8807:12:8::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8791:39;;8854:7;8849:1097;8869:14;:25;8884:9;8892:1;8884:5:::0;:9:::1;:::i;:::-;8869:25:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8869:25:8;:32;8865:36:::1;::::0;::::1;;8849:1097;;;8926:14;:25;8941:9;8949:1;8941:5:::0;:9:::1;:::i;:::-;8926:25;;;;;;;;;;;8952:1;8926:28;;;;;;;;-1:-1:-1::0;;;8926:28:8::1;;;;;;;;;;::::0;;;::::1;::::0;;;:34:::1;:28;::::0;;::::1;;:34;::::0;::::1;;8922:1014;;;9000:14;:25;9015:9;9023:1;9015:5:::0;:9:::1;:::i;:::-;9000:25;;;;;;;;;;;9026:1;9000:28;;;;;;;;-1:-1:-1::0;;;9000:28:8::1;;;;;;;;;;;;;;;;;;;8980:6;:17;8995:1;8987:5;:9;;;;:::i;:::-;8980:17:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8980:17:8;:48;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;8980:48:8::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;8980:48:8::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;8980:48:8::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;8980:48:8::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;8980:48:8::1;;::::0;;::::1;;;::::0;;;::::1;::::0;;-1:-1:-1;9067:14:8::1;-1:-1:-1::0;9082:9:8::1;-1:-1:-1::0;9082:5:8;:9:::1;:::i;:::-;9067:25;;;;;;;;;;;9093:1;9067:28;;;;;;;;-1:-1:-1::0;;;9067:28:8::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;;:39:::0;;-1:-1:-1;9129:432:8::1;9144:9;9152:1;9144:5:::0;:9:::1;:::i;:::-;9191:10:::0;9239:14:::1;:25;9254:9;9262:1;9254:5:::0;:9:::1;:::i;:::-;9239:25;;;;;;;;;;;9265:1;9239:28;;;;;;;;-1:-1:-1::0;;;9239:28:8::1;;;;;;;;;;;;;;;;;;;:36;;9313:14;:25;9336:1;9328:5;:9;;;;:::i;:::-;9313:25;;;;;;;;;;;9339:1;9313:28;;;;;;;;-1:-1:-1::0;;;9313:28:8::1;;;;;;;;;;;;;;;;;;;:41;;9392:14;:25;9415:1;9407:5;:9;;;;:::i;:::-;9392:25;;;;;;;;;;;9418:1;9392:28;;;;;;;;-1:-1:-1::0;;;9392:28:8::1;;;;;;;;;;;;;;;;;;;:42;;9472:14;:25;9495:1;9487:5;:9;;;;:::i;:::-;9472:25;;;;;;;;;;;9498:1;9472:28;;;;;;;;-1:-1:-1::0;;;9472:28:8::1;;;;;;;;;;;;;;;;;;;:35;;9545:15;9129:432;;;;;;;;;;;;:::i;:::-;;;;;;;;9584:7;9579:254;9601:14;:25;9616:9;9624:1;9616:5:::0;:9:::1;:::i;:::-;9601:25;;;;;;;;;;;9627:1;9601:28;;;;;;;;-1:-1:-1::0;;;9601:28:8::1;;;;;;;;;;;;;;;;;;;:35;;:42;;;;9597:1;:46;;;9579:254;;;9672:10;::::0;-1:-1:-1;;;;;9672:10:8::1;:21;9694:14;9672:10;9709:9;9672:10:::0;9709:5;:9:::1;:::i;:::-;9694:25;;;;;;;;;;;9720:1;9694:28;;;;;;;;-1:-1:-1::0;;;9694:28:8::1;;;;;;;;;;;;;;;;;;;:35;;9730:1;9694:38;;;;;;;;-1:-1:-1::0;;;9694:38:8::1;;;;;;;;;;;;;;;;;9774:14;:25;9797:1;9789:5;:9;;;;:::i;:::-;9774:25;;;;;;;;;;;9800:1;9774:28;;;;;;;;-1:-1:-1::0;;;9774:28:8::1;;;;;;;;;;;;;;;;;;;:36;;9811:1;9774:39;;;;;;;;-1:-1:-1::0;;;9774:39:8::1;;;;;;;;;;;;;;;;;9672:142;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9645:3;;;;;:::i;:::-;;;;9579:254;;;-1:-1:-1::0;9850:12:8::1;::::0;;:47:::1;::::0;;;;-1:-1:-1;;;;;9850:12:8;;::::1;::::0;:28:::1;::::0;:47:::1;::::0;9879:10;;9891:5;;9850:47:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9915:7;;;;;8922:1014;8903:3:::0;::::1;::::0;::::1;:::i;:::-;;;;8849:1097;;;;389:1:7;;8706:1255:8::0;:::o;2363:49:0:-;2408:4;2363:49;:::o;2460:467:8:-;2606:27;;:::i;:::-;2647:30;2691;2735:31;2801:14;:21;2816:5;2801:21;;;;;;;;;;;2823:13;2801:36;;;;;;-1:-1:-1;;;2801:36:8;;;;;;;;;;;;;;;;;;;2792:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2792:45:8;;;-1:-1:-1;;2792:45:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2862:14;;;;2878:19;;;;2899:20;;;;2862:14;;;;-1:-1:-1;2878:19:8;-1:-1:-1;2899:20:8;;-1:-1:-1;2460:467:8;-1:-1:-1;;;2460:467:8:o;2933:237::-;3088:21;;;;:14;:21;;;;;:36;;3030:30;;3088:21;3110:13;;3088:36;;;;-1:-1:-1;;;3088:36:8;;;;;;;;;;;;;;;;;;;:44;;3072:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2933:237;;;;:::o;2056:184::-;2176:13;;;;:6;:13;;;;;;;;;:26;;;2160:42;;;;;;;;;;;;;;;;;2118:30;;2160:42;;;2176:26;2160:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:184;;;:::o;5018:231:0:-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;3176:133:8:-;3247:7;3273:21;;;:14;:21;;;;;:28;;3176:133::o;353:48:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2246:208:8:-;2388:13;;;;:6;:13;;;;;;;;;:27;;2371:44;;;;;;;;;;;;;;;;;2323:31;;2371:44;;;2388:27;2371:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2246:208;;;:::o;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;10807:1047:8:-;10904:21;;;;:14;:21;;;;;:28;10900:118;;10953:21;;;;:14;:21;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10980:6;;10953:34;;;;;;;;;:::i;:::-;-1:-1:-1;10953:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10953:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10953:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10953:34:8;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10953:34:8;;;;;;;;;;11001:7;;10900:118;11028:14;11045:21;;;:14;:21;;;;;:28;;11083:352;11107:21;;;;:14;:21;;;;;:28;11103:32;;11083:352;;;11200:19;;;;11160:21;;;;:14;:21;;;;;:24;;11182:1;;11160:24;;;;-1:-1:-1;;;11160:24:8;;;;;;;;;;;;;;;;;;;:37;;;:59;11156:131;;;11248:1;11239:10;;11267:5;;11156:131;11341:16;;;;11304:21;;;;:14;:21;;;;;:24;;11326:1;;11304:24;;;;-1:-1:-1;;;11304:24:8;;;;;;;;;;;;;;;;;;;:34;;;:53;11300:125;;;11386:1;11377:10;;11405:5;;11300:125;11137:3;;;;:::i;:::-;;;;11083:352;;;-1:-1:-1;11445:21:8;;;;:14;:21;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11472:6;;11445:34;;;;;;;;;:::i;:::-;-1:-1:-1;11445:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11445:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11445:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11445:34:8;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11445:34:8;;;;;;;;;;-1:-1:-1;11506:21:8;;;:14;:21;;;;;:28;:32;;-1:-1:-1;;11506:32:8;:::i;:::-;11494:44;;11489:150;11545:6;11540:1;:12;11489:150;;;11600:21;;;;:14;:21;;;;;11622:5;11626:1;11622;:5;:::i;:::-;11600:28;;;;;;-1:-1:-1;;;11600:28:8;;;;;;;;;;;;;;;;;;;11573:14;:21;11588:5;11573:21;;;;;;;;;;;11595:1;11573:24;;;;;;-1:-1:-1;;;11573:24:8;;;;;;;;;;;;;;;;;:55;;:24;;;;;:55;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11573:55:8;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11573:55:8;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11573:55:8;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11573:55:8;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11573:55:8;;;;;;;;;;;;;11554:3;;;;:::i;:::-;;;;11489:150;;;-1:-1:-1;11649:21:8;;;;:14;:21;;;;;:29;;11681:6;;11649:21;11671:6;;11649:29;;;;-1:-1:-1;;;11649:29:8;;;;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11649:38:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11649:38:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11649:38:8;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11733:9;:22;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11702:21;;;;:14;:21;;;;;:28;:55;11698:150;;;11781:21;;;;:14;:21;;;;;11803:28;;:32;;11834:1;;11803:32;:::i;:::-;11781:55;;;;;;-1:-1:-1;;;11781:55:8;;;;;;;;;;;;;;;;;;;;;11773:64;;;11781:55;11773:64;;;;11781:55;11773:64;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;11773:64:8;;;;;;;;;;;;;;;-1:-1:-1;;11773:64:8;;;10807:1047;;;:::o;586:96:3:-;665:10;586:96;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:142:28;95:13;;117:33;95:13;117:33;:::i;161:926::-;;274:3;267:4;259:6;255:17;251:27;241:2;;296:5;289;282:20;241:2;336:6;323:20;362:4;385:18;422:2;418;415:10;412:2;;;428:18;;:::i;:::-;475:2;471;467:11;507:2;501:9;558:2;553;545:6;541:15;537:24;611:6;599:10;596:22;591:2;579:10;576:18;573:46;570:2;;;622:18;;:::i;:::-;658:2;651:22;708:18;;;742:15;;;;-1:-1:-1;777:15:28;;;811;;;807:24;;804:33;-1:-1:-1;801:2:28;;;854:5;847;840:20;801:2;880:5;871:14;;894:163;908:2;905:1;902:9;894:163;;;965:17;;953:30;;1003:12;;;;926:1;919:9;;;;;1035:12;;894:163;;;-1:-1:-1;1075:6:28;231:856;-1:-1:-1;;;;;;;231:856:28:o;1092:689::-;;;;;1255:3;1243:9;1234:7;1230:23;1226:33;1223:2;;;1277:6;1269;1262:22;1223:2;1321:9;1308:23;1340:33;1367:5;1340:33;:::i;:::-;1392:5;-1:-1:-1;1449:2:28;1434:18;;1421:32;1462:35;1421:32;1462:35;:::i;:::-;1516:7;-1:-1:-1;1575:2:28;1560:18;;1547:32;1588:35;1547:32;1588:35;:::i;:::-;1642:7;-1:-1:-1;1701:2:28;1686:18;;1673:32;1714:35;1673:32;1714:35;:::i;:::-;1213:568;;;;-1:-1:-1;1213:568:28;;-1:-1:-1;;1213:568:28:o;1786:190::-;;1898:2;1886:9;1877:7;1873:23;1869:32;1866:2;;;1919:6;1911;1904:22;1866:2;-1:-1:-1;1947:23:28;;1856:120;-1:-1:-1;1856:120:28:o;1981:194::-;;2104:2;2092:9;2083:7;2079:23;2075:32;2072:2;;;2125:6;2117;2110:22;2072:2;-1:-1:-1;2153:16:28;;2062:113;-1:-1:-1;2062:113:28:o;2180:327::-;;;2309:2;2297:9;2288:7;2284:23;2280:32;2277:2;;;2330:6;2322;2315:22;2277:2;2371:9;2358:23;2348:33;;2431:2;2420:9;2416:18;2403:32;2444:33;2471:5;2444:33;:::i;:::-;2496:5;2486:15;;;2267:240;;;;;:::o;2512:352::-;;2623:2;2611:9;2602:7;2598:23;2594:32;2591:2;;;2644:6;2636;2629:22;2591:2;2688:9;2675:23;2738:66;2731:5;2727:78;2720:5;2717:89;2707:2;;2825:6;2817;2810:22;2869:920;;2994:3;3038:2;3026:9;3017:7;3013:23;3009:32;3006:2;;;3059:6;3051;3044:22;3006:2;3097;3091:9;3127:15;;;;3172:18;3157:34;;3193:22;;;3154:62;3151:2;;;3219:18;;:::i;:::-;3259:10;3255:2;3248:22;3300:9;3294:16;3286:6;3279:32;3344:51;3391:2;3380:9;3376:18;3344:51;:::i;:::-;3339:2;3331:6;3327:15;3320:76;3450:2;3439:9;3435:18;3429:25;3424:2;3416:6;3412:15;3405:50;3509:2;3498:9;3494:18;3488:25;3483:2;3475:6;3471:15;3464:50;3569:3;3558:9;3554:19;3548:26;3542:3;3534:6;3530:16;3523:52;3630:3;3619:9;3615:19;3609:26;3603:3;3595:6;3591:16;3584:52;3691:3;3680:9;3676:19;3670:26;3664:3;3656:6;3652:16;3645:52;3752:3;3741:9;3737:19;3731:26;3725:3;3717:6;3713:16;3706:52;3777:6;3767:16;;;;2974:815;;;;:::o;4520:1329::-;;;;;;;;4834:3;4822:9;4813:7;4809:23;4805:33;4802:2;;;4856:6;4848;4841:22;4802:2;4897:9;4884:23;4874:33;;4958:2;4947:9;4943:18;4930:32;4981:18;5022:2;5014:6;5011:14;5008:2;;;5043:6;5035;5028:22;5008:2;5071:67;5130:7;5121:6;5110:9;5106:22;5071:67;:::i;:::-;5061:77;;5191:2;5180:9;5176:18;5163:32;5147:48;;5220:2;5210:8;5207:16;5204:2;;;5241:6;5233;5226:22;5204:2;5269:69;5330:7;5319:8;5308:9;5304:24;5269:69;:::i;:::-;5259:79;;5391:2;5380:9;5376:18;5363:32;5347:48;;5420:2;5410:8;5407:16;5404:2;;;5441:6;5433;5426:22;5404:2;5469:69;5530:7;5519:8;5508:9;5504:24;5469:69;:::i;:::-;5459:79;;5591:3;5580:9;5576:19;5563:33;5547:49;;5621:2;5611:8;5608:16;5605:2;;;5642:6;5634;5627:22;5605:2;;5670:69;5731:7;5720:8;5709:9;5705:24;5670:69;:::i;:::-;5660:79;;;5786:3;5775:9;5771:19;5758:33;5748:43;;5838:3;5827:9;5823:19;5810:33;5800:43;;4792:1057;;;;;;;;;;:::o;5854:258::-;;;5983:2;5971:9;5962:7;5958:23;5954:32;5951:2;;;6004:6;5996;5989:22;5951:2;-1:-1:-1;;6032:23:28;;;6102:2;6087:18;;;6074:32;;-1:-1:-1;5941:171:28:o;6117:510::-;;;;6288:2;6276:9;6267:7;6263:23;6259:32;6256:2;;;6309:6;6301;6294:22;6256:2;6350:9;6337:23;6327:33;;6407:2;6396:9;6392:18;6379:32;6369:42;;6462:2;6451:9;6447:18;6434:32;6489:18;6481:6;6478:30;6475:2;;;6526:6;6518;6511:22;6475:2;6554:67;6613:7;6604:6;6593:9;6589:22;6554:67;:::i;:::-;6544:77;;;6246:381;;;;;:::o;6632:326::-;;;;6778:2;6766:9;6757:7;6753:23;6749:32;6746:2;;;6799:6;6791;6784:22;6746:2;-1:-1:-1;;6827:23:28;;;6897:2;6882:18;;6869:32;;-1:-1:-1;6948:2:28;6933:18;;;6920:32;;6736:222;-1:-1:-1;6736:222:28:o;6963:293::-;;7084:2;7072:9;7063:7;7059:23;7055:32;7052:2;;;7105:6;7097;7090:22;7052:2;7142:9;7136:16;7192:4;7185:5;7181:16;7174:5;7171:27;7161:2;;7217:6;7209;7202:22;7261:443;;7358:5;7352:12;7385:6;7380:3;7373:19;7411:4;7440:2;7435:3;7431:12;7424:19;;7477:2;7470:5;7466:14;7498:3;7510:169;7524:6;7521:1;7518:13;7510:169;;;7585:13;;7573:26;;7619:12;;;;7654:15;;;;7546:1;7539:9;7510:169;;;-1:-1:-1;7695:3:28;;7328:376;-1:-1:-1;;;;;7328:376:28:o;7709:481::-;;7814:5;7808:12;7841:6;7836:3;7829:19;7867:4;7896:2;7891:3;7887:12;7880:19;;7920:5;7915:3;7908:18;7964:2;7959:3;7949:18;7985:3;7997:168;8011:6;8008:1;8005:13;7997:168;;;8072:13;;8060:26;;8106:12;;;;8153:1;8141:14;;;;8026:9;7997:168;;8195:93;8267:13;8260:21;8248:34;;8238:50::o;8293:1089::-;;8372:6;8405:5;8399:12;8394:3;8387:25;8458:4;8451:5;8447:16;8441:23;8496:2;8489:4;8484:3;8480:14;8473:26;8520:62;8578:2;8573:3;8569:12;8555;8520:62;:::i;:::-;8508:74;;;8630:4;8623:5;8619:16;8613:23;8678:3;8672:4;8668:14;8661:4;8656:3;8652:14;8645:38;8706:56;8757:4;8741:14;8706:56;:::i;:::-;8692:70;;;8810:4;8803:5;8799:16;8793:23;8860:3;8852:6;8848:16;8841:4;8836:3;8832:14;8825:40;8888:58;8939:6;8923:14;8888:58;:::i;:::-;8874:72;;;8994:4;8987:5;8983:16;8977:23;9044:3;9036:6;9032:16;9025:4;9020:3;9016:14;9009:40;9072:58;9123:6;9107:14;9072:58;:::i;:::-;9058:72;;;9179:4;9172:5;9168:16;9162:23;9155:4;9150:3;9146:14;9139:47;9235:4;9228:5;9224:16;9218:23;9211:4;9206:3;9202:14;9195:47;9290:4;9283:5;9279:16;9273:23;9305:49;9348:4;9343:3;9339:14;9323;9305:49;:::i;:::-;-1:-1:-1;9370:6:28;8352:1030;-1:-1:-1;;;8352:1030:28:o;9387:226::-;-1:-1:-1;;;;;9551:55:28;;;;9533:74;;9521:2;9506:18;;9488:125::o;9618:267::-;;9797:2;9786:9;9779:21;9817:62;9875:2;9864:9;9860:18;9852:6;9817:62;:::i;9890:187::-;10055:14;;10048:22;10030:41;;10018:2;10003:18;;9985:92::o;10082:177::-;10228:25;;;10216:2;10201:18;;10183:76::o;11273:274::-;11492:4;11480:17;;;;11462:36;;11529:2;11514:18;;11507:34;11450:2;11435:18;;11417:130::o;11552:345::-;11799:4;11787:17;;;;11769:36;;11836:2;11821:18;;11814:34;;;;11879:2;11864:18;;11857:34;11757:2;11742:18;;11724:173::o;11902:411::-;12104:2;12086:21;;;12143:2;12123:18;;;12116:30;12182:34;12177:2;12162:18;;12155:62;12253:17;12248:2;12233:18;;12226:45;12303:3;12288:19;;12076:237::o;12318:405::-;12520:2;12502:21;;;12559:2;12539:18;;;12532:30;12598:34;12593:2;12578:18;;12571:62;12669:11;12664:2;12649:18;;12642:39;12713:3;12698:19;;12492:231::o;12728:335::-;12930:2;12912:21;;;12969:2;12949:18;;;12942:30;13008:13;13003:2;12988:18;;12981:41;13054:2;13039:18;;12902:161::o;13068:412::-;13270:2;13252:21;;;13309:2;13289:18;;;13282:30;13348:34;13343:2;13328:18;;13321:62;13419:18;13414:2;13399:18;;13392:46;13470:3;13455:19;;13242:238::o;13485:339::-;13687:2;13669:21;;;13726:2;13706:18;;;13699:30;13765:17;13760:2;13745:18;;13738:45;13815:2;13800:18;;13659:165::o;13829:350::-;14031:2;14013:21;;;14070:2;14050:18;;;14043:30;14109:28;14104:2;14089:18;;14082:56;14170:2;14155:18;;14003:176::o;14184:344::-;14386:2;14368:21;;;14425:2;14405:18;;;14398:30;14464:22;14459:2;14444:18;;14437:50;14519:2;14504:18;;14358:170::o;14533:344::-;14735:2;14717:21;;;14774:2;14754:18;;;14747:30;14813:22;14808:2;14793:18;;14786:50;14868:2;14853:18;;14707:170::o;14882:419::-;15084:2;15066:21;;;15123:2;15103:18;;;15096:30;15162:34;15157:2;15142:18;;15135:62;15233:25;15228:2;15213:18;;15206:53;15291:3;15276:19;;15056:245::o;15306:349::-;15508:2;15490:21;;;15547:2;15527:18;;;15520:30;15586:27;15581:2;15566:18;;15559:55;15646:2;15631:18;;15480:175::o;15660:397::-;15862:2;15844:21;;;15901:2;15881:18;;;15874:30;15940:34;15935:2;15920:18;;15913:62;16011:3;16006:2;15991:18;;15984:31;16047:3;16032:19;;15834:223::o;16062:339::-;16264:2;16246:21;;;16303:2;16283:18;;;16276:30;16342:17;16337:2;16322:18;;16315:45;16392:2;16377:18;;16236:165::o;16406:411::-;16608:2;16590:21;;;16647:2;16627:18;;;16620:30;16686:34;16681:2;16666:18;;16659:62;16757:17;16752:2;16737:18;;16730:45;16807:3;16792:19;;16580:237::o;16822:255::-;;16997:2;16986:9;16979:21;17017:54;17067:2;17056:9;17052:18;17044:6;17017:54;:::i;17082:887::-;;17491:3;17480:9;17473:22;17518:55;17568:3;17557:9;17553:19;17545:6;17518:55;:::i;:::-;17621:9;17613:6;17609:22;17604:2;17593:9;17589:18;17582:50;17655;17698:6;17690;17655:50;:::i;:::-;17641:64;;17753:9;17745:6;17741:22;17736:2;17725:9;17721:18;17714:50;17787;17830:6;17822;17787:50;:::i;:::-;17773:64;;17885:9;17877:6;17873:22;17868:2;17857:9;17853:18;17846:50;17913;17956:6;17948;17913:50;:::i;:::-;17905:58;17463:506;-1:-1:-1;;;;;;;17463:506:28:o;18156:368::-;18358:25;;;-1:-1:-1;;;;;18419:55:28;;;;18414:2;18399:18;;18392:83;18506:2;18491:18;;18484:34;18346:2;18331:18;;18313:211::o;18529:248::-;18703:25;;;18759:2;18744:18;;18737:34;18691:2;18676:18;;18658:119::o;18782:1279::-;;19327:3;19357:6;19346:9;19339:25;19400:6;19395:2;19384:9;19380:18;19373:34;19443:2;19438;19427:9;19423:18;19416:30;19469:62;19527:2;19516:9;19512:18;19504:6;19469:62;:::i;:::-;19455:76;;19579:9;19571:6;19567:22;19562:2;19551:9;19547:18;19540:50;19613;19656:6;19648;19613:50;:::i;:::-;19599:64;;19712:9;19704:6;19700:22;19694:3;19683:9;19679:19;19672:51;19746:50;19789:6;19781;19746:50;:::i;:::-;19732:64;;19845:9;19837:6;19833:22;19827:3;19816:9;19812:19;19805:51;19873:50;19916:6;19908;19873:50;:::i;:::-;19954:3;19939:19;;19932:35;;;;-1:-1:-1;;19998:3:28;19983:19;;19976:35;;;;20042:3;20027:19;;;20020:35;19865:58;19307:754;-1:-1:-1;;;;;;19307:754:28:o;20066:1135::-;;20551:6;20540:9;20533:25;20594:6;20589:2;20578:9;20574:18;20567:34;20637:3;20632:2;20621:9;20617:18;20610:31;20664:71;20730:3;20719:9;20715:19;20707:6;20664:71;:::i;:::-;20783:9;20775:6;20771:22;20766:2;20755:9;20751:18;20744:50;20817:58;20868:6;20860;20817:58;:::i;:::-;20803:72;;20924:9;20916:6;20912:22;20906:3;20895:9;20891:19;20884:51;20958:58;21009:6;21001;20958:58;:::i;:::-;20944:72;;21065:9;21057:6;21053:22;21047:3;21036:9;21032:19;21025:51;21093:58;21144:6;21136;21093:58;:::i;:::-;21085:66;;;21188:6;21182:3;21171:9;21167:19;21160:35;20523:678;;;;;;;;;;:::o;21206:319::-;21408:25;;;21464:2;21449:18;;21442:34;;;;21507:2;21492:18;;21485:34;21396:2;21381:18;;21363:162::o;21530:401::-;21755:25;;;21811:2;21796:18;;21789:34;;;;21854:2;21839:18;;21832:34;21909:14;21902:22;21897:2;21882:18;;21875:50;21742:3;21727:19;;21709:222::o;21936:535::-;22223:25;;;22279:2;22264:18;;22257:34;;;;22322:2;22307:18;;22300:34;;;;22365:2;22350:18;;22343:34;22408:3;22393:19;;22386:35;22452:3;22437:19;;22430:35;22210:3;22195:19;;22177:294::o;22476:128::-;;22547:1;22543:6;22540:1;22537:13;22534:2;;;22553:18;;:::i;:::-;-1:-1:-1;22589:9:28;;22524:80::o;22609:120::-;;22675:1;22665:2;;22680:18;;:::i;:::-;-1:-1:-1;22714:9:28;;22655:74::o;22734:168::-;;22840:1;22836;22832:6;22828:14;22825:1;22822:21;22817:1;22810:9;22803:17;22799:45;22796:2;;;22847:18;;:::i;:::-;-1:-1:-1;22887:9:28;;22786:116::o;22907:125::-;;22975:1;22972;22969:8;22966:2;;;22980:18;;:::i;:::-;-1:-1:-1;23017:9:28;;22956:76::o;23037:136::-;;23104:5;23094:2;;23113:18;;:::i;:::-;-1:-1:-1;;;23149:18:28;;23084:89::o;23178:135::-;;-1:-1:-1;;23238:17:28;;23235:2;;;23258:18;;:::i;:::-;-1:-1:-1;23305:1:28;23294:13;;23225:88::o;23318:175::-;;23399:4;23392:5;23388:16;23428:4;23419:7;23416:17;23413:2;;;23436:18;;:::i;:::-;23485:1;23472:15;;23363:130;-1:-1:-1;;23363:130:28:o;23498:112::-;;23556:1;23546:2;;23561:18;;:::i;:::-;-1:-1:-1;23595:9:28;;23536:74::o;23615:184::-;-1:-1:-1;;;23664:1:28;23657:88;23764:4;23761:1;23754:15;23788:4;23785:1;23778:15;23804:184;-1:-1:-1;;;23853:1:28;23846:88;23953:4;23950:1;23943:15;23977:4;23974:1;23967:15;23993:184;-1:-1:-1;;;24042:1:28;24035:88;24142:4;24139:1;24132:15;24166:4;24163:1;24156:15;24182:156;-1:-1:-1;;;;;24263:5:28;24259:54;24252:5;24249:65;24239:2;;24328:1;24325;24318:12" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "blocks(uint256)": "f25b3f99", - "confirmBlock()": "9b87f644", - "disputes(uint256,address)": "828496d6", - "finalizeDispute(uint256,uint256)": "3cd32fd4", - "getBlock(uint256)": "04c07569", - "getBlockMedians(uint256)": "378ab9a9", - "getHigherCutoffs(uint256)": "fae4425d", - "getLowerCutoffs(uint256)": "d2a4669a", - "getNumProposedBlocks(uint256)": "e38c7c42", - "getProposedBlock(uint256,uint256)": "a27ce1ef", - "getProposedBlockMedians(uint256,uint256)": "d1a4a43d", - "getRoleAdmin(bytes32)": "248a9ca3", - "giveSorted(uint256,uint256,uint256[])": "4e6753b7", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "init(address,address,address,address)": "06552ff3", - "isElectedProposer(uint256,uint256,uint256)": "1d69ff9b", - "jobManager()": "3df395a3", - "propose(uint256,uint256[],uint256[],uint256[],uint256[],uint256,uint256)": "17d99c04", - "proposedBlocks(uint256,uint256)": "92b48411", - "renounceRole(bytes32,address)": "36568abe", - "resetDispute(uint256)": "5ce8772f", - "revokeRole(bytes32,address)": "d547741f", - "stakeManager()": "7542ff95", - "stateManager()": "2e716fb1", - "supportsInterface(bytes4)": "01ffc9a7", - "voteManager()": "42c1e587" - } - } - } - }, - "contracts/Core/JobManager.sol": { - "JobManager": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "JobCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "JobReported", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - } - ], - "name": "createJob", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "jobId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "fulfillJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNumJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "jobs", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1876 - } - ] - } - }, - "object": "60806040523480156200001157600080fd5b506200001f60003362000025565b620000ec565b62000031828262000035565b5050565b620000418282620000bf565b62000031576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200007b620000e8565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b6116bf80620000fc6000396000f3fe6080604052600436106100f35760003560e01c8063628aff1d1161008a578063995e433911610059578063995e433914610292578063a217fddf146102b2578063bf22c457146102c7578063d547741f146102f8576100f3565b8063628aff1d146102355780637e0c00ed1461024857806391d148541461025d5780639212051c1461027d576100f3565b80632e716fb1116100c65780632e716fb1146101b35780632f2ff15d146101d557806336568abe146101f557806356350bdf14610215576100f3565b806301ffc9a7146100f8578063180aedf31461012e57806319ab453c14610164578063248a9ca314610186575b600080fd5b34801561010457600080fd5b506101186101133660046110a6565b610318565b60405161012591906112cb565b60405180910390f35b34801561013a57600080fd5b5061014e61014936600461104b565b610376565b6040516101259a99989796959493929190611510565b34801561017057600080fd5b5061018461017f36600461102a565b61056f565b005b34801561019257600080fd5b506101a66101a136600461104b565b6105a9565b60405161012591906112d6565b3480156101bf57600080fd5b506101c86105be565b60405161012591906112df565b3480156101e157600080fd5b506101846101f036600461107b565b6105cd565b34801561020157600080fd5b5061018461021036600461107b565b610614565b34801561022157600080fd5b50610184610230366004611194565b610656565b6101846102433660046110e6565b610826565b34801561025457600080fd5b506101a6610af4565b34801561026957600080fd5b5061011861027836600461107b565b610afa565b34801561028957600080fd5b506101a6610b23565b34801561029e57600080fd5b506101a66102ad36600461104b565b610b29565b3480156102be57600080fd5b506101a6610b3e565b3480156102d357600080fd5b506102e76102e236600461104b565b610b43565b6040516101259594939291906112f3565b34801561030457600080fd5b5061018461031336600461107b565b610db5565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061036e575061036e82610ddd565b90505b919050565b6002602081905260009182526040909120805460018201549282018054919392916103a09061164e565b80601f01602080910402602001604051908101604052809291908181526020018280546103cc9061164e565b80156104195780601f106103ee57610100808354040283529160200191610419565b820191906000526020600020905b8154815290600101906020018083116103fc57829003601f168201915b50505050509080600301805461042e9061164e565b80601f016020809104026020016040519081016040528092919081815260200182805461045a9061164e565b80156104a75780601f1061047c576101008083540402835291602001916104a7565b820191906000526020600020905b81548152906001019060200180831161048a57829003601f168201915b5050505050908060040180546104bc9061164e565b80601f01602080910402602001604051908101604052809291908181526020018280546104e89061164e565b80156105355780601f1061050a57610100808354040283529160200191610535565b820191906000526020600020905b81548152906001019060200180831161051857829003601f168201915b50505050600583015460068401546007850154600890950154939460ff808416956101009094046001600160a01b0316945091929116908a565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60009081526020819052604090206001015490565b6003546001600160a01b031681565b6105e16105d9836105a9565b610278610e27565b6106065760405162461bcd60e51b81526004016105fd90611341565b60405180910390fd5b6106108282610e2b565b5050565b61061c610e27565b6001600160a01b0316816001600160a01b03161461064c5760405162461bcd60e51b81526004016105fd90611432565b6106108282610eb0565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__637f890b116040518163ffffffff1660e01b815260040160206040518083038186803b15801561069a57600080fd5b505af41580156106ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d29190611063565b6106dc8133610afa565b6106f85760405162461bcd60e51b81526004016105fd906113fb565b60008381526002602090815260408083206003548251630eaf323560e31b815292519194936001600160a01b039091169263757991a89260048083019392829003018186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107829190611063565b600583015490915060ff166107a15760078201805460ff191660011790555b6008820184905581546005830154600684015460078501546040517f9028bea5bfa7ed26c48df402d89085a995447dc8c1fb167cb92a3c7411b54480946108179490938a93889360028b019360038c019360048d019360ff808416946101009094046001600160a01b0316939116904290611593565b60405180910390a15050505050565b600180546108339161162a565b60015560035460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561087b57600080fd5b505afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190611063565b9050600060405180610140016040528060015481526020018381526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a9081908401838280828437600092019190915250505090825250604080516020601f8901819004810282018101909252878152918101919088908890819084018382808284376000920182905250938552505050851515602080840191909152336040808501919091523460608501526080840183905260a090930182905260018054835260028083529284902085518155858301519181019190915592840151805194955085946109e4938501929190910190610f33565b5060608201518051610a00916003840191602090910190610f33565b5060808201518051610a1c916004840191602090910190610f33565b5060a082015160058201805460c085015160ff19918216931515939093177fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0390941684021790915560e0840151600684015590830151600783018054909216901515179055610120909101516008909101556001546040517fd4ae17fdeb78e69409330361e8f8475f8027928c6f28eae2195e5ae56570aba091610ae19185908d908d908d908d908d908d908d9033903490429061148f565b60405180910390a1505050505050505050565b60015490565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60015481565b60009081526002602052604090206008015490565b600081565b6060806060600080600060026000888152602001908152602001600020604051806101400160405290816000820154815260200160018201548152602001600282018054610b909061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbc9061164e565b8015610c095780601f10610bde57610100808354040283529160200191610c09565b820191906000526020600020905b815481529060010190602001808311610bec57829003601f168201915b50505050508152602001600382018054610c229061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4e9061164e565b8015610c9b5780601f10610c7057610100808354040283529160200191610c9b565b820191906000526020600020905b815481529060010190602001808311610c7e57829003601f168201915b50505050508152602001600482018054610cb49061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce09061164e565b8015610d2d5780601f10610d0257610100808354040283529160200191610d2d565b820191906000526020600020905b815481529060010190602001808311610d1057829003601f168201915b5050509183525050600582015460ff808216151560208401526101009091046001600160a01b031660408084019190915260068401546060808501919091526007850154909216151560808085019190915260089094015460a09384015284015190840151928401519184015161012090940151909b929a5090985091965090945092505050565b610dc16105d9836105a9565b61064c5760405162461bcd60e51b81526004016105fd9061139e565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b610e358282610afa565b610610576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610e6c610e27565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610eba8282610afa565b15610610576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055610eef610e27565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b828054610f3f9061164e565b90600052602060002090601f016020900481019282610f615760008555610fa7565b82601f10610f7a57805160ff1916838001178555610fa7565b82800160010185558215610fa7579182015b82811115610fa7578251825591602001919060010190610f8c565b50610fb3929150610fb7565b5090565b5b80821115610fb35760008155600101610fb8565b80356001600160a01b038116811461037157600080fd5b60008083601f840112610ff4578182fd5b50813567ffffffffffffffff81111561100b578182fd5b60208301915083602082850101111561102357600080fd5b9250929050565b60006020828403121561103b578081fd5b61104482610fcc565b9392505050565b60006020828403121561105c578081fd5b5035919050565b600060208284031215611074578081fd5b5051919050565b6000806040838503121561108d578081fd5b8235915061109d60208401610fcc565b90509250929050565b6000602082840312156110b7578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611044578182fd5b60008060008060008060006080888a031215611100578283fd5b873567ffffffffffffffff80821115611117578485fd5b6111238b838c01610fe3565b909950975060208a013591508082111561113b578485fd5b6111478b838c01610fe3565b909750955060408a013591508082111561115f578485fd5b5061116c8a828b01610fe3565b90945092505060608801358015158114611184578182fd5b8091505092959891949750929550565b600080604083850312156111a6578182fd5b50508035926020909101359150565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b81811015611204576020818501810151868301820152016111e8565b818111156112155782602083870101525b50601f01601f19169290920160200192915050565b80546000906002810460018083168061124457607f831692505b602080841082141561126457634e487b7160e01b86526022600452602486fd5b61126e84896112d6565b8280156112825760018114611293576112be565b60ff198716825282820197506112be565b61129c8961161e565b60005b878110156112b85781548482015290860190840161129f565b83019850505b5050505050505092915050565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b600060a0825261130660a08301886111df565b828103602084015261131881886111df565b9050828103604084015261132c81876111df565b94151560608401525050608001529392505050565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60006101208e83528d60208401528060408401526114b08184018d8f6111b5565b905082810360608401526114c5818b8d6111b5565b905082810360808401526114da81898b6111b5565b96151560a084015250506001600160a01b039390931660c084015260e08301919091526101009091015298975050505050505050565b60006101408c83528b60208401528060408401526115308184018c6111df565b90508281036060840152611544818b6111df565b90508281036080840152611558818a6111df565b97151560a084015250506001600160a01b039490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60006101608d83528c60208401528b60408401528060608401526115b98184018c61122a565b905082810360808401526115cd818b61122a565b905082810360a08401526115e1818a61122a565b97151560c084015250506001600160a01b039490941660e08501526101008401929092521515610120830152610140909101529695505050505050565b60009081526020902090565b6000821982111561164957634e487b7160e01b81526011600452602481fd5b500190565b60028104600182168061166257607f821691505b6020821081141561168357634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220f10551ba28355592a0a352e53daede7aae6da9a2fc175938b889f1a0049151aa64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x1F PUSH1 0x0 CALLER PUSH3 0x25 JUMP JUMPDEST PUSH3 0xEC JUMP JUMPDEST PUSH3 0x31 DUP3 DUP3 PUSH3 0x35 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0x41 DUP3 DUP3 PUSH3 0xBF JUMP JUMPDEST PUSH3 0x31 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0x7B PUSH3 0xE8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x16BF DUP1 PUSH3 0xFC PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF3 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x628AFF1D GT PUSH2 0x8A JUMPI DUP1 PUSH4 0x995E4339 GT PUSH2 0x59 JUMPI DUP1 PUSH4 0x995E4339 EQ PUSH2 0x292 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2B2 JUMPI DUP1 PUSH4 0xBF22C457 EQ PUSH2 0x2C7 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x2F8 JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x628AFF1D EQ PUSH2 0x235 JUMPI DUP1 PUSH4 0x7E0C00ED EQ PUSH2 0x248 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x25D JUMPI DUP1 PUSH4 0x9212051C EQ PUSH2 0x27D JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x2E716FB1 GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x56350BDF EQ PUSH2 0x215 JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xF8 JUMPI DUP1 PUSH4 0x180AEDF3 EQ PUSH2 0x12E JUMPI DUP1 PUSH4 0x19AB453C EQ PUSH2 0x164 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x186 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x104 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x118 PUSH2 0x113 CALLDATASIZE PUSH1 0x4 PUSH2 0x10A6 JUMP JUMPDEST PUSH2 0x318 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0x12CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14E PUSH2 0x149 CALLDATASIZE PUSH1 0x4 PUSH2 0x104B JUMP JUMPDEST PUSH2 0x376 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1510 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x184 PUSH2 0x17F CALLDATASIZE PUSH1 0x4 PUSH2 0x102A JUMP JUMPDEST PUSH2 0x56F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x104B JUMP JUMPDEST PUSH2 0x5A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0x12D6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x5BE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0x12DF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x184 PUSH2 0x1F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x5CD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x184 PUSH2 0x210 CALLDATASIZE PUSH1 0x4 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x614 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x184 PUSH2 0x230 CALLDATASIZE PUSH1 0x4 PUSH2 0x1194 JUMP JUMPDEST PUSH2 0x656 JUMP JUMPDEST PUSH2 0x184 PUSH2 0x243 CALLDATASIZE PUSH1 0x4 PUSH2 0x10E6 JUMP JUMPDEST PUSH2 0x826 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x254 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0xAF4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x118 PUSH2 0x278 CALLDATASIZE PUSH1 0x4 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xAFA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x289 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0xB23 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x2AD CALLDATASIZE PUSH1 0x4 PUSH2 0x104B JUMP JUMPDEST PUSH2 0xB29 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0xB3E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E7 PUSH2 0x2E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x104B JUMP JUMPDEST PUSH2 0xB43 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x12F3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x304 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x184 PUSH2 0x313 CALLDATASIZE PUSH1 0x4 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xDB5 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x36E JUMPI POP PUSH2 0x36E DUP3 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD SWAP3 DUP3 ADD DUP1 SLOAD SWAP2 SWAP4 SWAP3 SWAP2 PUSH2 0x3A0 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3CC SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x419 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x419 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x42E SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x45A SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4A7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x47C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4A7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x48A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x4BC SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4E8 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x535 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x50A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x535 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x518 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x8 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0xFF DUP1 DUP5 AND SWAP6 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP5 POP SWAP2 SWAP3 SWAP2 AND SWAP1 DUP11 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x5E1 PUSH2 0x5D9 DUP4 PUSH2 0x5A9 JUMP JUMPDEST PUSH2 0x278 PUSH2 0xE27 JUMP JUMPDEST PUSH2 0x606 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5FD SWAP1 PUSH2 0x1341 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x610 DUP3 DUP3 PUSH2 0xE2B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x61C PUSH2 0xE27 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x64C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5FD SWAP1 PUSH2 0x1432 JUMP JUMPDEST PUSH2 0x610 DUP3 DUP3 PUSH2 0xEB0 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x7F890B11 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x69A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x6AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6D2 SWAP2 SWAP1 PUSH2 0x1063 JUMP JUMPDEST PUSH2 0x6DC DUP2 CALLER PUSH2 0xAFA JUMP JUMPDEST PUSH2 0x6F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5FD SWAP1 PUSH2 0x13FB JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x3 SLOAD DUP3 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP3 MLOAD SWAP2 SWAP5 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 PUSH4 0x757991A8 SWAP3 PUSH1 0x4 DUP1 DUP4 ADD SWAP4 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x75E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x782 SWAP2 SWAP1 PUSH2 0x1063 JUMP JUMPDEST PUSH1 0x5 DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH2 0x7A1 JUMPI PUSH1 0x7 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x8 DUP3 ADD DUP5 SWAP1 SSTORE DUP2 SLOAD PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x9028BEA5BFA7ED26C48DF402D89085A995447DC8C1FB167CB92A3C7411B54480 SWAP5 PUSH2 0x817 SWAP5 SWAP1 SWAP4 DUP11 SWAP4 DUP9 SWAP4 PUSH1 0x2 DUP12 ADD SWAP4 PUSH1 0x3 DUP13 ADD SWAP4 PUSH1 0x4 DUP14 ADD SWAP4 PUSH1 0xFF DUP1 DUP5 AND SWAP5 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 SWAP2 AND SWAP1 TIMESTAMP SWAP1 PUSH2 0x1593 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x833 SWAP2 PUSH2 0x162A JUMP JUMPDEST PUSH1 0x1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x87B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x88F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8B3 SWAP2 SWAP1 PUSH2 0x1063 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP11 DUP11 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP SWAP1 DUP3 MSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP12 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP10 DUP2 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP SWAP1 DUP3 MSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP10 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP8 DUP2 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD DUP3 SWAP1 MSTORE POP SWAP4 DUP6 MSTORE POP POP POP DUP6 ISZERO ISZERO PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE CALLER PUSH1 0x40 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE CALLVALUE PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x80 DUP5 ADD DUP4 SWAP1 MSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD DUP3 SWAP1 MSTORE PUSH1 0x1 DUP1 SLOAD DUP4 MSTORE PUSH1 0x2 DUP1 DUP4 MSTORE SWAP3 DUP5 SWAP1 KECCAK256 DUP6 MLOAD DUP2 SSTORE DUP6 DUP4 ADD MLOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP3 DUP5 ADD MLOAD DUP1 MLOAD SWAP5 SWAP6 POP DUP6 SWAP5 PUSH2 0x9E4 SWAP4 DUP6 ADD SWAP3 SWAP2 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xF33 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0xA00 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xF33 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0xA1C SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xF33 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0xFF NOT SWAP2 DUP3 AND SWAP4 ISZERO ISZERO SWAP4 SWAP1 SWAP4 OR PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FF AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND DUP5 MUL OR SWAP1 SWAP2 SSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0x6 DUP5 ADD SSTORE SWAP1 DUP4 ADD MLOAD PUSH1 0x7 DUP4 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 ISZERO ISZERO OR SWAP1 SSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MLOAD PUSH1 0x8 SWAP1 SWAP2 ADD SSTORE PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH32 0xD4AE17FDEB78E69409330361E8F8475F8027928C6F28EAE2195E5AE56570ABA0 SWAP2 PUSH2 0xAE1 SWAP2 DUP6 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 CALLER SWAP1 CALLVALUE SWAP1 TIMESTAMP SWAP1 PUSH2 0x148F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x8 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x60 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0xB90 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xBBC SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xC09 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBDE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xC09 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBEC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0xC22 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xC4E SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xC9B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xC70 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xC9B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xC7E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD PUSH2 0xCB4 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xCE0 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xD2D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD02 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xD2D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD10 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x60 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x7 DUP6 ADD SLOAD SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x80 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x8 SWAP1 SWAP5 ADD SLOAD PUSH1 0xA0 SWAP4 DUP5 ADD MSTORE DUP5 ADD MLOAD SWAP1 DUP5 ADD MLOAD SWAP3 DUP5 ADD MLOAD SWAP2 DUP5 ADD MLOAD PUSH2 0x120 SWAP1 SWAP5 ADD MLOAD SWAP1 SWAP12 SWAP3 SWAP11 POP SWAP1 SWAP9 POP SWAP2 SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xDC1 PUSH2 0x5D9 DUP4 PUSH2 0x5A9 JUMP JUMPDEST PUSH2 0x64C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5FD SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0xE35 DUP3 DUP3 PUSH2 0xAFA JUMP JUMPDEST PUSH2 0x610 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xE6C PUSH2 0xE27 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xEBA DUP3 DUP3 PUSH2 0xAFA JUMP JUMPDEST ISZERO PUSH2 0x610 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0xEEF PUSH2 0xE27 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xF3F SWAP1 PUSH2 0x164E JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xF61 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xFA7 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xF7A JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xFA7 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xFA7 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xFA7 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xF8C JUMP JUMPDEST POP PUSH2 0xFB3 SWAP3 SWAP2 POP PUSH2 0xFB7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xFB3 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xFB8 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x371 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xFF4 JUMPI DUP2 DUP3 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x100B JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x1023 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x103B JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x1044 DUP3 PUSH2 0xFCC JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x105C JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1074 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x108D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x109D PUSH1 0x20 DUP5 ADD PUSH2 0xFCC JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10B7 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x1044 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1100 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1117 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1123 DUP12 DUP4 DUP13 ADD PUSH2 0xFE3 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x113B JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1147 DUP12 DUP4 DUP13 ADD PUSH2 0xFE3 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x115F JUMPI DUP5 DUP6 REVERT JUMPDEST POP PUSH2 0x116C DUP11 DUP3 DUP12 ADD PUSH2 0xFE3 JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1184 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11A6 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 MSTORE DUP3 DUP3 PUSH1 0x20 DUP7 ADD CALLDATACOPY DUP1 PUSH1 0x20 DUP5 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP6 ADD AND DUP6 ADD ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE DUP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1204 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x11E8 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x1215 JUMPI DUP3 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP1 DUP4 AND DUP1 PUSH2 0x1244 JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST PUSH1 0x20 DUP1 DUP5 LT DUP3 EQ ISZERO PUSH2 0x1264 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP7 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 DUP7 REVERT JUMPDEST PUSH2 0x126E DUP5 DUP10 PUSH2 0x12D6 JUMP JUMPDEST DUP3 DUP1 ISZERO PUSH2 0x1282 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1293 JUMPI PUSH2 0x12BE JUMP JUMPDEST PUSH1 0xFF NOT DUP8 AND DUP3 MSTORE DUP3 DUP3 ADD SWAP8 POP PUSH2 0x12BE JUMP JUMPDEST PUSH2 0x129C DUP10 PUSH2 0x161E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x12B8 JUMPI DUP2 SLOAD DUP5 DUP3 ADD MSTORE SWAP1 DUP7 ADD SWAP1 DUP5 ADD PUSH2 0x129F JUMP JUMPDEST DUP4 ADD SWAP9 POP POP JUMPDEST POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 MSTORE PUSH2 0x1306 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x11DF JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1318 DUP2 DUP9 PUSH2 0x11DF JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x132C DUP2 DUP8 PUSH2 0x11DF JUMP JUMPDEST SWAP5 ISZERO ISZERO PUSH1 0x60 DUP5 ADD MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP15 DUP4 MSTORE DUP14 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x14B0 DUP2 DUP5 ADD DUP14 DUP16 PUSH2 0x11B5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x14C5 DUP2 DUP12 DUP14 PUSH2 0x11B5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x14DA DUP2 DUP10 DUP12 PUSH2 0x11B5 JUMP JUMPDEST SWAP7 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xE0 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x100 SWAP1 SWAP2 ADD MSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP13 DUP4 MSTORE DUP12 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x1530 DUP2 DUP5 ADD DUP13 PUSH2 0x11DF JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x1544 DUP2 DUP12 PUSH2 0x11DF JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x1558 DUP2 DUP11 PUSH2 0x11DF JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x160 DUP14 DUP4 MSTORE DUP13 PUSH1 0x20 DUP5 ADD MSTORE DUP12 PUSH1 0x40 DUP5 ADD MSTORE DUP1 PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x15B9 DUP2 DUP5 ADD DUP13 PUSH2 0x122A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x15CD DUP2 DUP12 PUSH2 0x122A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x15E1 DUP2 DUP11 PUSH2 0x122A JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xC0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND PUSH1 0xE0 DUP6 ADD MSTORE PUSH2 0x100 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x120 DUP4 ADD MSTORE PUSH2 0x140 SWAP1 SWAP2 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1649 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1662 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1683 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL SDIV MLOAD 0xBA 0x28 CALLDATALOAD SSTORE SWAP3 LOG0 LOG3 MSTORE 0xE5 RETURNDATASIZE 0xAE 0xDE PUSH27 0xAE6DA9A2FC175938B889F1A0049151AA64736F6C63430008000033 ", - "sourceMap": "192:2754:9:-:0;;;;;;;;;;;;-1:-1:-1;216:42:7;2408:4:0;247:10:7;216;:42::i;:::-;192:2754:9;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;6952:224::-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;3867:137::-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;586:96:3:-;665:10;586:96;:::o;192:2754:9:-;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:13280:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "65:147:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "75:29:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "97:6:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "84:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "84:20:28" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "75:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "190:16:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "199:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "202:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "192:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "192:12:28" - }, - "nodeType": "YulExpressionStatement", - "src": "192:12:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "126:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "137:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "144:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "133:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "133:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "123:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "123:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "116:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "116:73:28" - }, - "nodeType": "YulIf", - "src": "113:2:28" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "44:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "55:5:28", - "type": "" - } - ], - "src": "14:198:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "292:303:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "341:30:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "350:8:28" - }, - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "360:8:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "343:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "343:26:28" - }, - "nodeType": "YulExpressionStatement", - "src": "343:26:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "320:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "328:4:28", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "316:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "316:17:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "335:3:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "312:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "312:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "305:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "305:35:28" - }, - "nodeType": "YulIf", - "src": "302:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "380:30:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "403:6:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "390:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "390:20:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "380:6:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "453:30:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "462:8:28" - }, - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "472:8:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "455:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "455:26:28" - }, - "nodeType": "YulExpressionStatement", - "src": "455:26:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "425:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "433:18:28", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "422:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "422:30:28" - }, - "nodeType": "YulIf", - "src": "419:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "492:29:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "508:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "516:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "504:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "504:17:28" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "492:8:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "573:16:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "582:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "585:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "575:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "575:12:28" - }, - "nodeType": "YulExpressionStatement", - "src": "575:12:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "544:6:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "552:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "540:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "540:19:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "561:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "536:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "536:30:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "568:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "533:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "533:39:28" - }, - "nodeType": "YulIf", - "src": "530:2:28" - } - ] - }, - "name": "abi_decode_t_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "255:6:28", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "263:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "271:8:28", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "281:6:28", - "type": "" - } - ], - "src": "217:378:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "670:128:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "716:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "725:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "733:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "718:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "718:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "718:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "691:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "700:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "687:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "687:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "712:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "683:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "683:32:28" - }, - "nodeType": "YulIf", - "src": "680:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "751:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "782:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "761:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "761:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "751:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "636:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "647:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "659:6:28", - "type": "" - } - ], - "src": "600:198:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "873:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "919:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "928:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "936:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "921:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "921:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "921:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "894:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "903:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "890:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "890:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "915:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "886:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "886:32:28" - }, - "nodeType": "YulIf", - "src": "883:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "954:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "977:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "964:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "964:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "954:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "839:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "850:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "862:6:28", - "type": "" - } - ], - "src": "803:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1079:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1125:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1134:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1142:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1127:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1127:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1127:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1100:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1109:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1096:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1096:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1121:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1092:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1092:32:28" - }, - "nodeType": "YulIf", - "src": "1089:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1160:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1176:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1170:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1170:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1160:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1045:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1056:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1068:6:28", - "type": "" - } - ], - "src": "998:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1284:179:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1330:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1339:6:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1347:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1332:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1332:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1332:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1305:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1314:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1301:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1301:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1326:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1297:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1297:32:28" - }, - "nodeType": "YulIf", - "src": "1294:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1365:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1388:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1375:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1375:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1365:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1407:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1442:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1453:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1438:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1438:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1417:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1417:40:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1407:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1242:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1253:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1265:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1273:6:28", - "type": "" - } - ], - "src": "1197:266:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1537:283:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1583:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1592:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1600:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1585:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1585:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1585:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1558:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1567:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1554:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1554:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1579:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1550:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1550:32:28" - }, - "nodeType": "YulIf", - "src": "1547:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1618:36:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1644:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1631:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1631:23:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1622:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1764:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1773:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1781:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1766:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1766:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1766:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1676:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1687:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1694:66:28", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1683:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1683:78:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1673:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1673:89:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1666:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1666:97:28" - }, - "nodeType": "YulIf", - "src": "1663:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1799:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1809:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1799:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1503:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1514:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1526:6:28", - "type": "" - } - ], - "src": "1468:352:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2003:1050:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2050:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2059:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2067:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2052:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2052:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2052:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2024:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2033:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2020:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2020:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2045:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2016:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2016:33:28" - }, - "nodeType": "YulIf", - "src": "2013:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2085:37:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2112:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2099:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2099:23:28" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2089:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2131:28:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2141:18:28", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "2135:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2186:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2195:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2203:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2188:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2188:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2188:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2174:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2182:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2171:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2171:14:28" - }, - "nodeType": "YulIf", - "src": "2168:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2221:87:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2280:9:28" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2291:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2276:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2276:22:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2300:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "2247:28:28" - }, - "nodeType": "YulFunctionCall", - "src": "2247:61:28" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "2225:8:28", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "2235:8:28", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2317:18:28", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "2327:8:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2317:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2344:18:28", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "2354:8:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2344:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2371:48:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2404:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2415:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2400:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2400:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2387:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2387:32:28" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "2375:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2448:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2457:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2465:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2450:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2450:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2450:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "2434:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2444:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2431:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2431:16:28" - }, - "nodeType": "YulIf", - "src": "2428:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2483:89:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2542:9:28" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "2553:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2538:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2538:24:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2564:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "2509:28:28" - }, - "nodeType": "YulFunctionCall", - "src": "2509:63:28" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "2487:8:28", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "2497:8:28", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2581:18:28", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "2591:8:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2581:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2608:18:28", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "2618:8:28" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "2608:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2635:48:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2668:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2679:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2664:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2664:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2651:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2651:32:28" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "2639:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2712:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2721:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2729:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2714:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2714:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2714:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "2698:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2708:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2695:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2695:16:28" - }, - "nodeType": "YulIf", - "src": "2692:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2747:89:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2806:9:28" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "2817:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2802:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2802:24:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2828:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "2773:28:28" - }, - "nodeType": "YulFunctionCall", - "src": "2773:63:28" - }, - "variables": [ - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "2751:8:28", - "type": "" - }, - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "2761:8:28", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2845:18:28", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "2855:8:28" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2845:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2872:18:28", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "2882:8:28" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "2872:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2899:45:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2929:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2940:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2925:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2925:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2912:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2912:32:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2903:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2997:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "3006:6:28" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "3014:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2999:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2999:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2999:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2966:5:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2987:5:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2980:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2980:13:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2973:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2973:21:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2963:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2963:32:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2956:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2956:40:28" - }, - "nodeType": "YulIf", - "src": "2953:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "3032:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3042:5:28" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "3032:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_string_calldata_ptrt_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1921:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1932:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1944:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1952:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1960:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1968:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "1976:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "1984:6:28", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "1992:6:28", - "type": "" - } - ], - "src": "1825:1228:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3128:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3174:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3183:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3191:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3176:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3176:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3176:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3149:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3158:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3145:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3145:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3170:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3141:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3141:32:28" - }, - "nodeType": "YulIf", - "src": "3138:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "3209:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3232:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3219:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "3219:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3209:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3094:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3105:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3117:6:28", - "type": "" - } - ], - "src": "3058:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3334:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3380:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3389:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3397:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3382:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3382:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3382:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3355:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3364:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3351:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3351:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3376:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3347:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3347:32:28" - }, - "nodeType": "YulIf", - "src": "3344:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "3415:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3431:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3425:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3425:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3415:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3300:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3311:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3323:6:28", - "type": "" - } - ], - "src": "3253:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3539:171:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3585:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3594:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3602:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3587:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3587:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3587:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3560:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3569:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3556:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3556:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3581:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3552:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3552:32:28" - }, - "nodeType": "YulIf", - "src": "3549:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "3620:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3643:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3630:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "3630:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3620:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3662:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3689:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3700:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3685:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3685:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3672:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "3672:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3662:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3497:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3508:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3520:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3528:6:28", - "type": "" - } - ], - "src": "3452:258:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3784:202:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3801:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3806:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3794:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3794:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3794:19:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3839:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3844:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3835:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3835:14:28" - }, - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "3851:5:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3858:6:28" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "3822:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "3822:43:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3822:43:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3889:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3894:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3885:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3885:16:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3903:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3881:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3881:27:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3910:3:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3874:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3874:40:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3874:40:28" - }, - { - "nodeType": "YulAssignment", - "src": "3923:57:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3938:3:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3951:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3959:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3947:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3947:15:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3968:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3964:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3964:7:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3943:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3943:29:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3934:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3934:39:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3975:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3930:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3930:50:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3923:3:28" - } - ] - } - ] - }, - "name": "abi_encode_t_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "3753:5:28", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "3760:6:28", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "3768:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3776:3:28", - "type": "" - } - ], - "src": "3715:271:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4043:426:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4053:26:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4073:5:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4067:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4067:12:28" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "4057:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4095:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4100:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4088:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4088:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4088:19:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4116:12:28", - "value": { - "name": "end", - "nodeType": "YulIdentifier", - "src": "4125:3:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4120:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4189:110:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4203:14:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4213:4:28", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4207:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4245:3:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4250:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4241:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4241:11:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4254:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4237:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4237:20:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4273:5:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4280:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4269:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4269:13:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4284:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4265:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4265:22:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4259:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4259:29:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4230:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4230:59:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4230:59:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4148:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4151:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4145:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4145:13:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4159:21:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4161:17:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4170:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4173:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4166:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4166:12:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4161:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4141:3:28", - "statements": [] - }, - "src": "4137:162:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4333:64:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4362:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4367:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4358:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4358:16:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4376:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4354:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4354:27:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "4383:3:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4347:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4347:40:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4347:40:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4314:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4317:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4311:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4311:13:28" - }, - "nodeType": "YulIf", - "src": "4308:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "4406:57:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4421:3:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4434:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4442:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4430:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4430:15:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4451:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4447:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4447:7:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4426:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4426:29:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4417:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4417:39:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4458:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4413:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4413:50:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "4406:3:28" - } - ] - } - ] - }, - "name": "abi_encode_t_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4020:5:28", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "4027:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "4035:3:28", - "type": "" - } - ], - "src": "3991:478:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4534:1050:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4544:29:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4567:5:28" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "4561:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4561:12:28" - }, - "variables": [ - { - "name": "slotValue", - "nodeType": "YulTypedName", - "src": "4548:9:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4582:17:28", - "value": { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "4596:3:28" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "4586:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4608:27:28", - "value": { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "4622:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4633:1:28", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4618:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4618:17:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4608:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4644:11:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4654:1:28", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4648:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4664:44:28", - "value": { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "4694:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4705:2:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4690:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4690:18:28" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "4668:18:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4747:31:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4749:27:28", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4763:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4771:4:28", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4759:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4759:17:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4749:6:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "4727:18:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4720:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4720:26:28" - }, - "nodeType": "YulIf", - "src": "4717:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4787:12:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4797:2:28", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "4791:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4858:172:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "4879:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4884:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4872:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4872:90:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4872:90:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4982:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4985:4:28", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4975:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4975:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4975:15:28" - }, - { - "expression": { - "arguments": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "5010:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5015:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5003:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5003:17:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5003:17:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "4814:18:28" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4837:6:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4845:2:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4834:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4834:14:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "4811:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4811:38:28" - }, - "nodeType": "YulIf", - "src": "4808:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5039:63:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5090:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5095:6:28" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string", - "nodeType": "YulIdentifier", - "src": "5052:37:28" - }, - "nodeType": "YulFunctionCall", - "src": "5052:50:28" - }, - "variables": [ - { - "name": "pos_1", - "nodeType": "YulTypedName", - "src": "5043:5:28", - "type": "" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5152:97:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "5173:5:28" - }, - { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "5184:9:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5199:3:28", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "5195:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5195:8:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5180:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5180:24:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5166:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5166:39:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5166:39:28" - }, - { - "nodeType": "YulAssignment", - "src": "5218:21:28", - "value": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "5229:5:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5236:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5225:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5225:14:28" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "5218:3:28" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5145:104:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5150:1:28", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5265:313:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5279:53:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5326:5:28" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nodeType": "YulIdentifier", - "src": "5294:31:28" - }, - "nodeType": "YulFunctionCall", - "src": "5294:38:28" - }, - "variables": [ - { - "name": "dataPos", - "nodeType": "YulTypedName", - "src": "5283:7:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5345:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5354:1:28", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "5349:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5422:113:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "5451:5:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5458:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5447:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5447:13:28" - }, - { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "5468:7:28" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "5462:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5462:14:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5440:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5440:37:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5440:37:28" - }, - { - "nodeType": "YulAssignment", - "src": "5494:27:28", - "value": { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "5509:7:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5518:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5505:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5505:16:28" - }, - "variableNames": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "5494:7:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5379:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5382:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5376:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5376:13:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "5390:19:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5392:15:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5401:1:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5404:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5397:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5397:10:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5392:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "5372:3:28", - "statements": [] - }, - "src": "5368:167:28" - }, - { - "nodeType": "YulAssignment", - "src": "5548:20:28", - "value": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "5559:5:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5566:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5555:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5555:13:28" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "5548:3:28" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "5258:320:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5263:1:28", - "type": "", - "value": "1" - } - } - ], - "expression": { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "5118:18:28" - }, - "nodeType": "YulSwitch", - "src": "5111:467:28" - } - ] - }, - "name": "abi_encode_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4511:5:28", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "4518:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "4526:3:28", - "type": "" - } - ], - "src": "4474:1110:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5684:92:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5694:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5706:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5717:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5702:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5702:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5694:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5736:9:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5761:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5754:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5754:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5747:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5747:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5729:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5729:41:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5729:41:28" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5653:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5664:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5675:4:28", - "type": "" - } - ], - "src": "5589:187:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5882:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5892:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5904:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5915:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5900:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5900:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5892:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5934:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5945:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5927:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5927:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5927:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5851:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5862:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5873:4:28", - "type": "" - } - ], - "src": "5781:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6086:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6096:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6108:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6119:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6104:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6104:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6096:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6138:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6153:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6161:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "6149:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6149:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6131:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6131:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6131:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStateManager_$4798__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6055:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6066:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6077:4:28", - "type": "" - } - ], - "src": "5963:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6483:440:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6500:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6511:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6493:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6493:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6493:22:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6524:62:28", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6558:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6570:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6581:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6566:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6566:19:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "6538:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "6538:48:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "6528:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6606:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6617:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6602:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6602:18:28" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "6626:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6634:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6622:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6622:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6595:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6595:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6595:50:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6654:49:28", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6688:6:28" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "6696:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "6668:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "6668:35:28" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "6658:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6723:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6734:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6719:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6719:18:28" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "6743:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6751:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6739:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6739:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6712:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6712:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6712:50:28" - }, - { - "nodeType": "YulAssignment", - "src": "6771:43:28", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6799:6:28" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "6807:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "6779:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "6779:35:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6771:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6834:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6845:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6830:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6830:18:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "6864:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6857:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6857:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6850:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6850:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6823:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6823:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6823:50:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6893:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6904:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6889:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6889:19:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "6910:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6882:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6882:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6882:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6420:9:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "6431:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "6439:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6447:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6455:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6463:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6474:4:28", - "type": "" - } - ], - "src": "6216:707:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7102:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7119:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7130:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7112:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7112:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7112:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7153:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7164:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7149:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7149:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7169:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7142:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7142:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7142:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7192:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7203:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7188:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7188:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7208:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7181:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7181:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7181:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7263:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7274:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7259:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7259:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7279:17:28", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7252:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7252:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7252:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "7306:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7318:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7329:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7314:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7314:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7306:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7079:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7093:4:28", - "type": "" - } - ], - "src": "6928:411:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7518:238:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7535:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7546:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7528:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7528:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7528:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7569:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7580:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7565:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7565:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7585:2:28", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7558:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7558:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7558:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7608:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7619:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7604:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7604:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7624:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7597:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7597:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7597:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7679:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7690:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7675:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7675:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7695:18:28", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7668:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7668:46:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7668:46:28" - }, - { - "nodeType": "YulAssignment", - "src": "7723:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7735:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7746:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7731:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7731:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7723:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7495:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7509:4:28", - "type": "" - } - ], - "src": "7344:412:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7935:176:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7952:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7963:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7945:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7945:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7945:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7986:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7997:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7982:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7982:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8002:2:28", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7975:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7975:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7975:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8025:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8036:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8021:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8021:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "8041:28:28", - "type": "", - "value": "ACL: sender not authorized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8014:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8014:56:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8014:56:28" - }, - { - "nodeType": "YulAssignment", - "src": "8079:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8091:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8102:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8087:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8087:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8079:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7912:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7926:4:28", - "type": "" - } - ], - "src": "7761:350:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8290:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8307:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8318:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8300:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8300:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8300:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8341:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8352:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8337:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8337:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8357:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8330:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8330:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8330:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8380:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8391:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8376:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8376:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "8396:34:28", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8369:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8369:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8369:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8451:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8462:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8447:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8447:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "8467:17:28", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8440:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8440:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8440:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "8494:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8506:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8517:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8502:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8502:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8494:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8267:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8281:4:28", - "type": "" - } - ], - "src": "8116:411:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8633:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8643:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8655:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8666:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8651:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8651:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8643:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8685:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8696:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8678:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8678:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8678:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8602:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8613:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8624:4:28", - "type": "" - } - ], - "src": "8532:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9125:738:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9135:13:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9145:3:28", - "type": "", - "value": "288" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "9139:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9164:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9175:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9157:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9157:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9157:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9202:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9213:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9198:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9198:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9218:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9191:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9191:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9191:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9245:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9256:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9241:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9241:18:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "9261:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9234:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9234:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9234:30:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9273:78:28", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "9316:6:28" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "9324:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9336:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "9347:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9332:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9332:18:28" - } - ], - "functionName": { - "name": "abi_encode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "9287:28:28" - }, - "nodeType": "YulFunctionCall", - "src": "9287:64:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "9277:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9371:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9382:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9367:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9367:18:28" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "9391:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9399:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9387:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9387:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9360:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9360:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9360:50:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9419:66:28", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "9462:6:28" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "9470:6:28" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "9478:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "9433:28:28" - }, - "nodeType": "YulFunctionCall", - "src": "9433:52:28" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "9423:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9505:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9516:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9501:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9501:19:28" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "9526:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9534:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9522:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9522:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9494:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9494:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9494:51:28" - }, - { - "nodeType": "YulAssignment", - "src": "9554:60:28", - "value": { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "9591:6:28" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "9599:6:28" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "9607:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "9562:28:28" - }, - "nodeType": "YulFunctionCall", - "src": "9562:52:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9554:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9634:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9645:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9630:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9630:19:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "9665:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9658:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9658:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9651:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9651:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9623:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9623:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9623:51:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9694:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9705:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9690:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9690:19:28" - }, - { - "arguments": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "9715:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9723:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9711:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9711:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9683:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9683:84:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9683:84:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9787:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9798:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9783:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9783:19:28" - }, - { - "name": "value10", - "nodeType": "YulIdentifier", - "src": "9804:7:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9776:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9776:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9776:36:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9832:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9843:3:28", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9828:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9828:19:28" - }, - { - "name": "value11", - "nodeType": "YulIdentifier", - "src": "9849:7:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9821:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9821:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9821:36:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_calldata_ptr_t_string_calldata_ptr_t_string_calldata_ptr_t_bool_t_address_t_uint256_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9004:9:28", - "type": "" - }, - { - "name": "value11", - "nodeType": "YulTypedName", - "src": "9015:7:28", - "type": "" - }, - { - "name": "value10", - "nodeType": "YulTypedName", - "src": "9024:7:28", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "9033:6:28", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "9041:6:28", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "9049:6:28", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "9057:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "9065:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "9073:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "9081:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9089:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9097:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9105:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9116:4:28", - "type": "" - } - ], - "src": "8714:1149:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10269:745:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10279:13:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10289:3:28", - "type": "", - "value": "320" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "10283:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10308:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10319:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10301:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10301:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10301:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10346:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10357:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10342:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10342:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10362:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10335:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10335:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10335:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10389:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10400:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10385:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10385:18:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10405:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10378:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10378:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10378:30:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10417:61:28", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "10451:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10463:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10474:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10459:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10459:18:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "10431:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "10431:47:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "10421:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10498:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10509:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10494:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10494:18:28" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "10518:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10526:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10514:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10514:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10487:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10487:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10487:50:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10546:49:28", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "10580:6:28" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "10588:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "10560:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "10560:35:28" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "10550:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10615:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10626:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10611:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10611:19:28" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "10636:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10644:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10632:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10632:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10604:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10604:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10604:51:28" - }, - { - "nodeType": "YulAssignment", - "src": "10664:43:28", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "10692:6:28" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "10700:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "10672:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "10672:35:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10664:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10727:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10738:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10723:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10723:19:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "10758:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10751:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10751:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10744:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10744:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10716:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10716:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10716:51:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10787:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10798:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10783:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10783:19:28" - }, - { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "10808:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10816:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10804:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10804:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10776:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10776:84:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10776:84:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10880:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10891:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10876:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10876:19:28" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "10897:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10869:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10869:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10869:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10924:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10935:3:28", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10920:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10920:19:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "10955:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10948:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10948:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10941:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10941:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10913:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10913:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10913:51:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10984:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10995:3:28", - "type": "", - "value": "288" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10980:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10980:19:28" - }, - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "11001:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10973:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10973:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10973:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10166:9:28", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "10177:6:28", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "10185:6:28", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "10193:6:28", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "10201:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "10209:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "10217:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "10225:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "10233:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "10241:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10249:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10260:4:28", - "type": "" - } - ], - "src": "9868:1146:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11440:814:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "11450:13:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11460:3:28", - "type": "", - "value": "352" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "11454:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11479:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11490:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11472:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11472:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11472:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11517:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11528:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11513:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11513:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11533:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11506:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11506:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11506:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11560:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11571:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11556:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11556:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "11576:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11549:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11549:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11549:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11603:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11614:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11599:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11599:18:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11619:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11592:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11592:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11592:30:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11631:69:28", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "11673:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11685:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11696:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11681:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11681:18:28" - } - ], - "functionName": { - "name": "abi_encode_t_string_storage", - "nodeType": "YulIdentifier", - "src": "11645:27:28" - }, - "nodeType": "YulFunctionCall", - "src": "11645:55:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "11635:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11720:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11731:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11716:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11716:19:28" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "11741:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11749:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "11737:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11737:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11709:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11709:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11709:51:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11769:57:28", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "11811:6:28" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "11819:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string_storage", - "nodeType": "YulIdentifier", - "src": "11783:27:28" - }, - "nodeType": "YulFunctionCall", - "src": "11783:43:28" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "11773:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11846:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11857:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11842:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11842:19:28" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "11867:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11875:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "11863:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11863:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11835:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11835:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11835:51:28" - }, - { - "nodeType": "YulAssignment", - "src": "11895:51:28", - "value": { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "11931:6:28" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "11939:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string_storage", - "nodeType": "YulIdentifier", - "src": "11903:27:28" - }, - "nodeType": "YulFunctionCall", - "src": "11903:43:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11895:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11966:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11977:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11962:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11962:19:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "11997:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11990:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11990:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11983:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11983:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11955:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11955:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11955:51:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12026:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12037:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12022:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12022:19:28" - }, - { - "arguments": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "12047:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12055:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "12043:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12043:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12015:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12015:84:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12015:84:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12119:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12130:3:28", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12115:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12115:19:28" - }, - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "12136:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12108:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12108:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12108:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12163:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12174:3:28", - "type": "", - "value": "288" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12159:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12159:19:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "12194:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "12187:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12187:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "12180:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12180:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12152:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12152:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12152:51:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12223:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12234:3:28", - "type": "", - "value": "320" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12219:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12219:19:28" - }, - { - "name": "value10", - "nodeType": "YulIdentifier", - "src": "12240:7:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12212:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12212:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12212:36:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_string_storage_t_string_storage_t_string_storage_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11328:9:28", - "type": "" - }, - { - "name": "value10", - "nodeType": "YulTypedName", - "src": "11339:7:28", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "11348:6:28", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "11356:6:28", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "11364:6:28", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "11372:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "11380:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "11388:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "11396:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "11404:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11412:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11420:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11431:4:28", - "type": "" - } - ], - "src": "11019:1235:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12317:71:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12334:4:28" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "12340:3:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12327:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12327:17:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12327:17:28" - }, - { - "nodeType": "YulAssignment", - "src": "12353:29:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12371:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12377:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "12361:9:28" - }, - "nodeType": "YulFunctionCall", - "src": "12361:21:28" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12353:4:28" - } - ] - } - ] - }, - "name": "array_dataslot_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "12300:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "12308:4:28", - "type": "" - } - ], - "src": "12259:129:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12472:73:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12489:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12494:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12482:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12482:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12482:19:28" - }, - { - "nodeType": "YulAssignment", - "src": "12510:29:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12529:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12534:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12525:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12525:14:28" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "12510:11:28" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "12440:3:28", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "12445:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "12456:11:28", - "type": "" - } - ], - "src": "12393:152:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12598:238:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "12633:172:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "12654:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12659:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12647:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12647:90:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12647:90:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12757:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12760:4:28", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12750:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12750:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12750:15:28" - }, - { - "expression": { - "arguments": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "12785:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12790:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12778:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12778:17:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12778:17:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "12614:1:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "12621:1:28" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "12617:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12617:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "12611:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "12611:13:28" - }, - "nodeType": "YulIf", - "src": "12608:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "12814:16:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "12825:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "12828:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12821:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12821:9:28" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "12814:3:28" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "12581:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "12584:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "12590:3:28", - "type": "" - } - ], - "src": "12550:286:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12896:382:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12906:22:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12920:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12926:1:28", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "12916:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12916:12:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12906:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12937:38:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12967:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12973:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "12963:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12963:12:28" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "12941:18:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13014:31:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13016:27:28", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13030:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13038:4:28", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13026:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13026:17:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13016:6:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "12994:18:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "12987:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12987:26:28" - }, - "nodeType": "YulIf", - "src": "12984:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13104:168:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13125:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13128:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13118:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13118:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13118:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13226:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13229:4:28", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13219:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13219:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13219:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13254:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13257:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "13247:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13247:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13247:15:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "13060:18:28" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13083:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13091:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "13080:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "13080:14:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "13057:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "13057:38:28" - }, - "nodeType": "YulIf", - "src": "13054:2:28" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "12876:4:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "12885:6:28", - "type": "" - } - ], - "src": "12841:437:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_t_string_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(arrayPos, arrayPos) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(arrayPos, arrayPos) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := calldataload(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_string_calldata_ptrt_bool(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 128) { revert(value4, value4) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(value4, value4) }\n let value0_1, value1_1 := abi_decode_t_string_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(value4, value4) }\n let value2_1, value3_1 := abi_decode_t_string_calldata(add(headStart, offset_1), dataEnd)\n value2 := value2_1\n value3 := value3_1\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(value4, value4) }\n let value4_1, value5_1 := abi_decode_t_string_calldata(add(headStart, offset_2), dataEnd)\n value4 := value4_1\n value5 := value5_1\n let value := calldataload(add(headStart, 96))\n if iszero(eq(value, iszero(iszero(value)))) { revert(value6, value6) }\n value6 := value\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_t_string_calldata(start, length, pos) -> end\n {\n mstore(pos, length)\n calldatacopy(add(pos, 0x20), start, length)\n mstore(add(add(pos, length), 0x20), end)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_t_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := end\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(pos, length), 0x20), end)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_t_string_storage(value, pos) -> ret\n {\n let slotValue := sload(value)\n let length := ret\n length := div(slotValue, 2)\n let _1 := 1\n let outOfPlaceEncoding := and(slotValue, _1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n let _2 := 32\n if eq(outOfPlaceEncoding, lt(length, _2))\n {\n mstore(ret, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(ret, 0x24)\n }\n let pos_1 := array_storeLengthForEncoding_t_string(pos, length)\n switch outOfPlaceEncoding\n case 0 {\n mstore(pos_1, and(slotValue, not(255)))\n ret := add(pos_1, _2)\n }\n case 1 {\n let dataPos := array_dataslot_t_string_storage(value)\n let i := 0\n for { } lt(i, length) { i := add(i, _2) }\n {\n mstore(add(pos_1, i), sload(dataPos))\n dataPos := add(dataPos, _1)\n }\n ret := add(pos_1, i)\n }\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_contract$_IStateManager_$4798__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 160)\n let tail_1 := abi_encode_t_string(value0, add(headStart, 160))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_t_string(value2, tail_2)\n mstore(add(headStart, 96), iszero(iszero(value3)))\n mstore(add(headStart, 128), value4)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"ACL: sender not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_calldata_ptr_t_string_calldata_ptr_t_string_calldata_ptr_t_bool_t_address_t_uint256_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value11, value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 288\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_t_string_calldata(value2, value3, add(headStart, _1))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string_calldata(value4, value5, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_t_string_calldata(value6, value7, tail_2)\n mstore(add(headStart, 160), iszero(iszero(value8)))\n mstore(add(headStart, 192), and(value9, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 224), value10)\n mstore(add(headStart, 256), value11)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed(headStart, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 320\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_t_string(value2, add(headStart, _1))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string(value3, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_t_string(value4, tail_2)\n mstore(add(headStart, 160), iszero(iszero(value5)))\n mstore(add(headStart, 192), and(value6, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 224), value7)\n mstore(add(headStart, 256), iszero(iszero(value8)))\n mstore(add(headStart, 288), value9)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_string_storage_t_string_storage_t_string_storage_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed(headStart, value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 352\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), _1)\n let tail_1 := abi_encode_t_string_storage(value3, add(headStart, _1))\n mstore(add(headStart, 128), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string_storage(value4, tail_1)\n mstore(add(headStart, 160), sub(tail_2, headStart))\n tail := abi_encode_t_string_storage(value5, tail_2)\n mstore(add(headStart, 192), iszero(iszero(value6)))\n mstore(add(headStart, 224), and(value7, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 256), value8)\n mstore(add(headStart, 288), iszero(iszero(value9)))\n mstore(add(headStart, 320), value10)\n }\n function array_dataslot_t_string_storage(ptr) -> data\n {\n mstore(data, ptr)\n data := keccak256(data, 0x20)\n }\n function array_storeLengthForEncoding_t_string(pos, length) -> updated_pos\n {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(sum, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(sum, 0x24)\n }\n sum := add(x, y)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1624 - } - ] - } - }, - "object": "6080604052600436106100f35760003560e01c8063628aff1d1161008a578063995e433911610059578063995e433914610292578063a217fddf146102b2578063bf22c457146102c7578063d547741f146102f8576100f3565b8063628aff1d146102355780637e0c00ed1461024857806391d148541461025d5780639212051c1461027d576100f3565b80632e716fb1116100c65780632e716fb1146101b35780632f2ff15d146101d557806336568abe146101f557806356350bdf14610215576100f3565b806301ffc9a7146100f8578063180aedf31461012e57806319ab453c14610164578063248a9ca314610186575b600080fd5b34801561010457600080fd5b506101186101133660046110a6565b610318565b60405161012591906112cb565b60405180910390f35b34801561013a57600080fd5b5061014e61014936600461104b565b610376565b6040516101259a99989796959493929190611510565b34801561017057600080fd5b5061018461017f36600461102a565b61056f565b005b34801561019257600080fd5b506101a66101a136600461104b565b6105a9565b60405161012591906112d6565b3480156101bf57600080fd5b506101c86105be565b60405161012591906112df565b3480156101e157600080fd5b506101846101f036600461107b565b6105cd565b34801561020157600080fd5b5061018461021036600461107b565b610614565b34801561022157600080fd5b50610184610230366004611194565b610656565b6101846102433660046110e6565b610826565b34801561025457600080fd5b506101a6610af4565b34801561026957600080fd5b5061011861027836600461107b565b610afa565b34801561028957600080fd5b506101a6610b23565b34801561029e57600080fd5b506101a66102ad36600461104b565b610b29565b3480156102be57600080fd5b506101a6610b3e565b3480156102d357600080fd5b506102e76102e236600461104b565b610b43565b6040516101259594939291906112f3565b34801561030457600080fd5b5061018461031336600461107b565b610db5565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061036e575061036e82610ddd565b90505b919050565b6002602081905260009182526040909120805460018201549282018054919392916103a09061164e565b80601f01602080910402602001604051908101604052809291908181526020018280546103cc9061164e565b80156104195780601f106103ee57610100808354040283529160200191610419565b820191906000526020600020905b8154815290600101906020018083116103fc57829003601f168201915b50505050509080600301805461042e9061164e565b80601f016020809104026020016040519081016040528092919081815260200182805461045a9061164e565b80156104a75780601f1061047c576101008083540402835291602001916104a7565b820191906000526020600020905b81548152906001019060200180831161048a57829003601f168201915b5050505050908060040180546104bc9061164e565b80601f01602080910402602001604051908101604052809291908181526020018280546104e89061164e565b80156105355780601f1061050a57610100808354040283529160200191610535565b820191906000526020600020905b81548152906001019060200180831161051857829003601f168201915b50505050600583015460068401546007850154600890950154939460ff808416956101009094046001600160a01b0316945091929116908a565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60009081526020819052604090206001015490565b6003546001600160a01b031681565b6105e16105d9836105a9565b610278610e27565b6106065760405162461bcd60e51b81526004016105fd90611341565b60405180910390fd5b6106108282610e2b565b5050565b61061c610e27565b6001600160a01b0316816001600160a01b03161461064c5760405162461bcd60e51b81526004016105fd90611432565b6106108282610eb0565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__637f890b116040518163ffffffff1660e01b815260040160206040518083038186803b15801561069a57600080fd5b505af41580156106ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d29190611063565b6106dc8133610afa565b6106f85760405162461bcd60e51b81526004016105fd906113fb565b60008381526002602090815260408083206003548251630eaf323560e31b815292519194936001600160a01b039091169263757991a89260048083019392829003018186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107829190611063565b600583015490915060ff166107a15760078201805460ff191660011790555b6008820184905581546005830154600684015460078501546040517f9028bea5bfa7ed26c48df402d89085a995447dc8c1fb167cb92a3c7411b54480946108179490938a93889360028b019360038c019360048d019360ff808416946101009094046001600160a01b0316939116904290611593565b60405180910390a15050505050565b600180546108339161162a565b60015560035460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561087b57600080fd5b505afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190611063565b9050600060405180610140016040528060015481526020018381526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a9081908401838280828437600092019190915250505090825250604080516020601f8901819004810282018101909252878152918101919088908890819084018382808284376000920182905250938552505050851515602080840191909152336040808501919091523460608501526080840183905260a090930182905260018054835260028083529284902085518155858301519181019190915592840151805194955085946109e4938501929190910190610f33565b5060608201518051610a00916003840191602090910190610f33565b5060808201518051610a1c916004840191602090910190610f33565b5060a082015160058201805460c085015160ff19918216931515939093177fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0390941684021790915560e0840151600684015590830151600783018054909216901515179055610120909101516008909101556001546040517fd4ae17fdeb78e69409330361e8f8475f8027928c6f28eae2195e5ae56570aba091610ae19185908d908d908d908d908d908d908d9033903490429061148f565b60405180910390a1505050505050505050565b60015490565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60015481565b60009081526002602052604090206008015490565b600081565b6060806060600080600060026000888152602001908152602001600020604051806101400160405290816000820154815260200160018201548152602001600282018054610b909061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbc9061164e565b8015610c095780601f10610bde57610100808354040283529160200191610c09565b820191906000526020600020905b815481529060010190602001808311610bec57829003601f168201915b50505050508152602001600382018054610c229061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4e9061164e565b8015610c9b5780601f10610c7057610100808354040283529160200191610c9b565b820191906000526020600020905b815481529060010190602001808311610c7e57829003601f168201915b50505050508152602001600482018054610cb49061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce09061164e565b8015610d2d5780601f10610d0257610100808354040283529160200191610d2d565b820191906000526020600020905b815481529060010190602001808311610d1057829003601f168201915b5050509183525050600582015460ff808216151560208401526101009091046001600160a01b031660408084019190915260068401546060808501919091526007850154909216151560808085019190915260089094015460a09384015284015190840151928401519184015161012090940151909b929a5090985091965090945092505050565b610dc16105d9836105a9565b61064c5760405162461bcd60e51b81526004016105fd9061139e565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b610e358282610afa565b610610576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610e6c610e27565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610eba8282610afa565b15610610576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055610eef610e27565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b828054610f3f9061164e565b90600052602060002090601f016020900481019282610f615760008555610fa7565b82601f10610f7a57805160ff1916838001178555610fa7565b82800160010185558215610fa7579182015b82811115610fa7578251825591602001919060010190610f8c565b50610fb3929150610fb7565b5090565b5b80821115610fb35760008155600101610fb8565b80356001600160a01b038116811461037157600080fd5b60008083601f840112610ff4578182fd5b50813567ffffffffffffffff81111561100b578182fd5b60208301915083602082850101111561102357600080fd5b9250929050565b60006020828403121561103b578081fd5b61104482610fcc565b9392505050565b60006020828403121561105c578081fd5b5035919050565b600060208284031215611074578081fd5b5051919050565b6000806040838503121561108d578081fd5b8235915061109d60208401610fcc565b90509250929050565b6000602082840312156110b7578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611044578182fd5b60008060008060008060006080888a031215611100578283fd5b873567ffffffffffffffff80821115611117578485fd5b6111238b838c01610fe3565b909950975060208a013591508082111561113b578485fd5b6111478b838c01610fe3565b909750955060408a013591508082111561115f578485fd5b5061116c8a828b01610fe3565b90945092505060608801358015158114611184578182fd5b8091505092959891949750929550565b600080604083850312156111a6578182fd5b50508035926020909101359150565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b81811015611204576020818501810151868301820152016111e8565b818111156112155782602083870101525b50601f01601f19169290920160200192915050565b80546000906002810460018083168061124457607f831692505b602080841082141561126457634e487b7160e01b86526022600452602486fd5b61126e84896112d6565b8280156112825760018114611293576112be565b60ff198716825282820197506112be565b61129c8961161e565b60005b878110156112b85781548482015290860190840161129f565b83019850505b5050505050505092915050565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b600060a0825261130660a08301886111df565b828103602084015261131881886111df565b9050828103604084015261132c81876111df565b94151560608401525050608001529392505050565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60006101208e83528d60208401528060408401526114b08184018d8f6111b5565b905082810360608401526114c5818b8d6111b5565b905082810360808401526114da81898b6111b5565b96151560a084015250506001600160a01b039390931660c084015260e08301919091526101009091015298975050505050505050565b60006101408c83528b60208401528060408401526115308184018c6111df565b90508281036060840152611544818b6111df565b90508281036080840152611558818a6111df565b97151560a084015250506001600160a01b039490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60006101608d83528c60208401528b60408401528060608401526115b98184018c61122a565b905082810360808401526115cd818b61122a565b905082810360a08401526115e1818a61122a565b97151560c084015250506001600160a01b039490941660e08501526101008401929092521515610120830152610140909101529695505050505050565b60009081526020902090565b6000821982111561164957634e487b7160e01b81526011600452602481fd5b500190565b60028104600182168061166257607f821691505b6020821081141561168357634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220f10551ba28355592a0a352e53daede7aae6da9a2fc175938b889f1a0049151aa64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF3 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x628AFF1D GT PUSH2 0x8A JUMPI DUP1 PUSH4 0x995E4339 GT PUSH2 0x59 JUMPI DUP1 PUSH4 0x995E4339 EQ PUSH2 0x292 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2B2 JUMPI DUP1 PUSH4 0xBF22C457 EQ PUSH2 0x2C7 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x2F8 JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x628AFF1D EQ PUSH2 0x235 JUMPI DUP1 PUSH4 0x7E0C00ED EQ PUSH2 0x248 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x25D JUMPI DUP1 PUSH4 0x9212051C EQ PUSH2 0x27D JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x2E716FB1 GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x56350BDF EQ PUSH2 0x215 JUMPI PUSH2 0xF3 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xF8 JUMPI DUP1 PUSH4 0x180AEDF3 EQ PUSH2 0x12E JUMPI DUP1 PUSH4 0x19AB453C EQ PUSH2 0x164 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x186 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x104 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x118 PUSH2 0x113 CALLDATASIZE PUSH1 0x4 PUSH2 0x10A6 JUMP JUMPDEST PUSH2 0x318 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0x12CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14E PUSH2 0x149 CALLDATASIZE PUSH1 0x4 PUSH2 0x104B JUMP JUMPDEST PUSH2 0x376 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1510 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x184 PUSH2 0x17F CALLDATASIZE PUSH1 0x4 PUSH2 0x102A JUMP JUMPDEST PUSH2 0x56F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x104B JUMP JUMPDEST PUSH2 0x5A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0x12D6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x5BE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP2 SWAP1 PUSH2 0x12DF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x184 PUSH2 0x1F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x5CD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x184 PUSH2 0x210 CALLDATASIZE PUSH1 0x4 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x614 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x184 PUSH2 0x230 CALLDATASIZE PUSH1 0x4 PUSH2 0x1194 JUMP JUMPDEST PUSH2 0x656 JUMP JUMPDEST PUSH2 0x184 PUSH2 0x243 CALLDATASIZE PUSH1 0x4 PUSH2 0x10E6 JUMP JUMPDEST PUSH2 0x826 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x254 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0xAF4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x118 PUSH2 0x278 CALLDATASIZE PUSH1 0x4 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xAFA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x289 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0xB23 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x2AD CALLDATASIZE PUSH1 0x4 PUSH2 0x104B JUMP JUMPDEST PUSH2 0xB29 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0xB3E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E7 PUSH2 0x2E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x104B JUMP JUMPDEST PUSH2 0xB43 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x125 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x12F3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x304 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x184 PUSH2 0x313 CALLDATASIZE PUSH1 0x4 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xDB5 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x36E JUMPI POP PUSH2 0x36E DUP3 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD SWAP3 DUP3 ADD DUP1 SLOAD SWAP2 SWAP4 SWAP3 SWAP2 PUSH2 0x3A0 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3CC SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x419 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x419 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x42E SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x45A SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4A7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x47C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4A7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x48A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x4BC SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4E8 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x535 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x50A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x535 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x518 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x8 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0xFF DUP1 DUP5 AND SWAP6 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP5 POP SWAP2 SWAP3 SWAP2 AND SWAP1 DUP11 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x5E1 PUSH2 0x5D9 DUP4 PUSH2 0x5A9 JUMP JUMPDEST PUSH2 0x278 PUSH2 0xE27 JUMP JUMPDEST PUSH2 0x606 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5FD SWAP1 PUSH2 0x1341 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x610 DUP3 DUP3 PUSH2 0xE2B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x61C PUSH2 0xE27 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x64C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5FD SWAP1 PUSH2 0x1432 JUMP JUMPDEST PUSH2 0x610 DUP3 DUP3 PUSH2 0xEB0 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x7F890B11 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x69A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x6AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6D2 SWAP2 SWAP1 PUSH2 0x1063 JUMP JUMPDEST PUSH2 0x6DC DUP2 CALLER PUSH2 0xAFA JUMP JUMPDEST PUSH2 0x6F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5FD SWAP1 PUSH2 0x13FB JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x3 SLOAD DUP3 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP3 MLOAD SWAP2 SWAP5 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 PUSH4 0x757991A8 SWAP3 PUSH1 0x4 DUP1 DUP4 ADD SWAP4 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x75E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x782 SWAP2 SWAP1 PUSH2 0x1063 JUMP JUMPDEST PUSH1 0x5 DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH2 0x7A1 JUMPI PUSH1 0x7 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x8 DUP3 ADD DUP5 SWAP1 SSTORE DUP2 SLOAD PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x9028BEA5BFA7ED26C48DF402D89085A995447DC8C1FB167CB92A3C7411B54480 SWAP5 PUSH2 0x817 SWAP5 SWAP1 SWAP4 DUP11 SWAP4 DUP9 SWAP4 PUSH1 0x2 DUP12 ADD SWAP4 PUSH1 0x3 DUP13 ADD SWAP4 PUSH1 0x4 DUP14 ADD SWAP4 PUSH1 0xFF DUP1 DUP5 AND SWAP5 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 SWAP2 AND SWAP1 TIMESTAMP SWAP1 PUSH2 0x1593 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x833 SWAP2 PUSH2 0x162A JUMP JUMPDEST PUSH1 0x1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x87B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x88F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8B3 SWAP2 SWAP1 PUSH2 0x1063 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP11 DUP11 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP SWAP1 DUP3 MSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP12 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP10 DUP2 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP SWAP1 DUP3 MSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP10 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP8 DUP2 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD DUP3 SWAP1 MSTORE POP SWAP4 DUP6 MSTORE POP POP POP DUP6 ISZERO ISZERO PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE CALLER PUSH1 0x40 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE CALLVALUE PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x80 DUP5 ADD DUP4 SWAP1 MSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD DUP3 SWAP1 MSTORE PUSH1 0x1 DUP1 SLOAD DUP4 MSTORE PUSH1 0x2 DUP1 DUP4 MSTORE SWAP3 DUP5 SWAP1 KECCAK256 DUP6 MLOAD DUP2 SSTORE DUP6 DUP4 ADD MLOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP3 DUP5 ADD MLOAD DUP1 MLOAD SWAP5 SWAP6 POP DUP6 SWAP5 PUSH2 0x9E4 SWAP4 DUP6 ADD SWAP3 SWAP2 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xF33 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0xA00 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xF33 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0xA1C SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xF33 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0xFF NOT SWAP2 DUP3 AND SWAP4 ISZERO ISZERO SWAP4 SWAP1 SWAP4 OR PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FF AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND DUP5 MUL OR SWAP1 SWAP2 SSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0x6 DUP5 ADD SSTORE SWAP1 DUP4 ADD MLOAD PUSH1 0x7 DUP4 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 ISZERO ISZERO OR SWAP1 SSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MLOAD PUSH1 0x8 SWAP1 SWAP2 ADD SSTORE PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH32 0xD4AE17FDEB78E69409330361E8F8475F8027928C6F28EAE2195E5AE56570ABA0 SWAP2 PUSH2 0xAE1 SWAP2 DUP6 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 CALLER SWAP1 CALLVALUE SWAP1 TIMESTAMP SWAP1 PUSH2 0x148F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x8 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x60 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0xB90 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xBBC SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xC09 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBDE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xC09 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBEC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0xC22 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xC4E SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xC9B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xC70 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xC9B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xC7E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD PUSH2 0xCB4 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xCE0 SWAP1 PUSH2 0x164E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xD2D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD02 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xD2D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD10 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x60 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x7 DUP6 ADD SLOAD SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x80 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x8 SWAP1 SWAP5 ADD SLOAD PUSH1 0xA0 SWAP4 DUP5 ADD MSTORE DUP5 ADD MLOAD SWAP1 DUP5 ADD MLOAD SWAP3 DUP5 ADD MLOAD SWAP2 DUP5 ADD MLOAD PUSH2 0x120 SWAP1 SWAP5 ADD MLOAD SWAP1 SWAP12 SWAP3 SWAP11 POP SWAP1 SWAP9 POP SWAP2 SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xDC1 PUSH2 0x5D9 DUP4 PUSH2 0x5A9 JUMP JUMPDEST PUSH2 0x64C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5FD SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0xE35 DUP3 DUP3 PUSH2 0xAFA JUMP JUMPDEST PUSH2 0x610 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xE6C PUSH2 0xE27 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xEBA DUP3 DUP3 PUSH2 0xAFA JUMP JUMPDEST ISZERO PUSH2 0x610 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0xEEF PUSH2 0xE27 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xF3F SWAP1 PUSH2 0x164E JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xF61 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xFA7 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xF7A JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xFA7 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xFA7 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xFA7 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xF8C JUMP JUMPDEST POP PUSH2 0xFB3 SWAP3 SWAP2 POP PUSH2 0xFB7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xFB3 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xFB8 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x371 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xFF4 JUMPI DUP2 DUP3 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x100B JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x1023 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x103B JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x1044 DUP3 PUSH2 0xFCC JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x105C JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1074 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x108D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x109D PUSH1 0x20 DUP5 ADD PUSH2 0xFCC JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10B7 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x1044 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1100 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1117 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1123 DUP12 DUP4 DUP13 ADD PUSH2 0xFE3 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x113B JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1147 DUP12 DUP4 DUP13 ADD PUSH2 0xFE3 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x115F JUMPI DUP5 DUP6 REVERT JUMPDEST POP PUSH2 0x116C DUP11 DUP3 DUP12 ADD PUSH2 0xFE3 JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1184 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11A6 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 MSTORE DUP3 DUP3 PUSH1 0x20 DUP7 ADD CALLDATACOPY DUP1 PUSH1 0x20 DUP5 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP6 ADD AND DUP6 ADD ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE DUP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1204 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x11E8 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x1215 JUMPI DUP3 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP1 DUP4 AND DUP1 PUSH2 0x1244 JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST PUSH1 0x20 DUP1 DUP5 LT DUP3 EQ ISZERO PUSH2 0x1264 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP7 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 DUP7 REVERT JUMPDEST PUSH2 0x126E DUP5 DUP10 PUSH2 0x12D6 JUMP JUMPDEST DUP3 DUP1 ISZERO PUSH2 0x1282 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1293 JUMPI PUSH2 0x12BE JUMP JUMPDEST PUSH1 0xFF NOT DUP8 AND DUP3 MSTORE DUP3 DUP3 ADD SWAP8 POP PUSH2 0x12BE JUMP JUMPDEST PUSH2 0x129C DUP10 PUSH2 0x161E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x12B8 JUMPI DUP2 SLOAD DUP5 DUP3 ADD MSTORE SWAP1 DUP7 ADD SWAP1 DUP5 ADD PUSH2 0x129F JUMP JUMPDEST DUP4 ADD SWAP9 POP POP JUMPDEST POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 MSTORE PUSH2 0x1306 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x11DF JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1318 DUP2 DUP9 PUSH2 0x11DF JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x132C DUP2 DUP8 PUSH2 0x11DF JUMP JUMPDEST SWAP5 ISZERO ISZERO PUSH1 0x60 DUP5 ADD MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP15 DUP4 MSTORE DUP14 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x14B0 DUP2 DUP5 ADD DUP14 DUP16 PUSH2 0x11B5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x14C5 DUP2 DUP12 DUP14 PUSH2 0x11B5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x14DA DUP2 DUP10 DUP12 PUSH2 0x11B5 JUMP JUMPDEST SWAP7 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xE0 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x100 SWAP1 SWAP2 ADD MSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP13 DUP4 MSTORE DUP12 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x1530 DUP2 DUP5 ADD DUP13 PUSH2 0x11DF JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x1544 DUP2 DUP12 PUSH2 0x11DF JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x1558 DUP2 DUP11 PUSH2 0x11DF JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x160 DUP14 DUP4 MSTORE DUP13 PUSH1 0x20 DUP5 ADD MSTORE DUP12 PUSH1 0x40 DUP5 ADD MSTORE DUP1 PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x15B9 DUP2 DUP5 ADD DUP13 PUSH2 0x122A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x15CD DUP2 DUP12 PUSH2 0x122A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x15E1 DUP2 DUP11 PUSH2 0x122A JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xC0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND PUSH1 0xE0 DUP6 ADD MSTORE PUSH2 0x100 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x120 DUP4 ADD MSTORE PUSH2 0x140 SWAP1 SWAP2 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1649 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1662 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1683 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL SDIV MLOAD 0xBA 0x28 CALLDATALOAD SSTORE SWAP3 LOG0 LOG3 MSTORE 0xE5 RETURNDATASIZE 0xAE 0xDE PUSH27 0xAE6DA9A2FC175938B889F1A0049151AA64736F6C63430008000033 ", - "sourceMap": "192:2754:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;;;;;-1:-1:-1;3566:214:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;152:44:19;;;;;;;;;;-1:-1:-1;152:44:19;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;822:120:9:-;;;;;;;;;;-1:-1:-1;822:120:9;;;;;:::i;:::-;;:::i;:::-;;4185:121:0;;;;;;;;;;-1:-1:-1;4185:121:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;238:33:9:-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4556:228:0:-;;;;;;;;;;-1:-1:-1;4556:228:0;;;;;:::i;:::-;;:::i;5740:214::-;;;;;;;;;;-1:-1:-1;5740:214:0;;;;;:::i;:::-;;:::i;1722:640:9:-;;;;;;;;;;-1:-1:-1;1722:640:9;;;;;:::i;:::-;;:::i;948:768::-;;;;;;:::i;:::-;;:::i;2860:84::-;;;;;;;;;;;;;:::i;3867:137:0:-;;;;;;;;;;-1:-1:-1;3867:137:0;;;;;:::i;:::-;;:::i;124:22:19:-;;;;;;;;;;;;;:::i;2368:101:9:-;;;;;;;;;;-1:-1:-1;2368:101:9;;;;;:::i;:::-;;:::i;2363:49:0:-;;;;;;;;;;;;;:::i;2475:379:9:-;;;;;;;;;;-1:-1:-1;2475:379:9;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;5018:231:0:-;;;;;;;;;;-1:-1:-1;5018:231:0;;;;;:::i;:::-;;:::i;3566:214::-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;;3566:214;;;;:::o;152:44:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;152:44:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;152:44:19;;-1:-1:-1;152:44:19;;;;;;:::o;822:120:9:-;885:12;:50;;;;-1:-1:-1;;;;;885:50:9;;;;;;;;;;822:120::o;4185:121:0:-;4251:7;4277:12;;;;;;;;;;:22;;;;4185:121::o;238:33:9:-;;;-1:-1:-1;;;;;238:33:9;;:::o;4556:228:0:-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;;;;;;;;;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;5740:214::-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;1722:640:9:-;1829:9;:29;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;1876:23:9::1;1902:11:::0;;;:4:::1;:11;::::0;;;;;;;1939:12:::1;::::0;:23;;-1:-1:-1;;;1939:23:9;;;;1902:11;;1876:23;-1:-1:-1;;;;;1939:12:9;;::::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;1902:11;1939:23;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1978:10;::::0;::::1;::::0;1923:39;;-1:-1:-1;1978:10:9::1;;1973:62;;2004:13;::::0;::::1;:20:::0;;-1:-1:-1;;2004:20:9::1;2020:4;2004:20;::::0;;1973:62:::1;2045:10;::::0;::::1;:18:::0;;;2103:6;;2230:10:::1;::::0;::::1;::::0;2279::::1;::::0;::::1;::::0;2303:13:::1;::::0;::::1;::::0;2078:277:::1;::::0;::::1;::::0;::::1;::::0;2103:6;;2045:18;;2142:5;;2161:7:::1;::::0;::::1;::::0;2182:12:::1;::::0;::::1;::::0;2208:8:::1;::::0;::::1;::::0;2230:10:::1;::::0;;::::1;::::0;::::1;2254:11:::0;;::::1;-1:-1:-1::0;;;;;2254:11:9::1;::::0;2303:13;::::1;::::0;2330:15:::1;::::0;2078:277:::1;:::i;:::-;;;;;;;;389:1:7;;1722:640:9::0;;;:::o;948:768::-;1129:7;;;:11;;;:::i;:::-;1119:7;:21;1166:12;;:23;;;-1:-1:-1;;;1166:23:9;;;;1150:13;;-1:-1:-1;;;;;1166:12:9;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1150:39;;1199:22;1224:219;;;;;;;;1249:7;;1224:219;;;;1270:5;1224:219;;;;1289:3;;1224:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1224:219:9;;;-1:-1:-1;1224:219:9;;;;;;;;;;;;;;;;;;;;;;;;;;;1306:8;;;;;;1224:219;;1306:8;;;;1224:219;;;;;;;;;-1:-1:-1;;;1224:219:9;;;-1:-1:-1;1224:219:9;;;;;;;;;;;;;;;;;;;;;;;;;;;1328:4;;;;;;1224:219;;1328:4;;;;1224:219;;;;;;;;-1:-1:-1;1224:219:9;;;-1:-1:-1;;;1224:219:9;;;;;;;;;;;1366:10;1224:219;;;;;;;;1390:9;1224:219;;;;;;;;;;;;;;;;;;1458:7;;1453:13;;:4;:13;;;;;;;:19;;;;;;;;;;;;;;;;;;;;;1199:244;;-1:-1:-1;1199:244:9;;1453:19;;;;;;;;;;;:::i;:::-;-1:-1:-1;1453:19:9;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1453:19:9;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1453:19:9;;;;;;;;;;;;;-1:-1:-1;;1453:19:9;;;;;;;;;;;;;-1:-1:-1;;;;;1453:19:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1520:7:9;1496:213;;;;;;1541:5;;1560:3;;;;1577:8;;;;1599:4;;;;1617:6;;1637:10;;1661:9;;1684:15;;1496:213;:::i;:::-;;;;;;;;948:768;;;;;;;;;:::o;2860:84::-;2930:7;;2860:84;:::o;3867:137:0:-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;124:22:19:-;;;;:::o;2368:101:9:-;2421:7;2447:8;;;:4;:8;;;;;:15;;;;2368:101::o;2363:49:0:-;2408:4;2363:49;:::o;2475:379:9:-;2577:17;2608:22;2644:18;2676:11;2701:14;2741:22;2766:4;:8;2771:2;2766:8;;;;;;;;;;;2741:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2741:33:9;;;-1:-1:-1;;2741:33:9;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2741:33:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2791:7;;;2800:12;;;;2814:8;;;;2824:10;;;;2836;;;;;2791:7;;2800:12;;-1:-1:-1;2814:8:9;;-1:-1:-1;2824:10:9;;-1:-1:-1;2836:10:9;;-1:-1:-1;2475:379:9;-1:-1:-1;;;2475:379:9:o;5018:231:0:-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;586:96:3:-;665:10;586:96;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:198:28;84:20;;-1:-1:-1;;;;;133:54:28;;123:65;;113:2;;202:1;199;192:12;217:378;;;335:3;328:4;320:6;316:17;312:27;302:2;;360:8;350;343:26;302:2;-1:-1:-1;390:20:28;;433:18;422:30;;419:2;;;472:8;462;455:26;419:2;516:4;508:6;504:17;492:29;;568:3;561:4;552:6;544;540:19;536:30;533:39;530:2;;;585:1;582;575:12;530:2;292:303;;;;;:::o;600:198::-;;712:2;700:9;691:7;687:23;683:32;680:2;;;733:6;725;718:22;680:2;761:31;782:9;761:31;:::i;:::-;751:41;670:128;-1:-1:-1;;;670:128:28:o;803:190::-;;915:2;903:9;894:7;890:23;886:32;883:2;;;936:6;928;921:22;883:2;-1:-1:-1;964:23:28;;873:120;-1:-1:-1;873:120:28:o;998:194::-;;1121:2;1109:9;1100:7;1096:23;1092:32;1089:2;;;1142:6;1134;1127:22;1089:2;-1:-1:-1;1170:16:28;;1079:113;-1:-1:-1;1079:113:28:o;1197:266::-;;;1326:2;1314:9;1305:7;1301:23;1297:32;1294:2;;;1347:6;1339;1332:22;1294:2;1388:9;1375:23;1365:33;;1417:40;1453:2;1442:9;1438:18;1417:40;:::i;:::-;1407:50;;1284:179;;;;;:::o;1468:352::-;;1579:2;1567:9;1558:7;1554:23;1550:32;1547:2;;;1600:6;1592;1585:22;1547:2;1644:9;1631:23;1694:66;1687:5;1683:78;1676:5;1673:89;1663:2;;1781:6;1773;1766:22;1825:1228;;;;;;;;2045:3;2033:9;2024:7;2020:23;2016:33;2013:2;;;2067:6;2059;2052:22;2013:2;2112:9;2099:23;2141:18;2182:2;2174:6;2171:14;2168:2;;;2203:6;2195;2188:22;2168:2;2247:61;2300:7;2291:6;2280:9;2276:22;2247:61;:::i;:::-;2327:8;;-1:-1:-1;2221:87:28;-1:-1:-1;2415:2:28;2400:18;;2387:32;;-1:-1:-1;2431:16:28;;;2428:2;;;2465:6;2457;2450:22;2428:2;2509:63;2564:7;2553:8;2542:9;2538:24;2509:63;:::i;:::-;2591:8;;-1:-1:-1;2483:89:28;-1:-1:-1;2679:2:28;2664:18;;2651:32;;-1:-1:-1;2695:16:28;;;2692:2;;;2729:6;2721;2714:22;2692:2;;2773:63;2828:7;2817:8;2806:9;2802:24;2773:63;:::i;:::-;2855:8;;-1:-1:-1;2747:89:28;-1:-1:-1;;2940:2:28;2925:18;;2912:32;2980:13;;2973:21;2963:32;;2953:2;;3014:6;3006;2999:22;2953:2;3042:5;3032:15;;;2003:1050;;;;;;;;;;:::o;3452:258::-;;;3581:2;3569:9;3560:7;3556:23;3552:32;3549:2;;;3602:6;3594;3587:22;3549:2;-1:-1:-1;;3630:23:28;;;3700:2;3685:18;;;3672:32;;-1:-1:-1;3539:171:28:o;3715:271::-;;3806:6;3801:3;3794:19;3858:6;3851:5;3844:4;3839:3;3835:14;3822:43;3910:3;3903:4;3894:6;3889:3;3885:16;3881:27;3874:40;3975:4;3968:2;3964:7;3959:2;3951:6;3947:15;3943:29;3938:3;3934:39;3930:50;3923:57;;3784:202;;;;;:::o;3991:478::-;;4073:5;4067:12;4100:6;4095:3;4088:19;4125:3;4137:162;4151:6;4148:1;4145:13;4137:162;;;4213:4;4269:13;;;4265:22;;4259:29;4241:11;;;4237:20;;4230:59;4166:12;4137:162;;;4317:6;4314:1;4311:13;4308:2;;;4383:3;4376:4;4367:6;4362:3;4358:16;4354:27;4347:40;4308:2;-1:-1:-1;4451:2:28;4430:15;-1:-1:-1;;4426:29:28;4417:39;;;;4458:4;4413:50;;4043:426;-1:-1:-1;;4043:426:28:o;4474:1110::-;4561:12;;4474:1110;;4633:1;4618:17;;4654:1;4690:18;;;;4717:2;;4771:4;4763:6;4759:17;4749:27;;4717:2;4797;4845;4837:6;4834:14;4814:18;4811:38;4808:2;;;-1:-1:-1;;;4879:3:28;4872:90;4985:4;4982:1;4975:15;5015:4;5010:3;5003:17;4808:2;5052:50;5095:6;5090:3;5052:50;:::i;:::-;5118:18;5145:104;;;;5263:1;5258:320;;;;5111:467;;5145:104;-1:-1:-1;;5180:24:28;;5166:39;;5225:14;;;;-1:-1:-1;5145:104:28;;5258:320;5294:38;5326:5;5294:38;:::i;:::-;5354:1;5368:167;5382:6;5379:1;5376:13;5368:167;;;5462:14;;5447:13;;;5440:37;5505:16;;;;5397:10;;5368:167;;;5555:13;;;-1:-1:-1;;5111:467:28;;;;;;;;4534:1050;;;;:::o;5589:187::-;5754:14;;5747:22;5729:41;;5717:2;5702:18;;5684:92::o;5781:177::-;5927:25;;;5915:2;5900:18;;5882:76::o;5963:248::-;-1:-1:-1;;;;;6149:55:28;;;;6131:74;;6119:2;6104:18;;6086:125::o;6216:707::-;;6511:3;6500:9;6493:22;6538:48;6581:3;6570:9;6566:19;6558:6;6538:48;:::i;:::-;6634:9;6626:6;6622:22;6617:2;6606:9;6602:18;6595:50;6668:35;6696:6;6688;6668:35;:::i;:::-;6654:49;;6751:9;6743:6;6739:22;6734:2;6723:9;6719:18;6712:50;6779:35;6807:6;6799;6779:35;:::i;:::-;6857:14;;6850:22;6845:2;6830:18;;6823:50;-1:-1:-1;;6904:3:28;6889:19;6882:35;6771:43;6483:440;-1:-1:-1;;;6483:440:28:o;6928:411::-;7130:2;7112:21;;;7169:2;7149:18;;;7142:30;7208:34;7203:2;7188:18;;7181:62;7279:17;7274:2;7259:18;;7252:45;7329:3;7314:19;;7102:237::o;7344:412::-;7546:2;7528:21;;;7585:2;7565:18;;;7558:30;7624:34;7619:2;7604:18;;7597:62;7695:18;7690:2;7675:18;;7668:46;7746:3;7731:19;;7518:238::o;7761:350::-;7963:2;7945:21;;;8002:2;7982:18;;;7975:30;8041:28;8036:2;8021:18;;8014:56;8102:2;8087:18;;7935:176::o;8116:411::-;8318:2;8300:21;;;8357:2;8337:18;;;8330:30;8396:34;8391:2;8376:18;;8369:62;8467:17;8462:2;8447:18;;8440:45;8517:3;8502:19;;8290:237::o;8714:1149::-;;9145:3;9175:6;9164:9;9157:25;9218:6;9213:2;9202:9;9198:18;9191:34;9261:2;9256;9245:9;9241:18;9234:30;9287:64;9347:2;9336:9;9332:18;9324:6;9316;9287:64;:::i;:::-;9273:78;;9399:9;9391:6;9387:22;9382:2;9371:9;9367:18;9360:50;9433:52;9478:6;9470;9462;9433:52;:::i;:::-;9419:66;;9534:9;9526:6;9522:22;9516:3;9505:9;9501:19;9494:51;9562:52;9607:6;9599;9591;9562:52;:::i;:::-;9658:14;;9651:22;9645:3;9630:19;;9623:51;-1:-1:-1;;;;;;;9711:55:28;;;;9705:3;9690:19;;9683:84;9798:3;9783:19;;9776:36;;;;9843:3;9828:19;;;9821:36;9554:60;9125:738;-1:-1:-1;;;;;;;;9125:738:28:o;9868:1146::-;;10289:3;10319:6;10308:9;10301:25;10362:6;10357:2;10346:9;10342:18;10335:34;10405:2;10400;10389:9;10385:18;10378:30;10431:47;10474:2;10463:9;10459:18;10451:6;10431:47;:::i;:::-;10417:61;;10526:9;10518:6;10514:22;10509:2;10498:9;10494:18;10487:50;10560:35;10588:6;10580;10560:35;:::i;:::-;10546:49;;10644:9;10636:6;10632:22;10626:3;10615:9;10611:19;10604:51;10672:35;10700:6;10692;10672:35;:::i;:::-;10751:14;;10744:22;10738:3;10723:19;;10716:51;-1:-1:-1;;;;;;;10804:55:28;;;;10798:3;10783:19;;10776:84;10891:3;10876:19;;10869:35;;;;10948:14;10941:22;10935:3;10920:19;;10913:51;10995:3;10980:19;;;10973:35;10664:43;10269:745;-1:-1:-1;;;;;10269:745:28:o;11019:1235::-;;11460:3;11490:6;11479:9;11472:25;11533:6;11528:2;11517:9;11513:18;11506:34;11576:6;11571:2;11560:9;11556:18;11549:34;11619:2;11614;11603:9;11599:18;11592:30;11645:55;11696:2;11685:9;11681:18;11673:6;11645:55;:::i;:::-;11631:69;;11749:9;11741:6;11737:22;11731:3;11720:9;11716:19;11709:51;11783:43;11819:6;11811;11783:43;:::i;:::-;11769:57;;11875:9;11867:6;11863:22;11857:3;11846:9;11842:19;11835:51;11903:43;11939:6;11931;11903:43;:::i;:::-;11990:14;;11983:22;11977:3;11962:19;;11955:51;-1:-1:-1;;;;;;;12043:55:28;;;;12037:3;12022:19;;12015:84;12130:3;12115:19;;12108:35;;;;12187:14;12180:22;12174:3;12159:19;;12152:51;12234:3;12219:19;;;12212:36;11895:51;11440:814;-1:-1:-1;;;;;;11440:814:28:o;12259:129::-;;12327:17;;;12377:4;12361:21;;;12317:71::o;12550:286::-;;12621:1;12617:6;12614:1;12611:13;12608:2;;;-1:-1:-1;;;12654:3:28;12647:90;12760:4;12757:1;12750:15;12790:4;12785:3;12778:17;12608:2;-1:-1:-1;12821:9:28;;12598:238::o;12841:437::-;12926:1;12916:12;;12973:1;12963:12;;;12984:2;;13038:4;13030:6;13026:17;13016:27;;12984:2;13091;13083:6;13080:14;13060:18;13057:38;13054:2;;;-1:-1:-1;;;13125:1:28;13118:88;13229:4;13226:1;13219:15;13257:4;13254:1;13247:15;13054:2;;12896:382;;;:::o" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "createJob(string,string,string,bool)": "628aff1d", - "fulfillJob(uint256,uint256)": "56350bdf", - "getJob(uint256)": "bf22c457", - "getNumJobs()": "7e0c00ed", - "getResult(uint256)": "995e4339", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "init(address)": "19ab453c", - "jobs(uint256)": "180aedf3", - "numJobs()": "9212051c", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "stateManager()": "2e716fb1", - "supportsInterface(bytes4)": "01ffc9a7" - } - } - } - }, - "contracts/Core/StakeManager.sol": { - "StakeManager": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_blockReward", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "prevRewardPool", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rewardPool", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "RewardPoolChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "StakeChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "prevStakeGettingReward", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakeGettingReward", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "StakeGettingRewardChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Staked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Unstaked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Withdrew", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "blockManager", - "outputs": [ - { - "internalType": "contract IBlockManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "blockReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epochs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakeValue", - "type": "uint256" - } - ], - "name": "calculateInactivityPenalties", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getNumStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getStaker", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "internalType": "struct Structs.Staker", - "name": "staker", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getStakerId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "givePenalties", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_schAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_voteManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_blockManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sch", - "outputs": [ - { - "internalType": "contract SchellingCoin", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_epochLastRevealed", - "type": "uint256" - } - ], - "name": "setStakerEpochLastRevealed", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "bountyHunter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakerIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "stakers", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_blockReward", - "type": "uint256" - } - ], - "name": "updateBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "updateCommitmentEpoch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "voteManager", - "outputs": [ - { - "internalType": "contract IVoteManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:210:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "95:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "141:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "150:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "158:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "143:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "143:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "143:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "116:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "125:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "112:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "112:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "137:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "108:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "108:32:28" - }, - "nodeType": "YulIf", - "src": "105:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "176:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "192:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "186:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "186:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "176:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "61:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "72:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "84:6:28", - "type": "" - } - ], - "src": "14:194:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1678 - }, - { - "length": 20, - "start": 2123 - }, - { - "length": 20, - "start": 2464 - }, - { - "length": 20, - "start": 2588 - }, - { - "length": 20, - "start": 2980 - }, - { - "length": 20, - "start": 3428 - }, - { - "length": 20, - "start": 3795 - }, - { - "length": 20, - "start": 4236 - }, - { - "length": 20, - "start": 5039 - }, - { - "length": 20, - "start": 5255 - }, - { - "length": 20, - "start": 5927 - }, - { - "length": 20, - "start": 6218 - }, - { - "length": 20, - "start": 6509 - }, - { - "length": 20, - "start": 6971 - }, - { - "length": 20, - "start": 7343 - }, - { - "length": 20, - "start": 7640 - }, - { - "length": 20, - "start": 8049 - }, - { - "length": 20, - "start": 8217 - }, - { - "length": 20, - "start": 10706 - } - ] - } - }, - "object": "60806040523480156200001157600080fd5b506040516200391238038062003912833981016040819052620000349162000111565b620000416000336200004a565b6001556200012a565b6200005682826200005a565b5050565b620000668282620000e4565b62000056576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000a06200010d565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b60006020828403121562000123578081fd5b5051919050565b6137d8806200013a6000396000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c80636022a4851161012a578063bc788d46116100bd578063d9169b321161008c578063f580ffcb11610071578063f580ffcb14610433578063fabb989014610446578063fd5e6dd11461045957610226565b8063d9169b321461040b578063e3c998fe1461041357610226565b8063bc788d46146103d5578063c584bb9f146103dd578063c8ae0d7d146103e5578063d547741f146103f857610226565b80637b0472f0116100f95780637b0472f01461039457806391d14854146103a75780639864f70a146103ba578063a217fddf146103cd57610226565b80636022a4851461035e57806366666aa9146103715780636c8b052a14610379578063746c8b651461038157610226565b80631b8b13a7116101bd5780632e716fb11161018c57806336568abe1161017157806336568abe1461033057806342c1e5871461034357806354eae15e1461034b57610226565b80632e716fb1146103085780632f2ff15d1461031d57610226565b80631b8b13a7146102c7578063248a9ca3146102cf5780632e17de78146102e25780632e1a7d4d146102f557610226565b80630f91ce19116101f95780630f91ce1914610286578063188dc83b146102995780631a69f008146102ac5780631ad54991146102bf57610226565b806301ffc9a71461022b57806306552ff3146102545780630ac168a1146102695780630ec88d3f1461027e575b600080fd5b61023e610239366004612dd2565b610480565b60405161024b919061301a565b60405180910390f35b610267610262366004612ccf565b6104de565b005b610271610546565b60405161024b9190613025565b61027161054c565b610267610294366004612f67565b610552565b6102676102a7366004612d77565b61070f565b6102716102ba366004612f9b565b610850565b6102716109ad565b6102716109b3565b6102716102dd366004612d77565b6109b9565b6102676102f0366004612d77565b6109ce565b610267610303366004612d77565b610cfd565b6103106111d5565b60405161024b919061302e565b61026761032b366004612da7565b6111e4565b61026761033e366004612da7565b611222565b610310611264565b610267610359366004612f9b565b611273565b61027161036c366004612cae565b611324565b61027161133f565b610271611345565b61026761038f366004612f9b565b61134b565b6102676103a2366004612f9b565b611551565b61023e6103b5366004612da7565b611c73565b6102676103c8366004612f9b565b611c9c565b610271611d54565b610271611d59565b610310611d5f565b6102716103f3366004612cae565b611d6e565b610267610406366004612da7565b611d80565b610310611da8565b610426610421366004612d77565b611db7565b60405161024b9190613572565b610267610441366004612d77565b611e35565b610267610454366004612f9b565b611edd565b61046c610467366004612d77565b6124c3565b60405161024b9897969594939291906135d4565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104d657506104d682612512565b90505b919050565b600780546001600160a01b039586167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560088054948616948216949094179093556009805492851692841692909217909155600a8054919093169116179055565b60015481565b60045481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561059657600080fd5b505af41580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce9190612d8f565b6105d88133611c73565b6105fd5760405162461bcd60e51b81526004016105f490613311565b60405180910390fd5b600084815260066020526040812060029081015461061b9190613705565b905061065f8560006040518060400160405280600781526020017f536c6173686564000000000000000000000000000000000000000000000000008152508661255c565b60018111156107085760075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061069a9087908590600401613001565b602060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ec9190612d5d565b6107085760405162461bcd60e51b81526004016105f4906130d6565b5050505050565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561075357600080fd5b505af4158015610767573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078b9190612d8f565b6107958133611c73565b6107b15760405162461bcd60e51b81526004016105f490613311565b600a60009054906101000a90046001600160a01b03166001600160a01b031663757991a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108379190612d8f565b6000928352600660205260409092206004019190915550565b6000600a8310156108625750806109a7565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1cc45006040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a857600080fd5b505af41580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e09190612d8f565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a86f5a3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561092457600080fd5b505af4158015610938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095c9190612d8f565b6109669085613725565b610971600187613744565b61097b9190613725565b6109859190613705565b9050828110156109a1576109998184613744565b9150506109a7565b60009150505b92915050565b60045490565b60035490565b60009081526020819052604090206001015490565b600a5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190612d8f565b8114610a685760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610aac57600080fd5b505af4158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae49190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3557600080fd5b505afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d9190612d8f565b8114610b8b5760405162461bcd60e51b81526004016105f49061344a565b3360009081526005602090815260408083205480845260069092529091208054610bc75760405162461bcd60e51b81526004016105f490613348565b6000816002015411610beb5760405162461bcd60e51b81526004016105f49061316a565b84816006015411158015610c025750600681015415155b610c1e5760405162461bcd60e51b81526004016105f4906132da565b6000816006018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6c57600080fd5b505af4158015610c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca49190612d8f565b610cae90866136ed565b6007820155600281015460405183917f0cfbc484edc798d2584502ca0d64e7e9514b8dd091d96a2a5b4deb58478da19e91610cee91899181904290613621565b60405180910390a25050505050565b600a5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d4157600080fd5b505afa158015610d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d799190612d8f565b8114610d975760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ddb57600080fd5b505af4158015610def573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e139190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6457600080fd5b505afa158015610e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9c9190612d8f565b8114610eba5760405162461bcd60e51b81526004016105f49061344a565b3360009081526005602090815260408083205480845260069092529091208054610ef65760405162461bcd60e51b81526004016105f4906132a3565b600681015415610f185760405162461bcd60e51b81526004016105f490613413565b84816007015411158015610f2f5750600781015415155b610f4b5760405162461bcd60e51b81526004016105f49061309f565b806005015473__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9457600080fd5b505af4158015610fa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcc9190612d8f565b8260070154610fdb9190613744565b1015610ff95760405162461bcd60e51b81526004016105f49061320f565b6008546040517f7164f0d60000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637164f0d6906110449088908690600401613613565b60206040518083038186803b15801561105c57600080fd5b505afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190612d8f565b156110b15760405162461bcd60e51b81526004016105f4906133b6565b60008160020154116110d55760405162461bcd60e51b81526004016105f490613481565b6000828152600660205260408082206002018054908390559051909184917f0a6fecee2c95fc6b4c7f291e3435a3a832bcd700c2a7ffdedd8c909d56dfa49f91611125918a919081904290613621565b60405180910390a260075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061115f9033908590600401613001565b602060405180830381600087803b15801561117957600080fd5b505af115801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b19190612d5d565b6111cd5760405162461bcd60e51b81526004016105f4906131d8565b505050505050565b600a546001600160a01b031681565b6111f86111f0836109b9565b6103b56125ae565b6112145760405162461bcd60e51b81526004016105f490613042565b61121e82826125b2565b5050565b61122a6125ae565b6001600160a01b0316816001600160a01b03161461125a5760405162461bcd60e51b81526004016105f4906134b8565b61121e8282612637565b6008546001600160a01b031681565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b757600080fd5b505af41580156112cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ef9190612d8f565b6112f98133611c73565b6113155760405162461bcd60e51b81526004016105f490613311565b61131f83836126ba565b505050565b6001600160a01b031660009081526005602052604090205490565b60035481565b60025481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561138f57600080fd5b505af41580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c79190612d8f565b6113d18133611c73565b6113ed5760405162461bcd60e51b81526004016105f490613311565b60015415611502576001546000848152600660205260408120600201549091611415916136ed565b905061145884826040518060400160405280600c81526020017f426c6f636b2052657761726400000000000000000000000000000000000000008152508661255c565b6007546001546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b03909216916340c10f19916114a591309190600401613001565b602060405180830381600087803b1580156114bf57600080fd5b505af11580156114d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f79190612d5d565b61150057600080fd5b505b6004805460009182905560405190917feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916115439186918591904290613621565b60405180910390a150505050565b600a5460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561159557600080fd5b505afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cd9190612d8f565b81146115eb5760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561162f57600080fd5b505af4158015611643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116679190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116b857600080fd5b505afa1580156116cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f09190612d8f565b811461170e5760405162461bcd60e51b81526004016105f49061344a565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561175257600080fd5b505af4158015611766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178a9190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117db57600080fd5b505afa1580156117ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118139190612d8f565b14156118315760405162461bcd60e51b81526004016105f49061337f565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561187557600080fd5b505af4158015611889573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ad9190612d8f565b8310156118cc5760405162461bcd60e51b81526004016105f490613515565b6007546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906323b872dd9061191990339030908890600401612fdd565b602060405180830381600087803b15801561193357600080fd5b505af1158015611947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196b9190612d5d565b6119875760405162461bcd60e51b81526004016105f4906131a1565b3360009081526005602090815260408083205480845260069092529091206002015481611b3c576002546119bc9060016136ed565b6002819055506040518061010001604052806002548152602001336001600160a01b03168152602001868152602001878152602001600081526020016000815260200173__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611a4357600080fd5b505af4158015611a57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7b9190612d8f565b611a8590896136ed565b8152600060209182018190526002805482526006808452604080842086518155868601516001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039092169190911790558682015181850155606087015160038201556080870151600482015560a087015160058083019190915560c08801519382019390935560e09096015160079096019590955590543383529252919091208190559150611c17565b600082815260066020526040902060020154611b599086906136ed565b600660008481526020019081526020016000206002018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611bb757600080fd5b505af4158015611bcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bef9190612d8f565b611bf990876136ed565b60008381526006602081905260408220908101929092556007909101555b817f52d3b6bf695a499d39fcdb47e3b450c09f2f6aa091ca8809cc51c00e705996cc8783600660008781526020019081526020016000206002015442604051611c639493929190613621565b60405180910390a2505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ce057600080fd5b505af4158015611cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d189190612d8f565b611d228133611c73565b611d3e5760405162461bcd60e51b81526004016105f490613311565b5060009182526006602052604090912060050155565b600081565b60025490565b6007546001600160a01b031681565b60056020526000908152604090205481565b611d8c6111f0836109b9565b61125a5760405162461bcd60e51b81526004016105f49061310d565b6009546001600160a01b031681565b611dbf612bb7565b506000908152600660208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a08201529082015460c082015260079091015460e082015290565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1a627816040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7957600080fd5b505af4158015611e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb19190612d8f565b611ebb8133611c73565b611ed75760405162461bcd60e51b81526004016105f490613311565b50600155565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b158015611f2157600080fd5b505af4158015611f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f599190612d8f565b611f638133611c73565b611f7f5760405162461bcd60e51b81526004016105f490613311565b600454611f8b5761131f565b6000838152600660208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a082018190529183015460c082015260079092015460e08301526120098185613744565b60011461201757505061131f565b6009546040517f378ab9a90000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063378ab9a990612061908590600401613025565b60006040518083038186803b15801561207957600080fd5b505afa15801561208d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120b59190810190612d22565b6009546040517fd2a4669a0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063d2a4669a90612104908690600401613025565b60006040518083038186803b15801561211c57600080fd5b505afa158015612130573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121589190810190612d22565b6009546040517ffae4425d0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063fae4425d906121a7908790600401613025565b60006040518083038186803b1580156121bf57600080fd5b505afa1580156121d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121fb9190810190612d22565b8251909150156124b9576000805b8351811015612360576008548751604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a91612247918b9187906004016136ad565b604080518083038186803b15801561225e57600080fd5b505afa158015612272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122969190612f19565b60000151905060008683815181106122be57634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008684815181106122ea57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600086858151811061231657634e487b7160e01b600052603260045260246000fd5b602002602001015190508284148061233657508184118061233657508084105b15612349576123468660016136ed565b95505b5050505080806123589061375b565b915050612209565b50600083516004546123729190613725565b8260035489604001516123859190613725565b61238f9190613725565b6123999190613705565b905080156124b65760045460408801518110156123b75760006123c9565b87604001516004546123c99190613744565b60048190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612402918d9185914290613621565b60405180910390a1600082896040015161241c91906136ed565b60035490915061242c8482613744565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612465918f9185914290613621565b60405180910390a16124b28a60000151836040518060400160405280600e81526020017f566f74696e6720526577617264730000000000000000000000000000000000008152508f61255c565b5050505b50505b5050505050505050565b60066020819052600091825260409091208054600182015460028301546003840154600485015460058601549686015460079096015494966001600160a01b0390941695929491939092909188565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b60008481526006602052604090819020600201805490859055905185907fab9982d99de79485b3cd6d1e72c881fd0342f42f1cbc7d220d4f373b97c4f36390610cee908490889088908890429061363c565b3390565b6125bc8282611c73565b61121e576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556125f36125ae565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6126418282611c73565b1561121e576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556126766125ae565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6126c48282612a53565b6000828152600660205260408082206002810154600582015460095493517f04c075690000000000000000000000000000000000000000000000000000000081529294919390926001600160a01b03909116906304c075699061272b908590600401613025565b60006040518083038186803b15801561274357600080fd5b505afa158015612757573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261277f9190810190612e12565b6060810151608082015181519293509091156124b9576000805b835181101561293f576008548854604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a916127d7918b9187906004016136ad565b604080518083038186803b1580156127ee57600080fd5b505afa158015612802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128269190612f19565b600001519050600085838151811061284e57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085848151811061287a57634e487b7160e01b600052603260045260246000fd5b602002602001015190508183108061289157508083115b156129295773__$cb76aa8097a3c0beaf107a478aa049bae7$__633002c9ac6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128da57600080fd5b505af41580156128ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129129190612d8f565b61291c908b613705565b61292690866136ed565b94505b50505080806129379061375b565b915050612799565b5080156129f8578581116129535780612955565b855b87549091506129a4906129688389613744565b6040518060400160405280600e81526020017f566f74696e672050656e616c74790000000000000000000000000000000000008152508b61255c565b6003546129b182826136ed565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff4916129ea918c9185914290613621565b60405180910390a150612a48565b600454612a0587826136ed565b60048190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612a3e918c9185914290613621565b60405180910390a1505b505050505050505050565b60008281526006602081815260408084208151610100810183528154815260018201546001600160a01b03169381019390935260028101549183019190915260038101546060830181905260048201546080840152600582015460a084018190529382015460c084015260079091015460e083015290929111612ada578160600151612ae0565b8160a001515b90506000612aee8285613744565b60408401519091506000612b028383610850565b905081811015612bae57612b518560000151826040518060400160405280601281526020017f496e61637469766974792050656e616c747900000000000000000000000000008152508961255c565b600354612b5e8284613744565b600354612b6b91906136ed565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612ba4918a9185914290613621565b60405180910390a1505b50505050505050565b6040518061010001604052806000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b80356001600160a01b03811681146104d957600080fd5b600082601f830112612c2c578081fd5b8151602067ffffffffffffffff821115612c4857612c4861378c565b808202612c568282016136c3565b838152828101908684018388018501891015612c70578687fd5b8693505b85841015612c92578051835260019390930192918401918401612c74565b50979650505050505050565b805180151581146104d957600080fd5b600060208284031215612cbf578081fd5b612cc882612c05565b9392505050565b60008060008060808587031215612ce4578283fd5b612ced85612c05565b9350612cfb60208601612c05565b9250612d0960408601612c05565b9150612d1760608601612c05565b905092959194509250565b600060208284031215612d33578081fd5b815167ffffffffffffffff811115612d49578182fd5b612d5584828501612c1c565b949350505050565b600060208284031215612d6e578081fd5b612cc882612c9e565b600060208284031215612d88578081fd5b5035919050565b600060208284031215612da0578081fd5b5051919050565b60008060408385031215612db9578182fd5b82359150612dc960208401612c05565b90509250929050565b600060208284031215612de3578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612cc8578182fd5b600060208284031215612e23578081fd5b815167ffffffffffffffff80821115612e3a578283fd5b8184019150610100808387031215612e50578384fd5b612e59816136c3565b905082518152602083015182811115612e70578485fd5b612e7c87828601612c1c565b602083015250604083015182811115612e93578485fd5b612e9f87828601612c1c565b604083015250606083015182811115612eb6578485fd5b612ec287828601612c1c565b606083015250608083015182811115612ed9578485fd5b612ee587828601612c1c565b60808301525060a083015160a082015260c083015160c0820152612f0b60e08401612c9e565b60e082015295945050505050565b600060408284031215612f2a578081fd5b6040516040810181811067ffffffffffffffff82111715612f4d57612f4d61378c565b604052825181526020928301519281019290925250919050565b600080600060608486031215612f7b578283fd5b83359250612f8b60208501612c05565b9150604084013590509250925092565b60008060408385031215612fad578182fd5b50508035926020909101359150565b600060208284031215612fcd578081fd5b815160ff81168114612cc8578182fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252601a908201527f57697468647261772065706f6368206e6f742072656163686564000000000000604082015260600190565b60208082526019908201527f6661696c656420746f207472616e7366657220626f756e747900000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526011908201527f4e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526013908201527f736368207472616e73666572206661696c656400000000000000000000000000604082015260600190565b60208082526010908201527f636f756c646e74207472616e7366657200000000000000000000000000000000604082015260600190565b60208082526033908201527f50617274696369706174656420696e205769746864726177206c6f636b20706560408201527f72696f642c2043616e7420776974686472617700000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b60208082526013908201527f7374616b657220646f65736e7420657869737400000000000000000000000000604082015260600190565b60208082526006908201527f6c6f636b65640000000000000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600d908201527f7374616b65722e6964203d203000000000000000000000000000000000000000604082015260600190565b6020808252600f908201527f496e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602a908201527f616c726561647920636f6d6d6974656420746869732065706f63682e2043616e60408201527f7420776974686472617700000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f446964206e6f7420756e7374616b650000000000000000000000000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526011908201527f4e6f6e706f736974697665205374616b65000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526031908201527f7374616b656420616d6f756e74206973206c657373207468616e206d696e696d60408201527f756d207374616b65207265717569726564000000000000000000000000000000606082015260800190565b600061010082019050825182526001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b9788526001600160a01b0396909616602088015260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b60008682526020868184015260a0604084015285518060a0850152825b818110156136755787810183015185820160c001528201613659565b81811115613686578360c083870101525b5060608401959095525050608081019190915260c0601f909201601f191601019392505050565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff811182821017156136e5576136e561378c565b604052919050565b6000821982111561370057613700613776565b500190565b60008261372057634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561373f5761373f613776565b500290565b60008282101561375657613756613776565b500390565b600060001982141561376f5761376f613776565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220ebfe857fb450ffe39b03b26c745b3f18124d3671268e9cad304d24ecaece080964736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x3912 CODESIZE SUB DUP1 PUSH3 0x3912 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x111 JUMP JUMPDEST PUSH3 0x41 PUSH1 0x0 CALLER PUSH3 0x4A JUMP JUMPDEST PUSH1 0x1 SSTORE PUSH3 0x12A JUMP JUMPDEST PUSH3 0x56 DUP3 DUP3 PUSH3 0x5A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0x66 DUP3 DUP3 PUSH3 0xE4 JUMP JUMPDEST PUSH3 0x56 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0xA0 PUSH3 0x10D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x123 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x37D8 DUP1 PUSH3 0x13A PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x226 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6022A485 GT PUSH2 0x12A JUMPI DUP1 PUSH4 0xBC788D46 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0xD9169B32 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xF580FFCB GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xF580FFCB EQ PUSH2 0x433 JUMPI DUP1 PUSH4 0xFABB9890 EQ PUSH2 0x446 JUMPI DUP1 PUSH4 0xFD5E6DD1 EQ PUSH2 0x459 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0xD9169B32 EQ PUSH2 0x40B JUMPI DUP1 PUSH4 0xE3C998FE EQ PUSH2 0x413 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0xBC788D46 EQ PUSH2 0x3D5 JUMPI DUP1 PUSH4 0xC584BB9F EQ PUSH2 0x3DD JUMPI DUP1 PUSH4 0xC8AE0D7D EQ PUSH2 0x3E5 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3F8 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x7B0472F0 GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0x7B0472F0 EQ PUSH2 0x394 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0x9864F70A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x3CD JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x6022A485 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0x66666AA9 EQ PUSH2 0x371 JUMPI DUP1 PUSH4 0x6C8B052A EQ PUSH2 0x379 JUMPI DUP1 PUSH4 0x746C8B65 EQ PUSH2 0x381 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x1B8B13A7 GT PUSH2 0x1BD JUMPI DUP1 PUSH4 0x2E716FB1 GT PUSH2 0x18C JUMPI DUP1 PUSH4 0x36568ABE GT PUSH2 0x171 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x330 JUMPI DUP1 PUSH4 0x42C1E587 EQ PUSH2 0x343 JUMPI DUP1 PUSH4 0x54EAE15E EQ PUSH2 0x34B JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x308 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x31D JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x1B8B13A7 EQ PUSH2 0x2C7 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x2E17DE78 EQ PUSH2 0x2E2 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x2F5 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0xF91CE19 GT PUSH2 0x1F9 JUMPI DUP1 PUSH4 0xF91CE19 EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0x188DC83B EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0x1A69F008 EQ PUSH2 0x2AC JUMPI DUP1 PUSH4 0x1AD54991 EQ PUSH2 0x2BF JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x6552FF3 EQ PUSH2 0x254 JUMPI DUP1 PUSH4 0xAC168A1 EQ PUSH2 0x269 JUMPI DUP1 PUSH4 0xEC88D3F EQ PUSH2 0x27E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x23E PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x2DD2 JUMP JUMPDEST PUSH2 0x480 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x301A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x267 PUSH2 0x262 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x4DE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x271 PUSH2 0x546 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x3025 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x267 PUSH2 0x294 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F67 JUMP JUMPDEST PUSH2 0x552 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x2A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x70F JUMP JUMPDEST PUSH2 0x271 PUSH2 0x2BA CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x850 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x9AD JUMP JUMPDEST PUSH2 0x271 PUSH2 0x9B3 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x2DD CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x9B9 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x2F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x9CE JUMP JUMPDEST PUSH2 0x267 PUSH2 0x303 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0xCFD JUMP JUMPDEST PUSH2 0x310 PUSH2 0x11D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x302E JUMP JUMPDEST PUSH2 0x267 PUSH2 0x32B CALLDATASIZE PUSH1 0x4 PUSH2 0x2DA7 JUMP JUMPDEST PUSH2 0x11E4 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x33E CALLDATASIZE PUSH1 0x4 PUSH2 0x2DA7 JUMP JUMPDEST PUSH2 0x1222 JUMP JUMPDEST PUSH2 0x310 PUSH2 0x1264 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x359 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x1273 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x36C CALLDATASIZE PUSH1 0x4 PUSH2 0x2CAE JUMP JUMPDEST PUSH2 0x1324 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x133F JUMP JUMPDEST PUSH2 0x271 PUSH2 0x1345 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x38F CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x134B JUMP JUMPDEST PUSH2 0x267 PUSH2 0x3A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x1551 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x3B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2DA7 JUMP JUMPDEST PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x3C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x1C9C JUMP JUMPDEST PUSH2 0x271 PUSH2 0x1D54 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x1D59 JUMP JUMPDEST PUSH2 0x310 PUSH2 0x1D5F JUMP JUMPDEST PUSH2 0x271 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CAE JUMP JUMPDEST PUSH2 0x1D6E JUMP JUMPDEST PUSH2 0x267 PUSH2 0x406 CALLDATASIZE PUSH1 0x4 PUSH2 0x2DA7 JUMP JUMPDEST PUSH2 0x1D80 JUMP JUMPDEST PUSH2 0x310 PUSH2 0x1DA8 JUMP JUMPDEST PUSH2 0x426 PUSH2 0x421 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x1DB7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x3572 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x441 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x1E35 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x454 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x1EDD JUMP JUMPDEST PUSH2 0x46C PUSH2 0x467 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x24C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x35D4 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x4D6 JUMPI POP PUSH2 0x4D6 DUP3 PUSH2 0x2512 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 DUP7 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x8 DUP1 SLOAD SWAP5 DUP7 AND SWAP5 DUP3 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE PUSH1 0x9 DUP1 SLOAD SWAP3 DUP6 AND SWAP3 DUP5 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH1 0xA DUP1 SLOAD SWAP2 SWAP1 SWAP4 AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x5AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5CE SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x5D8 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x5FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 SWAP1 DUP2 ADD SLOAD PUSH2 0x61B SWAP2 SWAP1 PUSH2 0x3705 JUMP JUMPDEST SWAP1 POP PUSH2 0x65F DUP6 PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536C617368656400000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP7 PUSH2 0x255C JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x708 JUMPI PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x69A SWAP1 DUP8 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3001 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6EC SWAP2 SWAP1 PUSH2 0x2D5D JUMP JUMPDEST PUSH2 0x708 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x30D6 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9CEC6F8A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x753 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x78B SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x795 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x7B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x757991A8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x813 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x837 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 PUSH1 0x4 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA DUP4 LT ISZERO PUSH2 0x862 JUMPI POP DUP1 PUSH2 0x9A7 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xB1CC4500 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x8A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x8BC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8E0 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH20 0x0 PUSH4 0xA86F5A3F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x924 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x938 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x95C SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x966 SWAP1 DUP6 PUSH2 0x3725 JUMP JUMPDEST PUSH2 0x971 PUSH1 0x1 DUP8 PUSH2 0x3744 JUMP JUMPDEST PUSH2 0x97B SWAP2 SWAP1 PUSH2 0x3725 JUMP JUMPDEST PUSH2 0x985 SWAP2 SWAP1 PUSH2 0x3705 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x9A1 JUMPI PUSH2 0x999 DUP2 DUP5 PUSH2 0x3744 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9A7 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA26 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA4A SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0xA68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x326C JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xAC0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAE4 SWAP2 SWAP1 PUSH2 0x2FBC JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB49 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB6D SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0xB8B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x344A JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x6 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH2 0xBC7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3348 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 ADD SLOAD GT PUSH2 0xBEB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x316A JUMP JUMPDEST DUP5 DUP2 PUSH1 0x6 ADD SLOAD GT ISZERO DUP1 ISZERO PUSH2 0xC02 JUMPI POP PUSH1 0x6 DUP2 ADD SLOAD ISZERO ISZERO JUMPDEST PUSH2 0xC1E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x32DA JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x6 ADD DUP2 SWAP1 SSTORE POP PUSH20 0x0 PUSH4 0x2628490F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xC80 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCA4 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0xCAE SWAP1 DUP7 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x7 DUP3 ADD SSTORE PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD DUP4 SWAP2 PUSH32 0xCFBC484EDC798D2584502CA0D64E7E9514B8DD091D96A2A5B4DEB58478DA19E SWAP2 PUSH2 0xCEE SWAP2 DUP10 SWAP2 DUP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD41 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD55 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD79 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0xD97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x326C JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xDEF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE13 SWAP2 SWAP1 PUSH2 0x2FBC JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE9C SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0xEBA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x344A JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x6 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH2 0xEF6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x32A3 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD ISZERO PUSH2 0xF18 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3413 JUMP JUMPDEST DUP5 DUP2 PUSH1 0x7 ADD SLOAD GT ISZERO DUP1 ISZERO PUSH2 0xF2F JUMPI POP PUSH1 0x7 DUP2 ADD SLOAD ISZERO ISZERO JUMPDEST PUSH2 0xF4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x309F JUMP JUMPDEST DUP1 PUSH1 0x5 ADD SLOAD PUSH20 0x0 PUSH4 0x2628490F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xFA8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFCC SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP3 PUSH1 0x7 ADD SLOAD PUSH2 0xFDB SWAP2 SWAP1 PUSH2 0x3744 JUMP JUMPDEST LT ISZERO PUSH2 0xFF9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x320F JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH32 0x7164F0D600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x7164F0D6 SWAP1 PUSH2 0x1044 SWAP1 DUP9 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3613 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x105C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1070 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1094 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST ISZERO PUSH2 0x10B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x33B6 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 ADD SLOAD GT PUSH2 0x10D5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3481 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD SWAP1 DUP4 SWAP1 SSTORE SWAP1 MLOAD SWAP1 SWAP2 DUP5 SWAP2 PUSH32 0xA6FECEE2C95FC6B4C7F291E3435A3A832BCD700C2A7FFDEDD8C909D56DFA49F SWAP2 PUSH2 0x1125 SWAP2 DUP11 SWAP2 SWAP1 DUP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x115F SWAP1 CALLER SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3001 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1179 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x118D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11B1 SWAP2 SWAP1 PUSH2 0x2D5D JUMP JUMPDEST PUSH2 0x11CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x31D8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x11F8 PUSH2 0x11F0 DUP4 PUSH2 0x9B9 JUMP JUMPDEST PUSH2 0x3B5 PUSH2 0x25AE JUMP JUMPDEST PUSH2 0x1214 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3042 JUMP JUMPDEST PUSH2 0x121E DUP3 DUP3 PUSH2 0x25B2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x122A PUSH2 0x25AE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x125A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x34B8 JUMP JUMPDEST PUSH2 0x121E DUP3 DUP3 PUSH2 0x2637 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x12CB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12EF SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x12F9 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x1315 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST PUSH2 0x131F DUP4 DUP4 PUSH2 0x26BA JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x138F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x13A3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13C7 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x13D1 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x13ED JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST PUSH1 0x1 SLOAD ISZERO PUSH2 0x1502 JUMPI PUSH1 0x1 SLOAD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 PUSH2 0x1415 SWAP2 PUSH2 0x36ED JUMP JUMPDEST SWAP1 POP PUSH2 0x1458 DUP5 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x426C6F636B205265776172640000000000000000000000000000000000000000 DUP2 MSTORE POP DUP7 PUSH2 0x255C JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x40C10F19 SWAP2 PUSH2 0x14A5 SWAP2 ADDRESS SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x3001 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x14D3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14F7 SWAP2 SWAP1 PUSH2 0x2D5D JUMP JUMPDEST PUSH2 0x1500 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x0 SWAP2 DUP3 SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 SWAP2 PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x1543 SWAP2 DUP7 SWAP2 DUP6 SWAP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1595 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15A9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15CD SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0x15EB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x326C JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x162F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1643 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1667 SWAP2 SWAP1 PUSH2 0x2FBC JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16CC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16F0 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0x170E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x344A JUMP JUMPDEST PUSH20 0x0 PUSH4 0xA475B5DD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1752 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1766 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x178A SWAP2 SWAP1 PUSH2 0x2FBC JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x17DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17EF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1813 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST EQ ISZERO PUSH2 0x1831 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x337F JUMP JUMPDEST PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1875 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1889 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18AD SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP4 LT ISZERO PUSH2 0x18CC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3515 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH2 0x1919 SWAP1 CALLER SWAP1 ADDRESS SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x2FDD JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1933 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1947 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x196B SWAP2 SWAP1 PUSH2 0x2D5D JUMP JUMPDEST PUSH2 0x1987 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x31A1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x6 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 PUSH2 0x1B3C JUMPI PUSH1 0x2 SLOAD PUSH2 0x19BC SWAP1 PUSH1 0x1 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH20 0x0 PUSH4 0x26BF1C03 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1A57 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A7B SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x1A85 SWAP1 DUP10 PUSH2 0x36ED JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 SWAP2 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x2 DUP1 SLOAD DUP3 MSTORE PUSH1 0x6 DUP1 DUP5 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP7 MLOAD DUP2 SSTORE DUP7 DUP7 ADD MLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP7 DUP3 ADD MLOAD DUP2 DUP6 ADD SSTORE PUSH1 0x60 DUP8 ADD MLOAD PUSH1 0x3 DUP3 ADD SSTORE PUSH1 0x80 DUP8 ADD MLOAD PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0xA0 DUP8 ADD MLOAD PUSH1 0x5 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0xC0 DUP9 ADD MLOAD SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 SSTORE PUSH1 0xE0 SWAP1 SWAP7 ADD MLOAD PUSH1 0x7 SWAP1 SWAP7 ADD SWAP6 SWAP1 SWAP6 SSTORE SWAP1 SLOAD CALLER DUP4 MSTORE SWAP3 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 DUP2 SWAP1 SSTORE SWAP2 POP PUSH2 0x1C17 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x1B59 SWAP1 DUP7 SWAP1 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH20 0x0 PUSH4 0x26BF1C03 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1BB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1BCB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1BEF SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x1BF9 SWAP1 DUP8 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 KECCAK256 SWAP1 DUP2 ADD SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x7 SWAP1 SWAP2 ADD SSTORE JUMPDEST DUP2 PUSH32 0x52D3B6BF695A499D39FCDB47E3B450C09F2F6AA091CA8809CC51C00E705996CC DUP8 DUP4 PUSH1 0x6 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x1C63 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9CEC6F8A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1CE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CF4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D18 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x1D22 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x1D3E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST POP PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 PUSH1 0x5 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1D8C PUSH2 0x11F0 DUP4 PUSH2 0x9B9 JUMP JUMPDEST PUSH2 0x125A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x310D JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x1DBF PUSH2 0x2BB7 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP4 MLOAD PUSH2 0x100 DUP2 ADD DUP6 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 DUP3 ADD SLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x7 SWAP1 SWAP2 ADD SLOAD PUSH1 0xE0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xB1A62781 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1E79 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1E8D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1EB1 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x1EBB DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x1ED7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST POP PUSH1 0x1 SSTORE JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1F21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1F35 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F59 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x1F63 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x1F7F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x1F8B JUMPI PUSH2 0x131F JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP4 MLOAD PUSH2 0x100 DUP2 ADD DUP6 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0xA0 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP4 ADD SLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x7 SWAP1 SWAP3 ADD SLOAD PUSH1 0xE0 DUP4 ADD MSTORE PUSH2 0x2009 DUP2 DUP6 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x1 EQ PUSH2 0x2017 JUMPI POP POP PUSH2 0x131F JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH32 0x378AB9A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x378AB9A9 SWAP1 PUSH2 0x2061 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3025 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2079 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x208D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x20B5 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D22 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH32 0xD2A4669A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD2A4669A SWAP1 PUSH2 0x2104 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3025 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x211C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2130 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2158 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D22 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH32 0xFAE4425D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xFAE4425D SWAP1 PUSH2 0x21A7 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3025 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x21BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x21D3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x21FB SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D22 JUMP JUMPDEST DUP3 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x24B9 JUMPI PUSH1 0x0 DUP1 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2360 JUMPI PUSH1 0x8 SLOAD DUP8 MLOAD PUSH1 0x40 MLOAD PUSH4 0x4673FFA5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x8CE7FF4A SWAP2 PUSH2 0x2247 SWAP2 DUP12 SWAP2 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x36AD JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x225E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2272 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2296 SWAP2 SWAP1 PUSH2 0x2F19 JUMP JUMPDEST PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x22BE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x22EA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x2316 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP3 DUP5 EQ DUP1 PUSH2 0x2336 JUMPI POP DUP2 DUP5 GT DUP1 PUSH2 0x2336 JUMPI POP DUP1 DUP5 LT JUMPDEST ISZERO PUSH2 0x2349 JUMPI PUSH2 0x2346 DUP7 PUSH1 0x1 PUSH2 0x36ED JUMP JUMPDEST SWAP6 POP JUMPDEST POP POP POP POP DUP1 DUP1 PUSH2 0x2358 SWAP1 PUSH2 0x375B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2209 JUMP JUMPDEST POP PUSH1 0x0 DUP4 MLOAD PUSH1 0x4 SLOAD PUSH2 0x2372 SWAP2 SWAP1 PUSH2 0x3725 JUMP JUMPDEST DUP3 PUSH1 0x3 SLOAD DUP10 PUSH1 0x40 ADD MLOAD PUSH2 0x2385 SWAP2 SWAP1 PUSH2 0x3725 JUMP JUMPDEST PUSH2 0x238F SWAP2 SWAP1 PUSH2 0x3725 JUMP JUMPDEST PUSH2 0x2399 SWAP2 SWAP1 PUSH2 0x3705 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x24B6 JUMPI PUSH1 0x4 SLOAD PUSH1 0x40 DUP9 ADD MLOAD DUP2 LT ISZERO PUSH2 0x23B7 JUMPI PUSH1 0x0 PUSH2 0x23C9 JUMP JUMPDEST DUP8 PUSH1 0x40 ADD MLOAD PUSH1 0x4 SLOAD PUSH2 0x23C9 SWAP2 SWAP1 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x2402 SWAP2 DUP14 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP3 DUP10 PUSH1 0x40 ADD MLOAD PUSH2 0x241C SWAP2 SWAP1 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x3 SLOAD SWAP1 SWAP2 POP PUSH2 0x242C DUP5 DUP3 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x2465 SWAP2 DUP16 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x24B2 DUP11 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x566F74696E672052657761726473000000000000000000000000000000000000 DUP2 MSTORE POP DUP16 PUSH2 0x255C JUMP JUMPDEST POP POP POP JUMPDEST POP POP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD SLOAD SWAP7 DUP7 ADD SLOAD PUSH1 0x7 SWAP1 SWAP7 ADD SLOAD SWAP5 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND SWAP6 SWAP3 SWAP5 SWAP2 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP9 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD SWAP1 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP6 SWAP1 PUSH32 0xAB9982D99DE79485B3CD6D1E72C881FD0342F42F1CBC7D220D4F373B97C4F363 SWAP1 PUSH2 0xCEE SWAP1 DUP5 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 TIMESTAMP SWAP1 PUSH2 0x363C JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x25BC DUP3 DUP3 PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x121E JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x25F3 PUSH2 0x25AE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x2641 DUP3 DUP3 PUSH2 0x1C73 JUMP JUMPDEST ISZERO PUSH2 0x121E JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x2676 PUSH2 0x25AE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x26C4 DUP3 DUP3 PUSH2 0x2A53 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x9 SLOAD SWAP4 MLOAD PUSH32 0x4C0756900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP3 SWAP5 SWAP2 SWAP4 SWAP1 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x4C07569 SWAP1 PUSH2 0x272B SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3025 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2743 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2757 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x277F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2E12 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x80 DUP3 ADD MLOAD DUP2 MLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 ISZERO PUSH2 0x24B9 JUMPI PUSH1 0x0 DUP1 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x293F JUMPI PUSH1 0x8 SLOAD DUP9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x4673FFA5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x8CE7FF4A SWAP2 PUSH2 0x27D7 SWAP2 DUP12 SWAP2 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x36AD JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x27EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2802 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2826 SWAP2 SWAP1 PUSH2 0x2F19 JUMP JUMPDEST PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x284E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x287A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP2 DUP4 LT DUP1 PUSH2 0x2891 JUMPI POP DUP1 DUP4 GT JUMPDEST ISZERO PUSH2 0x2929 JUMPI PUSH20 0x0 PUSH4 0x3002C9AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x28DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x28EE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2912 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x291C SWAP1 DUP12 PUSH2 0x3705 JUMP JUMPDEST PUSH2 0x2926 SWAP1 DUP7 PUSH2 0x36ED JUMP JUMPDEST SWAP5 POP JUMPDEST POP POP POP DUP1 DUP1 PUSH2 0x2937 SWAP1 PUSH2 0x375B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2799 JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x29F8 JUMPI DUP6 DUP2 GT PUSH2 0x2953 JUMPI DUP1 PUSH2 0x2955 JUMP JUMPDEST DUP6 JUMPDEST DUP8 SLOAD SWAP1 SWAP2 POP PUSH2 0x29A4 SWAP1 PUSH2 0x2968 DUP4 DUP10 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x566F74696E672050656E616C7479000000000000000000000000000000000000 DUP2 MSTORE POP DUP12 PUSH2 0x255C JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x29B1 DUP3 DUP3 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x29EA SWAP2 DUP13 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP PUSH2 0x2A48 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x2A05 DUP8 DUP3 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x2A3E SWAP2 DUP13 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP2 MLOAD PUSH2 0x100 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x60 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0xA0 DUP5 ADD DUP2 SWAP1 MSTORE SWAP4 DUP3 ADD SLOAD PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0x7 SWAP1 SWAP2 ADD SLOAD PUSH1 0xE0 DUP4 ADD MSTORE SWAP1 SWAP3 SWAP2 GT PUSH2 0x2ADA JUMPI DUP2 PUSH1 0x60 ADD MLOAD PUSH2 0x2AE0 JUMP JUMPDEST DUP2 PUSH1 0xA0 ADD MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2AEE DUP3 DUP6 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x0 PUSH2 0x2B02 DUP4 DUP4 PUSH2 0x850 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x2BAE JUMPI PUSH2 0x2B51 DUP6 PUSH1 0x0 ADD MLOAD DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x496E61637469766974792050656E616C74790000000000000000000000000000 DUP2 MSTORE POP DUP10 PUSH2 0x255C JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x2B5E DUP3 DUP5 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x2B6B SWAP2 SWAP1 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x2BA4 SWAP2 DUP11 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2C2C JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2C48 JUMPI PUSH2 0x2C48 PUSH2 0x378C JUMP JUMPDEST DUP1 DUP3 MUL PUSH2 0x2C56 DUP3 DUP3 ADD PUSH2 0x36C3 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP2 ADD SWAP1 DUP7 DUP5 ADD DUP4 DUP9 ADD DUP6 ADD DUP10 LT ISZERO PUSH2 0x2C70 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP7 SWAP4 POP JUMPDEST DUP6 DUP5 LT ISZERO PUSH2 0x2C92 JUMPI DUP1 MLOAD DUP4 MSTORE PUSH1 0x1 SWAP4 SWAP1 SWAP4 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 DUP5 ADD PUSH2 0x2C74 JUMP JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2CBF JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2CC8 DUP3 PUSH2 0x2C05 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2CE4 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x2CED DUP6 PUSH2 0x2C05 JUMP JUMPDEST SWAP4 POP PUSH2 0x2CFB PUSH1 0x20 DUP7 ADD PUSH2 0x2C05 JUMP JUMPDEST SWAP3 POP PUSH2 0x2D09 PUSH1 0x40 DUP7 ADD PUSH2 0x2C05 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D17 PUSH1 0x60 DUP7 ADD PUSH2 0x2C05 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D33 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2D49 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x2D55 DUP5 DUP3 DUP6 ADD PUSH2 0x2C1C JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D6E JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2CC8 DUP3 PUSH2 0x2C9E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D88 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2DA0 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2DB9 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x2DC9 PUSH1 0x20 DUP5 ADD PUSH2 0x2C05 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2DE3 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x2CC8 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E23 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2E3A JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP PUSH2 0x100 DUP1 DUP4 DUP8 SUB SLT ISZERO PUSH2 0x2E50 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x2E59 DUP2 PUSH2 0x36C3 JUMP JUMPDEST SWAP1 POP DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E70 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2E7C DUP8 DUP3 DUP7 ADD PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E93 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2E9F DUP8 DUP3 DUP7 ADD PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2EB6 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2EC2 DUP8 DUP3 DUP7 ADD PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2ED9 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2EE5 DUP8 DUP3 DUP7 ADD PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x2F0B PUSH1 0xE0 DUP5 ADD PUSH2 0x2C9E JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2F2A JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x40 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x2F4D JUMPI PUSH2 0x2F4D PUSH2 0x378C JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD MLOAD SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2F7B JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH2 0x2F8B PUSH1 0x20 DUP6 ADD PUSH2 0x2C05 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2FAD JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2FCD JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x2CC8 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND DUP2 MSTORE SWAP2 SWAP1 SWAP3 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x57697468647261772065706F6368206E6F742072656163686564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x19 SWAP1 DUP3 ADD MSTORE PUSH32 0x6661696C656420746F207472616E7366657220626F756E747900000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F6E706F736974697665207374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x13 SWAP1 DUP3 ADD MSTORE PUSH32 0x736368207472616E73666572206661696C656400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x636F756C646E74207472616E7366657200000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x50617274696369706174656420696E205769746864726177206C6F636B207065 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x72696F642C2043616E7420776974686472617700000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x13 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B657220646F65736E7420657869737400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x6 SWAP1 DUP3 ADD MSTORE PUSH32 0x6C6F636B65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xD SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B65722E6964203D203000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x496E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x616C726561647920636F6D6D6974656420746869732065706F63682E2043616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7420776974686472617700000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x446964206E6F7420756E7374616B650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F6E706F736974697665205374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x31 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B656420616D6F756E74206973206C657373207468616E206D696E696D PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x756D207374616B65207265717569726564000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 ADD SWAP1 POP DUP3 MLOAD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH1 0x20 DUP5 ADD MLOAD AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP4 ADD MLOAD PUSH1 0xE0 DUP4 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP8 DUP9 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 SWAP1 SWAP7 AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x60 DUP7 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP3 MSTORE PUSH1 0x20 DUP7 DUP2 DUP5 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP5 ADD MSTORE DUP6 MLOAD DUP1 PUSH1 0xA0 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3675 JUMPI DUP8 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP3 ADD PUSH2 0x3659 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x3686 JUMPI DUP4 PUSH1 0xC0 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xC0 PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x36E5 JUMPI PUSH2 0x36E5 PUSH2 0x378C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x3700 JUMPI PUSH2 0x3700 PUSH2 0x3776 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3720 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x373F JUMPI PUSH2 0x373F PUSH2 0x3776 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x3756 JUMPI PUSH2 0x3756 PUSH2 0x3776 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x376F JUMPI PUSH2 0x376F PUSH2 0x3776 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB INVALID DUP6 PUSH32 0xB450FFE39B03B26C745B3F18124D3671268E9CAD304D24ECAECE080964736F6C PUSH4 0x43000800 STOP CALLER ", - "sourceMap": "453:17208:10:-:0;;;1904:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;216:42:7;2408:4:0;247:10:7;216;:42::i;:::-;1949:11:10;:26;453:17208;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;6952:224::-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;3867:137::-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;586:96:3:-;665:10;586:96;:::o;14:194:28:-;;137:2;125:9;116:7;112:23;108:32;105:2;;;158:6;150;143:22;105:2;-1:-1:-1;186:16:28;;95:113;-1:-1:-1;95:113:28:o;:::-;453:17208:10;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:21600:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "65:147:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "75:29:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "97:6:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "84:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "84:20:28" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "75:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "190:16:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "199:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "202:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "192:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "192:12:28" - }, - "nodeType": "YulExpressionStatement", - "src": "192:12:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "126:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "137:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "144:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "133:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "133:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "123:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "123:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "116:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "116:73:28" - }, - "nodeType": "YulIf", - "src": "113:2:28" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "44:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "55:5:28", - "type": "" - } - ], - "src": "14:198:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "298:665:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "347:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "356:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "363:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "349:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "349:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "349:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "326:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "334:4:28", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "322:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "322:17:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "341:3:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "318:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "318:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "311:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "311:35:28" - }, - "nodeType": "YulIf", - "src": "308:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "380:23:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "396:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "390:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "390:13:28" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "384:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "412:14:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "422:4:28", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "416:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "465:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "467:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "467:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "467:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "441:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "445:18:28", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "438:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "438:26:28" - }, - "nodeType": "YulIf", - "src": "435:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "496:21:28", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "510:2:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "514:2:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "506:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "506:11:28" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "500:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "526:38:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "556:2:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "560:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "552:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "552:11:28" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "537:14:28" - }, - "nodeType": "YulFunctionCall", - "src": "537:27:28" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "530:3:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "573:16:28", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "586:3:28" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "577:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "605:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "610:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "598:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "598:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "598:15:28" - }, - { - "nodeType": "YulAssignment", - "src": "622:19:28", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "633:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "638:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "629:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "629:12:28" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "622:3:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "650:26:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "665:6:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "673:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "661:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "661:15:28" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "654:3:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "722:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "731:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "738:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "724:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "724:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "724:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "699:6:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "707:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "695:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "695:15:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "712:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "691:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "691:24:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "717:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "688:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "688:33:28" - }, - "nodeType": "YulIf", - "src": "685:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "755:14:28", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "764:5:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "759:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "823:111:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "844:3:28" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "855:3:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "849:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "849:10:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "837:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "837:23:28" - }, - "nodeType": "YulExpressionStatement", - "src": "837:23:28" - }, - { - "nodeType": "YulAssignment", - "src": "873:19:28", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "884:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "889:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "880:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "880:12:28" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "873:3:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "905:19:28", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "916:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "921:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "912:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "912:12:28" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "905:3:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "789:1:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "792:2:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "786:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "786:9:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "796:18:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "798:14:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "807:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "810:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "803:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "803:9:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "798:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "782:3:28", - "statements": [] - }, - "src": "778:156:28" - }, - { - "nodeType": "YulAssignment", - "src": "943:14:28", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "952:5:28" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "943:5:28" - } - ] - } - ] - }, - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "272:6:28", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "280:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "288:5:28", - "type": "" - } - ], - "src": "217:746:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1027:107:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1037:22:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1052:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1046:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1046:13:28" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1037:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1112:16:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1121:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1124:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1114:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1114:12:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1114:12:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1081:5:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1102:5:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1095:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1095:13:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1088:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1088:21:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1078:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1078:32:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1071:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1071:40:28" - }, - "nodeType": "YulIf", - "src": "1068:2:28" - } - ] - }, - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1006:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1017:5:28", - "type": "" - } - ], - "src": "968:166:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1209:128:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1255:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1264:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1272:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1257:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1257:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1257:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1230:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1239:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1226:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1226:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1251:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1222:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1222:32:28" - }, - "nodeType": "YulIf", - "src": "1219:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1290:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1321:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1300:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1300:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1290:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1175:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1186:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1198:6:28", - "type": "" - } - ], - "src": "1139:198:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1463:306:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1510:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1519:6:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1527:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1512:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1512:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1512:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1484:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1493:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1480:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1480:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1505:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1476:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1476:33:28" - }, - "nodeType": "YulIf", - "src": "1473:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1545:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1576:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1555:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1555:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1545:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1595:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1630:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1641:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1626:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1626:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1605:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1605:40:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1595:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1654:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1689:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1700:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1685:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1685:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1664:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1664:40:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1654:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1713:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1748:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1759:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1744:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1744:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1723:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1723:40:28" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1713:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1405:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1416:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1428:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1436:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1444:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1452:6:28", - "type": "" - } - ], - "src": "1342:427:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1880:283:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1926:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1935:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1943:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1928:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1928:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1928:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1901:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1910:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1897:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1897:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1922:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1893:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1893:32:28" - }, - "nodeType": "YulIf", - "src": "1890:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1961:30:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1981:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1975:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1975:16:28" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1965:6:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2034:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2043:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2051:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2036:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2036:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2036:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2006:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2014:18:28", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2003:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2003:30:28" - }, - "nodeType": "YulIf", - "src": "2000:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2069:88:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2129:9:28" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2140:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2125:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2125:22:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2149:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "2079:45:28" - }, - "nodeType": "YulFunctionCall", - "src": "2079:78:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2069:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1846:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1857:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1869:6:28", - "type": "" - } - ], - "src": "1774:389:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2246:136:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2292:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2301:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2309:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2294:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2294:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2294:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2267:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2276:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2263:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2263:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2288:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2259:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2259:32:28" - }, - "nodeType": "YulIf", - "src": "2256:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2327:49:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2366:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulIdentifier", - "src": "2337:28:28" - }, - "nodeType": "YulFunctionCall", - "src": "2337:39:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2327:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2212:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2223:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2235:6:28", - "type": "" - } - ], - "src": "2168:214:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2457:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2503:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2512:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2520:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2505:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2505:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2505:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2478:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2487:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2474:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2474:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2499:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2470:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2470:32:28" - }, - "nodeType": "YulIf", - "src": "2467:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2538:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2561:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2548:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2548:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2538:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2423:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2434:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2446:6:28", - "type": "" - } - ], - "src": "2387:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2663:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2709:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2718:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2726:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2711:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2711:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2711:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2684:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2693:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2680:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2680:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2705:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2676:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2676:32:28" - }, - "nodeType": "YulIf", - "src": "2673:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2744:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2760:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2754:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "2754:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2744:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2629:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2640:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2652:6:28", - "type": "" - } - ], - "src": "2582:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2868:179:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2914:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2923:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2931:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2916:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2916:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2916:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2889:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2898:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2885:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2885:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2910:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2881:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2881:32:28" - }, - "nodeType": "YulIf", - "src": "2878:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2949:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2972:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2959:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2959:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2949:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2991:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3026:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3037:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3022:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3022:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "3001:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "3001:40:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2991:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2826:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2837:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2849:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2857:6:28", - "type": "" - } - ], - "src": "2781:266:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3121:283:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3167:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3176:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3184:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3169:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3169:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3169:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3142:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3151:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3138:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3138:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3163:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3134:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3134:32:28" - }, - "nodeType": "YulIf", - "src": "3131:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3202:36:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3228:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3215:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "3215:23:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3206:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3348:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3357:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3365:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3350:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3350:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3350:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3260:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3271:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3278:66:28", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3267:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3267:78:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3257:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3257:89:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3250:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3250:97:28" - }, - "nodeType": "YulIf", - "src": "3247:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "3383:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3393:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3383:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3087:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3098:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3110:6:28", - "type": "" - } - ], - "src": "3052:352:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3513:1434:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3559:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3568:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3576:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3561:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3561:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3561:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3534:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3543:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3530:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3530:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3555:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3526:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3526:32:28" - }, - "nodeType": "YulIf", - "src": "3523:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3594:30:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3614:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3608:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3608:16:28" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3598:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3633:28:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3643:18:28", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3637:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3688:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3697:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3705:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3690:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3690:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3690:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3676:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3684:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3673:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3673:14:28" - }, - "nodeType": "YulIf", - "src": "3670:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3723:32:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3737:9:28" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3748:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3733:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3733:22:28" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "3727:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3764:16:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3774:6:28", - "type": "", - "value": "0x0100" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "3768:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3818:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3827:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3835:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3820:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3820:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3820:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3800:7:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3809:2:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3796:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3796:16:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3814:2:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3792:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3792:25:28" - }, - "nodeType": "YulIf", - "src": "3789:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3853:31:28", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3881:2:28" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "3866:14:28" - }, - "nodeType": "YulFunctionCall", - "src": "3866:18:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3857:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3900:5:28" - }, - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3913:2:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3907:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3907:9:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3893:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3893:24:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3893:24:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3926:34:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3952:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3956:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3948:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3948:11:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3942:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3942:18:28" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "3930:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3989:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3998:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4006:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3991:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3991:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3991:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "3975:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3985:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3972:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3972:16:28" - }, - "nodeType": "YulIf", - "src": "3969:2:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4035:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4042:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4031:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4031:14:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4097:2:28" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "4101:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4093:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4093:17:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4112:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4047:45:28" - }, - "nodeType": "YulFunctionCall", - "src": "4047:73:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4024:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4024:97:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4024:97:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4130:34:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4156:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4160:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4152:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4152:11:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4146:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4146:18:28" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "4134:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4193:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4202:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4210:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4195:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4195:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4195:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4179:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4189:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4176:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4176:16:28" - }, - "nodeType": "YulIf", - "src": "4173:2:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4239:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4246:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4235:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4235:14:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4301:2:28" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4305:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4297:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4297:17:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4316:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4251:45:28" - }, - "nodeType": "YulFunctionCall", - "src": "4251:73:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4228:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4228:97:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4228:97:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4334:34:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4360:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4364:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4356:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4356:11:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4350:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4350:18:28" - }, - "variables": [ - { - "name": "offset_3", - "nodeType": "YulTypedName", - "src": "4338:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4397:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4406:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4414:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4399:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4399:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4399:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "4383:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4393:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4380:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4380:16:28" - }, - "nodeType": "YulIf", - "src": "4377:2:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4443:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4450:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4439:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4439:14:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4505:2:28" - }, - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "4509:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4501:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4501:17:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4520:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4455:45:28" - }, - "nodeType": "YulFunctionCall", - "src": "4455:73:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4432:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4432:97:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4432:97:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4538:35:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4564:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4568:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4560:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4560:12:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4554:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4554:19:28" - }, - "variables": [ - { - "name": "offset_4", - "nodeType": "YulTypedName", - "src": "4542:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4602:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4611:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4619:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4604:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4604:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4604:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_4", - "nodeType": "YulIdentifier", - "src": "4588:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4598:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4585:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4585:16:28" - }, - "nodeType": "YulIf", - "src": "4582:2:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4648:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4655:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4644:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4644:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4711:2:28" - }, - { - "name": "offset_4", - "nodeType": "YulIdentifier", - "src": "4715:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4707:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4707:17:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4726:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4661:45:28" - }, - "nodeType": "YulFunctionCall", - "src": "4661:73:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4637:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4637:98:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4637:98:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4755:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4762:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4751:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4751:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4778:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4782:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4774:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4774:12:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4768:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4768:19:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4744:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4744:44:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4744:44:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4808:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4815:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4804:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4804:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4831:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4835:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4827:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4827:12:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4821:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4821:19:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4797:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4797:44:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4797:44:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4861:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4868:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4857:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4857:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4907:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4911:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4903:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4903:12:28" - } - ], - "functionName": { - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulIdentifier", - "src": "4874:28:28" - }, - "nodeType": "YulFunctionCall", - "src": "4874:42:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4850:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4850:67:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4850:67:28" - }, - { - "nodeType": "YulAssignment", - "src": "4926:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4936:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4926:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Block_$5550_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3479:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3490:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3502:6:28", - "type": "" - } - ], - "src": "3409:1538:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5055:405:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5101:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5110:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5118:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5103:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5103:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5103:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5076:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5085:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5072:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5072:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5097:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5068:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5068:32:28" - }, - "nodeType": "YulIf", - "src": "5065:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5136:23:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5156:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5150:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5150:9:28" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "5140:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5168:33:28", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5190:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5198:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5186:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5186:15:28" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "5172:10:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5276:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "5278:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "5278:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5278:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5219:10:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5231:18:28", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5216:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5216:34:28" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5255:10:28" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5267:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5252:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5252:22:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "5213:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5213:62:28" - }, - "nodeType": "YulIf", - "src": "5210:2:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5314:2:28", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5318:10:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5307:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5307:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5307:22:28" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5345:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5359:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5353:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5353:16:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5338:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5338:32:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5338:32:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5390:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5398:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5386:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5386:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5413:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5424:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5409:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5409:18:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5403:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5403:25:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5379:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5379:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5379:50:28" - }, - { - "nodeType": "YulAssignment", - "src": "5438:16:28", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5448:6:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5438:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Vote_$5512_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5021:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5032:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5044:6:28", - "type": "" - } - ], - "src": "4952:508:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5535:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5581:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5590:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5598:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5583:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5583:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5583:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5556:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5565:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5552:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5552:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5577:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5548:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5548:32:28" - }, - "nodeType": "YulIf", - "src": "5545:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "5616:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5639:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5626:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "5626:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5616:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5501:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5512:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5524:6:28", - "type": "" - } - ], - "src": "5465:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5741:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5787:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5796:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5804:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5789:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5789:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5789:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5762:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5771:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5758:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5758:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5783:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5754:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5754:32:28" - }, - "nodeType": "YulIf", - "src": "5751:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "5822:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5838:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5832:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5832:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5822:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5707:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5718:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5730:6:28", - "type": "" - } - ], - "src": "5660:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5963:230:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6009:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6018:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6026:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6011:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6011:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6011:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5984:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5993:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5980:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5980:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6005:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5976:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5976:32:28" - }, - "nodeType": "YulIf", - "src": "5973:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "6044:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6067:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6054:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6054:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6044:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6086:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6121:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6132:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6117:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6117:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "6096:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "6096:40:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6086:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6145:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6172:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6183:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6168:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6168:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6155:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6155:32:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6145:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5913:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5924:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5936:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5944:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "5952:6:28", - "type": "" - } - ], - "src": "5859:334:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6285:171:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6331:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6340:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6348:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6333:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6333:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6333:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6306:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6315:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6302:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6302:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6327:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6298:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6298:32:28" - }, - "nodeType": "YulIf", - "src": "6295:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "6366:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6389:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6376:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6376:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6366:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6408:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6435:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6446:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6431:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6431:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6418:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6418:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6408:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6243:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6254:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6266:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6274:6:28", - "type": "" - } - ], - "src": "6198:258:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6540:214:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6586:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6595:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6603:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6588:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6588:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6588:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6561:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6570:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6557:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6557:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6582:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6553:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6553:32:28" - }, - "nodeType": "YulIf", - "src": "6550:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6621:29:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6640:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6634:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "6634:16:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6625:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6698:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6707:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6715:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6700:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6700:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6700:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6672:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6683:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6690:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "6679:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6679:16:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "6669:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "6669:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6662:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6662:35:28" - }, - "nodeType": "YulIf", - "src": "6659:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "6733:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6743:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6733:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6506:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6517:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6529:6:28", - "type": "" - } - ], - "src": "6461:293:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6916:241:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6926:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6938:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6949:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6934:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6934:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6926:4:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6961:52:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6971:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "6965:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7029:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7044:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7052:2:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7040:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7040:15:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7022:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7022:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7022:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7076:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7087:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7072:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7072:18:28" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7096:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7104:2:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7092:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7092:15:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7065:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7065:43:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7065:43:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7128:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7139:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7124:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7124:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7144:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7117:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7117:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7117:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6869:9:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6880:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6888:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6896:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6907:4:28", - "type": "" - } - ], - "src": "6759:398:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7291:168:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7301:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7313:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7324:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7309:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7309:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7301:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7343:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7358:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7366:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7354:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7354:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7336:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7336:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7336:74:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7430:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7441:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7426:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7426:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7446:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7419:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7419:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7419:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7252:9:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7263:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7271:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7282:4:28", - "type": "" - } - ], - "src": "7162:297:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7559:92:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7569:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7581:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7592:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7577:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7577:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7569:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7611:9:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7636:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "7629:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7629:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "7622:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7622:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7604:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7604:41:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7604:41:28" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7528:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7539:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7550:4:28", - "type": "" - } - ], - "src": "7464:187:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7757:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7767:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7779:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7790:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7775:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7775:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7767:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7809:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7820:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7802:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7802:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7802:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7726:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7737:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7748:4:28", - "type": "" - } - ], - "src": "7656:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7961:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7971:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7983:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7994:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7979:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7979:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7971:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8013:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8028:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8036:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8024:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8024:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8006:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8006:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8006:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IBlockManager_$4640__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7930:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7941:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7952:4:28", - "type": "" - } - ], - "src": "7838:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8214:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8224:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8236:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8247:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8232:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8232:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8224:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8266:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8281:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8289:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8277:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8277:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8259:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8259:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8259:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStateManager_$4798__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8183:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8194:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8205:4:28", - "type": "" - } - ], - "src": "8091:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8466:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8476:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8488:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8499:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8484:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8484:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8476:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8518:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8533:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8541:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8529:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8529:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8511:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8511:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8511:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IVoteManager_$4886__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8435:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8446:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8457:4:28", - "type": "" - } - ], - "src": "8344:247:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8719:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8729:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8741:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8752:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8737:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8737:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8729:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8771:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8786:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8794:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8782:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8782:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8764:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8764:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8764:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_SchellingCoin_$5212__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8688:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8699:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8710:4:28", - "type": "" - } - ], - "src": "8596:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9023:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9040:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9051:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9033:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9033:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9033:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9074:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9085:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9070:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9070:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9090:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9063:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9063:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9063:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9113:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9124:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9109:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9109:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "9129:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9102:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9102:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9102:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9184:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9195:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9180:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9180:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "9200:17:28", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9173:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9173:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9173:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "9227:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9239:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9250:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9235:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9235:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9227:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9000:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9014:4:28", - "type": "" - } - ], - "src": "8849:411:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9439:176:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9456:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9467:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9449:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9449:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9449:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9490:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9501:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9486:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9486:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9506:2:28", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9479:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9479:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9479:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9529:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9540:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9525:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9525:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "9545:28:28", - "type": "", - "value": "Withdraw epoch not reached" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9518:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9518:56:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9518:56:28" - }, - { - "nodeType": "YulAssignment", - "src": "9583:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9595:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9606:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9591:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9591:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9583:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_2634de0e003793e166e3d97211813e50178a1fe7320c5468fddff641fa460575__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9416:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9430:4:28", - "type": "" - } - ], - "src": "9265:350:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9794:175:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9811:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9822:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9804:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9804:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9804:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9845:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9856:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9841:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9841:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9861:2:28", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9834:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9834:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9834:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9884:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9895:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9880:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9880:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "9900:27:28", - "type": "", - "value": "failed to transfer bounty" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9873:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9873:55:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9873:55:28" - }, - { - "nodeType": "YulAssignment", - "src": "9937:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9949:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9960:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9945:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9945:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9937:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_3d5bf2052aff186c28929fe02a490fd5212178072a98ef575ed3d58026bb8c39__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9771:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9785:4:28", - "type": "" - } - ], - "src": "9620:349:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10148:238:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10165:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10176:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10158:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10158:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10158:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10199:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10210:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10195:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10195:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10215:2:28", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10188:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10188:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10188:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10238:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10249:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10234:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10234:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "10254:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10227:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10227:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10227:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10309:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10320:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10305:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10305:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "10325:18:28", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10298:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10298:46:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10298:46:28" - }, - { - "nodeType": "YulAssignment", - "src": "10353:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10365:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10376:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10361:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10361:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10353:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10125:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10139:4:28", - "type": "" - } - ], - "src": "9974:412:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10565:167:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10582:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10593:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10575:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10575:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10575:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10616:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10627:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10612:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10612:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10632:2:28", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10605:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10605:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10605:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10655:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10666:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10651:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10651:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "10671:19:28", - "type": "", - "value": "Nonpositive stake" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10644:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10644:47:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10644:47:28" - }, - { - "nodeType": "YulAssignment", - "src": "10700:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10712:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10723:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10708:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10708:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10700:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6b3918663fb999eb0c08fb3a7f8a053517b9f7c80327988e2d6c66567da15b5a__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10542:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10556:4:28", - "type": "" - } - ], - "src": "10391:341:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10911:169:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10928:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10939:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10921:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10921:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10921:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10962:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10973:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10958:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10958:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10978:2:28", - "type": "", - "value": "19" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10951:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10951:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10951:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11001:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11012:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10997:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10997:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11017:21:28", - "type": "", - "value": "sch transfer failed" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10990:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10990:49:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10990:49:28" - }, - { - "nodeType": "YulAssignment", - "src": "11048:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11060:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11071:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11056:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11056:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11048:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7aaa5b67ce554abe16c4de620677e7c5af580dd691c9629dea90de09c6836b47__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10888:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10902:4:28", - "type": "" - } - ], - "src": "10737:343:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11259:166:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11276:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11287:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11269:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11269:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11269:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11310:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11321:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11306:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11306:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11326:2:28", - "type": "", - "value": "16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11299:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11299:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11299:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11349:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11360:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11345:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11345:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11365:18:28", - "type": "", - "value": "couldnt transfer" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11338:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11338:46:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11338:46:28" - }, - { - "nodeType": "YulAssignment", - "src": "11393:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11405:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11416:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11401:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11401:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11393:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_805d1088d8486a1f8aa0a66a0afc9b1041d76f1529ec36a6088491eaaf4f87f3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11236:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11250:4:28", - "type": "" - } - ], - "src": "11085:340:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11604:241:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11621:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11632:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11614:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11614:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11614:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11655:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11666:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11651:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11651:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11671:2:28", - "type": "", - "value": "51" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11644:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11644:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11644:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11694:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11705:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11690:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11690:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11710:34:28", - "type": "", - "value": "Participated in Withdraw lock pe" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11683:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11683:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11683:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11765:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11776:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11761:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11761:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11781:21:28", - "type": "", - "value": "riod, Cant withdraw" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11754:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11754:49:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11754:49:28" - }, - { - "nodeType": "YulAssignment", - "src": "11812:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11824:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11835:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11820:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11820:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11812:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_8c0f978acf8435b7df5019fed51409365d54b03cc05b322280c7239d75c06443__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11581:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11595:4:28", - "type": "" - } - ], - "src": "11430:415:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12024:165:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12041:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12052:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12034:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12034:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12034:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12075:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12086:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12071:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12071:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12091:2:28", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12064:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12064:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12064:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12114:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12125:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12110:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12110:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12130:17:28", - "type": "", - "value": "incorrect epoch" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12103:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12103:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12103:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "12157:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12169:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12180:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12165:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12165:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12157:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12001:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12015:4:28", - "type": "" - } - ], - "src": "11850:339:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12368:169:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12385:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12396:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12378:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12378:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12378:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12419:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12430:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12415:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12415:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12435:2:28", - "type": "", - "value": "19" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12408:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12408:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12408:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12458:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12469:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12454:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12454:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12474:21:28", - "type": "", - "value": "staker doesnt exist" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12447:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12447:49:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12447:49:28" - }, - { - "nodeType": "YulAssignment", - "src": "12505:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12517:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12528:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12513:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12513:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12505:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_a113a0c9b7ecb25bf74a95ce032f1c4492c26de43ba45cb480773d9125636f9b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12345:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12359:4:28", - "type": "" - } - ], - "src": "12194:343:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12716:155:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12733:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12744:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12726:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12726:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12726:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12767:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12778:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12763:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12763:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12783:1:28", - "type": "", - "value": "6" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12756:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12756:29:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12756:29:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12805:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12816:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12801:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12801:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12821:8:28", - "type": "", - "value": "locked" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12794:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12794:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12794:36:28" - }, - { - "nodeType": "YulAssignment", - "src": "12839:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12851:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12862:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12847:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12847:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12839:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ab99c6d7581cbb37d2e578d3097bfdd3323e05447f1fd7670b6c3a3fb9d9ff79__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12693:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12707:4:28", - "type": "" - } - ], - "src": "12542:329:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13050:176:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13067:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13078:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13060:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13060:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13060:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13101:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13112:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13097:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13097:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13117:2:28", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13090:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13090:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13090:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13140:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13151:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13136:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13136:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13156:28:28", - "type": "", - "value": "ACL: sender not authorized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13129:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13129:56:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13129:56:28" - }, - { - "nodeType": "YulAssignment", - "src": "13194:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13206:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13217:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13202:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13202:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13194:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13027:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13041:4:28", - "type": "" - } - ], - "src": "12876:350:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13405:163:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13422:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13433:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13415:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13415:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13415:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13456:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13467:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13452:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13452:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13472:2:28", - "type": "", - "value": "13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13445:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13445:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13445:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13495:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13506:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13491:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13491:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13511:15:28", - "type": "", - "value": "staker.id = 0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13484:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13484:43:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13484:43:28" - }, - { - "nodeType": "YulAssignment", - "src": "13536:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13548:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13559:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13544:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13544:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13536:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_bdab4eea84666b4ea254b28d59bb87847c43c977043418b35d698df21c02f227__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13382:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13396:4:28", - "type": "" - } - ], - "src": "13231:337:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13747:165:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13764:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13775:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13757:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13757:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13757:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13798:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13809:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13794:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13794:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13814:2:28", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13787:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13787:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13787:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13837:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13848:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13833:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13833:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13853:17:28", - "type": "", - "value": "Incorrect state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13826:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13826:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13826:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "13880:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13892:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13903:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13888:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13888:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13880:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ca26c3faaff56aa919715f58bb905a54a26bb23923d6ca4a5f99486cb2e50122__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13724:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13738:4:28", - "type": "" - } - ], - "src": "13573:339:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14091:232:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14108:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14119:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14101:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14101:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14101:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14142:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14153:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14138:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14138:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14158:2:28", - "type": "", - "value": "42" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14131:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14131:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14131:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14181:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14192:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14177:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14177:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14197:34:28", - "type": "", - "value": "already commited this epoch. Can" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14170:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14170:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14170:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14252:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14263:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14248:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14248:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14268:12:28", - "type": "", - "value": "t withdraw" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14241:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14241:40:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14241:40:28" - }, - { - "nodeType": "YulAssignment", - "src": "14290:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14302:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14313:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14298:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14298:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14290:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e28e7431deba574db0112ec0b937aaf1eb1cf46251a078d34bc069c9a6e2ba1e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14068:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14082:4:28", - "type": "" - } - ], - "src": "13917:406:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14502:165:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14519:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14530:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14512:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14512:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14512:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14553:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14564:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14549:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14549:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14569:2:28", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14542:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14542:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14542:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14592:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14603:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14588:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14588:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14608:17:28", - "type": "", - "value": "Did not unstake" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14581:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14581:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14581:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "14635:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14647:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14658:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14643:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14643:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14635:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e78ec75f598dcd03331f3963b6697277106610c26010b4ec4db871858b3a5b29__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14479:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14493:4:28", - "type": "" - } - ], - "src": "14328:339:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14846:165:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14863:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14874:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14856:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14856:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14856:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14897:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14908:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14893:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14893:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14913:2:28", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14886:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14886:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14886:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14936:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14947:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14932:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14932:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14952:17:28", - "type": "", - "value": "incorrect state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14925:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14925:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14925:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "14979:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14991:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15002:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14987:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14987:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14979:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14823:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14837:4:28", - "type": "" - } - ], - "src": "14672:339:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15190:167:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15207:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15218:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15200:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15200:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15200:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15241:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15252:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15237:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15237:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15257:2:28", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15230:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15230:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15230:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15280:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15291:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15276:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15276:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15296:19:28", - "type": "", - "value": "Nonpositive Stake" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15269:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15269:47:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15269:47:28" - }, - { - "nodeType": "YulAssignment", - "src": "15325:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15337:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15348:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15333:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15333:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15325:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f810ff1ebbf47d94f8225d3c6edf23be7b0290f78abb3c694a0753fdc11ea065__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15167:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15181:4:28", - "type": "" - } - ], - "src": "15016:341:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15536:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15553:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15564:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15546:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15546:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15546:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15587:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15598:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15583:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15583:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15603:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15576:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15576:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15576:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15626:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15637:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15622:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15622:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15642:34:28", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15615:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15615:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15615:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15697:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15708:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15693:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15693:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15713:17:28", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15686:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15686:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15686:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "15740:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15752:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15763:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15748:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15748:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15740:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15513:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15527:4:28", - "type": "" - } - ], - "src": "15362:411:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15952:239:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15969:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15980:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15962:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15962:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15962:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16003:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16014:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15999:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15999:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16019:2:28", - "type": "", - "value": "49" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15992:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15992:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15992:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16042:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16053:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16038:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16038:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16058:34:28", - "type": "", - "value": "staked amount is less than minim" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16031:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16031:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16031:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16113:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16124:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16109:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16109:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16129:19:28", - "type": "", - "value": "um stake required" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16102:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16102:47:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16102:47:28" - }, - { - "nodeType": "YulAssignment", - "src": "16158:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16170:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16181:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16166:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16166:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16158:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb68b1a04cb753747a8fd0228ce81c1b903ec58a44c6343bcbc04e0d2e45f04d__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15929:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15943:4:28", - "type": "" - } - ], - "src": "15778:413:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16345:574:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16355:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16367:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16378:3:28", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16363:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16363:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16355:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16398:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16415:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16409:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "16409:13:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16391:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16391:32:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16391:32:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16443:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16454:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16439:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16439:20:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16475:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16483:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16471:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16471:17:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16465:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "16465:24:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16491:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "16461:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16461:73:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16432:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16432:103:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16432:103:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16555:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16566:4:28", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16551:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16551:20:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16583:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16591:4:28", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16579:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16579:17:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16573:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "16573:24:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16544:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16544:54:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16544:54:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16618:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16629:4:28", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16614:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16614:20:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16646:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16654:4:28", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16642:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16642:17:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16636:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "16636:24:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16607:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16607:54:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16607:54:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16681:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16692:4:28", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16677:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16677:20:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16709:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16717:4:28", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16705:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16705:17:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16699:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "16699:24:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16670:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16670:54:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16670:54:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16744:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16755:4:28", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16740:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16740:20:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16772:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16780:4:28", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16768:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16768:17:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16762:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "16762:24:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16733:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16733:54:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16733:54:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16807:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16818:4:28", - "type": "", - "value": "0xc0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16803:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16803:20:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16835:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16843:4:28", - "type": "", - "value": "0xc0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16831:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16831:17:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16825:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "16825:24:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16796:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16796:54:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16796:54:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16870:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16881:4:28", - "type": "", - "value": "0xe0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16866:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16866:20:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16898:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16906:4:28", - "type": "", - "value": "0xe0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16894:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16894:17:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16888:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "16888:24:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16859:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16859:54:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16859:54:28" - } - ] - }, - "name": "abi_encode_tuple_t_struct$_Staker_$5529_memory_ptr__to_t_struct$_Staker_$5529_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16314:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "16325:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16336:4:28", - "type": "" - } - ], - "src": "16196:723:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17025:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17035:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17047:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17058:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17043:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17043:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17035:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17077:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17088:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17070:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17070:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17070:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16994:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17005:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17016:4:28", - "type": "" - } - ], - "src": "16924:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17403:431:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17413:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17425:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17436:3:28", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17421:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17421:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17413:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17456:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17467:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17449:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17449:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17449:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17494:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17505:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17490:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17490:18:28" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "17514:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17522:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "17510:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17510:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17483:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17483:83:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17483:83:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17586:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17597:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17582:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17582:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "17602:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17575:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17575:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17575:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17629:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17640:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17625:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17625:18:28" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "17645:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17618:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17618:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17618:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17672:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17683:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17668:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17668:19:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "17689:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17661:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17661:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17661:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17716:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17727:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17712:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17712:19:28" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "17733:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17705:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17705:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17705:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17760:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17771:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17756:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17756:19:28" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "17777:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17749:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17749:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17749:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17804:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17815:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17800:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17800:19:28" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "17821:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17793:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17793:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17793:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17316:9:28", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "17327:6:28", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "17335:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "17343:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "17351:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "17359:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "17367:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "17375:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17383:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17394:4:28", - "type": "" - } - ], - "src": "17106:728:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17968:119:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17978:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17990:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18001:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17986:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17986:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17978:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18020:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18031:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18013:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18013:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18013:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18058:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18069:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18054:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18054:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18074:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18047:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18047:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18047:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17929:9:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "17940:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17948:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17959:4:28", - "type": "" - } - ], - "src": "17839:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18285:206:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18295:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18307:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18318:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18303:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18303:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18295:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18338:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18349:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18331:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18331:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18331:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18376:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18387:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18372:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18372:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18392:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18365:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18365:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18365:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18419:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18430:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18415:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18415:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "18435:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18408:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18408:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18408:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18462:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18473:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18458:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18458:18:28" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "18478:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18451:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18451:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18451:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_rational_0_by_1_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18230:9:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "18241:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "18249:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18257:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18265:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18276:4:28", - "type": "" - } - ], - "src": "18092:399:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18729:660:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18746:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18757:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18739:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18739:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18739:25:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18773:12:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18783:2:28", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "18777:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18805:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "18816:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18801:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18801:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18821:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18794:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18794:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18794:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18848:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18859:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18844:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18844:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18864:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18837:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18837:31:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18837:31:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18877:27:28", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "18897:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "18891:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "18891:13:28" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "18881:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18924:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18935:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18920:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "18920:19:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "18941:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18913:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "18913:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "18913:35:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18957:13:28", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18966:4:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "18961:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19029:91:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19058:9:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19069:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19054:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19054:17:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19073:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19050:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19050:27:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "19093:6:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19101:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19089:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19089:14:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19105:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19085:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19085:23:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "19079:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "19079:30:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19043:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19043:67:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19043:67:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "18990:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "18993:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "18987:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "18987:13:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "19001:19:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19003:15:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19012:1:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19015:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19008:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19008:10:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19003:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "18983:3:28", - "statements": [] - }, - "src": "18979:141:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19154:70:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19183:9:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19194:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19179:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19179:22:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19203:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19175:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19175:32:28" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19209:4:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19168:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19168:46:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19168:46:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19135:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19138:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "19132:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "19132:13:28" - }, - "nodeType": "YulIf", - "src": "19129:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "19233:63:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19249:9:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19268:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19276:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19264:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19264:15:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19285:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "19281:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19281:7:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "19260:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19260:29:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19245:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19245:45:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19292:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19241:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19241:55:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19233:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19316:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19327:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19312:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19312:18:28" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "19332:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19305:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19305:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19305:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19359:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19370:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19355:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19355:19:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "19376:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19348:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19348:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19348:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18666:9:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "18677:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "18685:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "18693:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18701:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18709:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18720:4:28", - "type": "" - } - ], - "src": "18496:893:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19551:162:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19561:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19573:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19584:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19569:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19569:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19561:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19603:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "19614:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19596:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19596:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19596:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19641:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19652:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19637:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19637:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "19657:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19630:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19630:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19630:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19684:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19695:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19680:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19680:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "19700:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19673:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19673:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19673:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19504:9:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "19515:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "19523:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "19531:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19542:4:28", - "type": "" - } - ], - "src": "19394:319:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19903:206:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19913:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19925:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19936:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19921:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19921:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19913:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19956:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "19967:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19949:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19949:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19949:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19994:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20005:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19990:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "19990:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "20010:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19983:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "19983:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "19983:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20037:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20048:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20033:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20033:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "20053:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20026:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20026:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20026:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20080:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20091:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20076:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20076:18:28" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "20096:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20069:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20069:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20069:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19848:9:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "19859:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "19867:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "19875:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "19883:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19894:4:28", - "type": "" - } - ], - "src": "19718:391:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20158:207:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20168:19:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20184:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "20178:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "20178:9:28" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "20168:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20196:35:28", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "20218:6:28" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "20226:4:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20214:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20214:17:28" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "20200:10:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20306:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "20308:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "20308:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20308:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "20249:10:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20261:18:28", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "20246:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "20246:34:28" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "20285:10:28" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "20297:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "20282:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "20282:22:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "20243:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "20243:62:28" - }, - "nodeType": "YulIf", - "src": "20240:2:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20344:2:28", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "20348:10:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20337:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20337:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20337:22:28" - } - ] - }, - "name": "allocateMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "20138:4:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "20147:6:28", - "type": "" - } - ], - "src": "20114:251:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20418:80:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "20445:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "20447:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "20447:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20447:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20434:1:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20441:1:28" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "20437:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20437:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "20431:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "20431:13:28" - }, - "nodeType": "YulIf", - "src": "20428:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "20476:16:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20487:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20490:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20483:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20483:9:28" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "20476:3:28" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "20401:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "20404:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "20410:3:28", - "type": "" - } - ], - "src": "20370:128:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20549:228:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "20580:168:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "20601:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20604:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20594:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20594:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20594:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20702:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20705:4:28", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20695:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20695:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20695:15:28" - }, - { - "expression": { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "20730:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20733:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "20723:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20723:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20723:15:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20569:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "20562:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20562:9:28" - }, - "nodeType": "YulIf", - "src": "20559:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "20757:14:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20766:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20769:1:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "20762:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20762:9:28" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "20757:1:28" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "20534:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "20537:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "20543:1:28", - "type": "" - } - ], - "src": "20503:274:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20834:116:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "20893:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "20895:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "20895:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "20895:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20865:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "20858:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20858:9:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "20851:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "20851:17:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20873:1:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20884:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "20880:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20880:6:28" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20888:1:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "20876:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20876:14:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "20870:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "20870:21:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "20847:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20847:45:28" - }, - "nodeType": "YulIf", - "src": "20844:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "20924:20:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20939:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20942:1:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "20935:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "20935:9:28" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "20924:7:28" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "20813:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "20816:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "20822:7:28", - "type": "" - } - ], - "src": "20782:168:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21004:76:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "21026:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "21028:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "21028:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21028:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "21020:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "21023:1:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "21017:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "21017:8:28" - }, - "nodeType": "YulIf", - "src": "21014:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "21057:17:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "21069:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "21072:1:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21065:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21065:9:28" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "21057:4:28" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "20986:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "20989:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "20995:4:28", - "type": "" - } - ], - "src": "20955:125:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21132:88:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "21163:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "21165:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "21165:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21165:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "21148:5:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21159:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "21155:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21155:6:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "21145:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "21145:17:28" - }, - "nodeType": "YulIf", - "src": "21142:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "21194:20:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "21205:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21212:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21201:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "21201:13:28" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "21194:3:28" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "21114:5:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "21124:3:28", - "type": "" - } - ], - "src": "21085:135:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21257:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21274:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21277:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21267:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21267:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21267:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21371:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21374:4:28", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21364:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21364:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21364:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21395:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21398:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "21388:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21388:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21388:15:28" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "21225:184:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21446:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21463:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21466:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21456:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21456:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21456:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21560:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21563:4:28", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21553:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21553:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21553:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21584:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21587:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "21577:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "21577:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "21577:15:28" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "21414:184:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_t_array$_t_uint256_$dyn_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := mload(offset)\n let _2 := 0x20\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let _3 := mul(_1, _2)\n let dst := allocateMemory(add(_3, _2))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let src := add(offset, _2)\n if gt(add(add(offset, _3), _2), end) { revert(array, array) }\n let i := array\n for { } lt(i, _1) { i := add(i, 1) }\n {\n mstore(dst, mload(src))\n dst := add(dst, _2)\n src := add(src, _2)\n }\n array := dst_1\n }\n function abi_decode_t_bool_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n }\n function abi_decode_tuple_t_addresst_addresst_addresst_address(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(value1, value1) }\n value0 := abi_decode_t_address(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n value2 := abi_decode_t_address(add(headStart, 64))\n value3 := abi_decode_t_address(add(headStart, 96))\n }\n function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let offset := mload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(value0, value0) }\n value0 := abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_bool_fromMemory(headStart)\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Block_$5550_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(value0, value0) }\n let _2 := add(headStart, offset)\n let _3 := 0x0100\n if slt(sub(dataEnd, _2), _3) { revert(value0, value0) }\n let value := allocateMemory(_3)\n mstore(value, mload(_2))\n let offset_1 := mload(add(_2, 32))\n if gt(offset_1, _1) { revert(value0, value0) }\n mstore(add(value, 32), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 64))\n if gt(offset_2, _1) { revert(value0, value0) }\n mstore(add(value, 64), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_2), dataEnd))\n let offset_3 := mload(add(_2, 96))\n if gt(offset_3, _1) { revert(value0, value0) }\n mstore(add(value, 96), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_3), dataEnd))\n let offset_4 := mload(add(_2, 128))\n if gt(offset_4, _1) { revert(value0, value0) }\n mstore(add(value, 128), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_4), dataEnd))\n mstore(add(value, 160), mload(add(_2, 160)))\n mstore(add(value, 192), mload(add(_2, 192)))\n mstore(add(value, 224), abi_decode_t_bool_fromMemory(add(_2, 224)))\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Vote_$5512_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, 64)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, mload(headStart))\n mstore(add(memPtr, 32), mload(add(headStart, 32)))\n value0 := memPtr\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint256t_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, 0xff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_contract$_IBlockManager_$4640__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IStateManager_$4798__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IVoteManager_$4886__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_SchellingCoin_$5212__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_2634de0e003793e166e3d97211813e50178a1fe7320c5468fddff641fa460575__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Withdraw epoch not reached\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3d5bf2052aff186c28929fe02a490fd5212178072a98ef575ed3d58026bb8c39__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"failed to transfer bounty\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_6b3918663fb999eb0c08fb3a7f8a053517b9f7c80327988e2d6c66567da15b5a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"Nonpositive stake\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_7aaa5b67ce554abe16c4de620677e7c5af580dd691c9629dea90de09c6836b47__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"sch transfer failed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_805d1088d8486a1f8aa0a66a0afc9b1041d76f1529ec36a6088491eaaf4f87f3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"couldnt transfer\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_8c0f978acf8435b7df5019fed51409365d54b03cc05b322280c7239d75c06443__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"Participated in Withdraw lock pe\")\n mstore(add(headStart, 96), \"riod, Cant withdraw\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect epoch\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a113a0c9b7ecb25bf74a95ce032f1c4492c26de43ba45cb480773d9125636f9b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"staker doesnt exist\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ab99c6d7581cbb37d2e578d3097bfdd3323e05447f1fd7670b6c3a3fb9d9ff79__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"locked\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"ACL: sender not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_bdab4eea84666b4ea254b28d59bb87847c43c977043418b35d698df21c02f227__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"staker.id = 0\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ca26c3faaff56aa919715f58bb905a54a26bb23923d6ca4a5f99486cb2e50122__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Incorrect state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e28e7431deba574db0112ec0b937aaf1eb1cf46251a078d34bc069c9a6e2ba1e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"already commited this epoch. Can\")\n mstore(add(headStart, 96), \"t withdraw\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_e78ec75f598dcd03331f3963b6697277106610c26010b4ec4db871858b3a5b29__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Did not unstake\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_f810ff1ebbf47d94f8225d3c6edf23be7b0290f78abb3c694a0753fdc11ea065__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"Nonpositive Stake\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb68b1a04cb753747a8fd0228ce81c1b903ec58a44c6343bcbc04e0d2e45f04d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 49)\n mstore(add(headStart, 64), \"staked amount is less than minim\")\n mstore(add(headStart, 96), \"um stake required\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_struct$_Staker_$5529_memory_ptr__to_t_struct$_Staker_$5529_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 256)\n mstore(headStart, mload(value0))\n mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 0x40), mload(add(value0, 0x40)))\n mstore(add(headStart, 0x60), mload(add(value0, 0x60)))\n mstore(add(headStart, 0x80), mload(add(value0, 0x80)))\n mstore(add(headStart, 0xa0), mload(add(value0, 0xa0)))\n mstore(add(headStart, 0xc0), mload(add(value0, 0xc0)))\n mstore(add(headStart, 0xe0), mload(add(value0, 0xe0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 256)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), value6)\n mstore(add(headStart, 224), value7)\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_rational_0_by_1_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n let _1 := 32\n mstore(add(headStart, _1), value1)\n mstore(add(headStart, 64), 160)\n let length := mload(value2)\n mstore(add(headStart, 160), length)\n let i := tail\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 192), mload(add(add(value2, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 192), tail)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 192)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function allocateMemory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, size)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(r, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(r, 0x24)\n }\n r := div(x, y)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1364 - }, - { - "length": 20, - "start": 1809 - }, - { - "length": 20, - "start": 2150 - }, - { - "length": 20, - "start": 2274 - }, - { - "length": 20, - "start": 2666 - }, - { - "length": 20, - "start": 3114 - }, - { - "length": 20, - "start": 3481 - }, - { - "length": 20, - "start": 3922 - }, - { - "length": 20, - "start": 4725 - }, - { - "length": 20, - "start": 4941 - }, - { - "length": 20, - "start": 5613 - }, - { - "length": 20, - "start": 5904 - }, - { - "length": 20, - "start": 6195 - }, - { - "length": 20, - "start": 6657 - }, - { - "length": 20, - "start": 7029 - }, - { - "length": 20, - "start": 7326 - }, - { - "length": 20, - "start": 7735 - }, - { - "length": 20, - "start": 7903 - }, - { - "length": 20, - "start": 10392 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50600436106102265760003560e01c80636022a4851161012a578063bc788d46116100bd578063d9169b321161008c578063f580ffcb11610071578063f580ffcb14610433578063fabb989014610446578063fd5e6dd11461045957610226565b8063d9169b321461040b578063e3c998fe1461041357610226565b8063bc788d46146103d5578063c584bb9f146103dd578063c8ae0d7d146103e5578063d547741f146103f857610226565b80637b0472f0116100f95780637b0472f01461039457806391d14854146103a75780639864f70a146103ba578063a217fddf146103cd57610226565b80636022a4851461035e57806366666aa9146103715780636c8b052a14610379578063746c8b651461038157610226565b80631b8b13a7116101bd5780632e716fb11161018c57806336568abe1161017157806336568abe1461033057806342c1e5871461034357806354eae15e1461034b57610226565b80632e716fb1146103085780632f2ff15d1461031d57610226565b80631b8b13a7146102c7578063248a9ca3146102cf5780632e17de78146102e25780632e1a7d4d146102f557610226565b80630f91ce19116101f95780630f91ce1914610286578063188dc83b146102995780631a69f008146102ac5780631ad54991146102bf57610226565b806301ffc9a71461022b57806306552ff3146102545780630ac168a1146102695780630ec88d3f1461027e575b600080fd5b61023e610239366004612dd2565b610480565b60405161024b919061301a565b60405180910390f35b610267610262366004612ccf565b6104de565b005b610271610546565b60405161024b9190613025565b61027161054c565b610267610294366004612f67565b610552565b6102676102a7366004612d77565b61070f565b6102716102ba366004612f9b565b610850565b6102716109ad565b6102716109b3565b6102716102dd366004612d77565b6109b9565b6102676102f0366004612d77565b6109ce565b610267610303366004612d77565b610cfd565b6103106111d5565b60405161024b919061302e565b61026761032b366004612da7565b6111e4565b61026761033e366004612da7565b611222565b610310611264565b610267610359366004612f9b565b611273565b61027161036c366004612cae565b611324565b61027161133f565b610271611345565b61026761038f366004612f9b565b61134b565b6102676103a2366004612f9b565b611551565b61023e6103b5366004612da7565b611c73565b6102676103c8366004612f9b565b611c9c565b610271611d54565b610271611d59565b610310611d5f565b6102716103f3366004612cae565b611d6e565b610267610406366004612da7565b611d80565b610310611da8565b610426610421366004612d77565b611db7565b60405161024b9190613572565b610267610441366004612d77565b611e35565b610267610454366004612f9b565b611edd565b61046c610467366004612d77565b6124c3565b60405161024b9897969594939291906135d4565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104d657506104d682612512565b90505b919050565b600780546001600160a01b039586167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560088054948616948216949094179093556009805492851692841692909217909155600a8054919093169116179055565b60015481565b60045481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561059657600080fd5b505af41580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce9190612d8f565b6105d88133611c73565b6105fd5760405162461bcd60e51b81526004016105f490613311565b60405180910390fd5b600084815260066020526040812060029081015461061b9190613705565b905061065f8560006040518060400160405280600781526020017f536c6173686564000000000000000000000000000000000000000000000000008152508661255c565b60018111156107085760075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061069a9087908590600401613001565b602060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ec9190612d5d565b6107085760405162461bcd60e51b81526004016105f4906130d6565b5050505050565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561075357600080fd5b505af4158015610767573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078b9190612d8f565b6107958133611c73565b6107b15760405162461bcd60e51b81526004016105f490613311565b600a60009054906101000a90046001600160a01b03166001600160a01b031663757991a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108379190612d8f565b6000928352600660205260409092206004019190915550565b6000600a8310156108625750806109a7565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1cc45006040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a857600080fd5b505af41580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e09190612d8f565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a86f5a3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561092457600080fd5b505af4158015610938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095c9190612d8f565b6109669085613725565b610971600187613744565b61097b9190613725565b6109859190613705565b9050828110156109a1576109998184613744565b9150506109a7565b60009150505b92915050565b60045490565b60035490565b60009081526020819052604090206001015490565b600a5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190612d8f565b8114610a685760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610aac57600080fd5b505af4158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae49190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3557600080fd5b505afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d9190612d8f565b8114610b8b5760405162461bcd60e51b81526004016105f49061344a565b3360009081526005602090815260408083205480845260069092529091208054610bc75760405162461bcd60e51b81526004016105f490613348565b6000816002015411610beb5760405162461bcd60e51b81526004016105f49061316a565b84816006015411158015610c025750600681015415155b610c1e5760405162461bcd60e51b81526004016105f4906132da565b6000816006018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6c57600080fd5b505af4158015610c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca49190612d8f565b610cae90866136ed565b6007820155600281015460405183917f0cfbc484edc798d2584502ca0d64e7e9514b8dd091d96a2a5b4deb58478da19e91610cee91899181904290613621565b60405180910390a25050505050565b600a5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d4157600080fd5b505afa158015610d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d799190612d8f565b8114610d975760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ddb57600080fd5b505af4158015610def573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e139190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6457600080fd5b505afa158015610e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9c9190612d8f565b8114610eba5760405162461bcd60e51b81526004016105f49061344a565b3360009081526005602090815260408083205480845260069092529091208054610ef65760405162461bcd60e51b81526004016105f4906132a3565b600681015415610f185760405162461bcd60e51b81526004016105f490613413565b84816007015411158015610f2f5750600781015415155b610f4b5760405162461bcd60e51b81526004016105f49061309f565b806005015473__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9457600080fd5b505af4158015610fa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcc9190612d8f565b8260070154610fdb9190613744565b1015610ff95760405162461bcd60e51b81526004016105f49061320f565b6008546040517f7164f0d60000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637164f0d6906110449088908690600401613613565b60206040518083038186803b15801561105c57600080fd5b505afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190612d8f565b156110b15760405162461bcd60e51b81526004016105f4906133b6565b60008160020154116110d55760405162461bcd60e51b81526004016105f490613481565b6000828152600660205260408082206002018054908390559051909184917f0a6fecee2c95fc6b4c7f291e3435a3a832bcd700c2a7ffdedd8c909d56dfa49f91611125918a919081904290613621565b60405180910390a260075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061115f9033908590600401613001565b602060405180830381600087803b15801561117957600080fd5b505af115801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b19190612d5d565b6111cd5760405162461bcd60e51b81526004016105f4906131d8565b505050505050565b600a546001600160a01b031681565b6111f86111f0836109b9565b6103b56125ae565b6112145760405162461bcd60e51b81526004016105f490613042565b61121e82826125b2565b5050565b61122a6125ae565b6001600160a01b0316816001600160a01b03161461125a5760405162461bcd60e51b81526004016105f4906134b8565b61121e8282612637565b6008546001600160a01b031681565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b757600080fd5b505af41580156112cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ef9190612d8f565b6112f98133611c73565b6113155760405162461bcd60e51b81526004016105f490613311565b61131f83836126ba565b505050565b6001600160a01b031660009081526005602052604090205490565b60035481565b60025481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561138f57600080fd5b505af41580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c79190612d8f565b6113d18133611c73565b6113ed5760405162461bcd60e51b81526004016105f490613311565b60015415611502576001546000848152600660205260408120600201549091611415916136ed565b905061145884826040518060400160405280600c81526020017f426c6f636b2052657761726400000000000000000000000000000000000000008152508661255c565b6007546001546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b03909216916340c10f19916114a591309190600401613001565b602060405180830381600087803b1580156114bf57600080fd5b505af11580156114d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f79190612d5d565b61150057600080fd5b505b6004805460009182905560405190917feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916115439186918591904290613621565b60405180910390a150505050565b600a5460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561159557600080fd5b505afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cd9190612d8f565b81146115eb5760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561162f57600080fd5b505af4158015611643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116679190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116b857600080fd5b505afa1580156116cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f09190612d8f565b811461170e5760405162461bcd60e51b81526004016105f49061344a565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561175257600080fd5b505af4158015611766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178a9190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117db57600080fd5b505afa1580156117ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118139190612d8f565b14156118315760405162461bcd60e51b81526004016105f49061337f565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561187557600080fd5b505af4158015611889573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ad9190612d8f565b8310156118cc5760405162461bcd60e51b81526004016105f490613515565b6007546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906323b872dd9061191990339030908890600401612fdd565b602060405180830381600087803b15801561193357600080fd5b505af1158015611947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196b9190612d5d565b6119875760405162461bcd60e51b81526004016105f4906131a1565b3360009081526005602090815260408083205480845260069092529091206002015481611b3c576002546119bc9060016136ed565b6002819055506040518061010001604052806002548152602001336001600160a01b03168152602001868152602001878152602001600081526020016000815260200173__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611a4357600080fd5b505af4158015611a57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7b9190612d8f565b611a8590896136ed565b8152600060209182018190526002805482526006808452604080842086518155868601516001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039092169190911790558682015181850155606087015160038201556080870151600482015560a087015160058083019190915560c08801519382019390935560e09096015160079096019590955590543383529252919091208190559150611c17565b600082815260066020526040902060020154611b599086906136ed565b600660008481526020019081526020016000206002018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611bb757600080fd5b505af4158015611bcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bef9190612d8f565b611bf990876136ed565b60008381526006602081905260408220908101929092556007909101555b817f52d3b6bf695a499d39fcdb47e3b450c09f2f6aa091ca8809cc51c00e705996cc8783600660008781526020019081526020016000206002015442604051611c639493929190613621565b60405180910390a2505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ce057600080fd5b505af4158015611cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d189190612d8f565b611d228133611c73565b611d3e5760405162461bcd60e51b81526004016105f490613311565b5060009182526006602052604090912060050155565b600081565b60025490565b6007546001600160a01b031681565b60056020526000908152604090205481565b611d8c6111f0836109b9565b61125a5760405162461bcd60e51b81526004016105f49061310d565b6009546001600160a01b031681565b611dbf612bb7565b506000908152600660208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a08201529082015460c082015260079091015460e082015290565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1a627816040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7957600080fd5b505af4158015611e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb19190612d8f565b611ebb8133611c73565b611ed75760405162461bcd60e51b81526004016105f490613311565b50600155565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b158015611f2157600080fd5b505af4158015611f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f599190612d8f565b611f638133611c73565b611f7f5760405162461bcd60e51b81526004016105f490613311565b600454611f8b5761131f565b6000838152600660208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a082018190529183015460c082015260079092015460e08301526120098185613744565b60011461201757505061131f565b6009546040517f378ab9a90000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063378ab9a990612061908590600401613025565b60006040518083038186803b15801561207957600080fd5b505afa15801561208d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120b59190810190612d22565b6009546040517fd2a4669a0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063d2a4669a90612104908690600401613025565b60006040518083038186803b15801561211c57600080fd5b505afa158015612130573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121589190810190612d22565b6009546040517ffae4425d0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063fae4425d906121a7908790600401613025565b60006040518083038186803b1580156121bf57600080fd5b505afa1580156121d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121fb9190810190612d22565b8251909150156124b9576000805b8351811015612360576008548751604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a91612247918b9187906004016136ad565b604080518083038186803b15801561225e57600080fd5b505afa158015612272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122969190612f19565b60000151905060008683815181106122be57634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008684815181106122ea57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600086858151811061231657634e487b7160e01b600052603260045260246000fd5b602002602001015190508284148061233657508184118061233657508084105b15612349576123468660016136ed565b95505b5050505080806123589061375b565b915050612209565b50600083516004546123729190613725565b8260035489604001516123859190613725565b61238f9190613725565b6123999190613705565b905080156124b65760045460408801518110156123b75760006123c9565b87604001516004546123c99190613744565b60048190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612402918d9185914290613621565b60405180910390a1600082896040015161241c91906136ed565b60035490915061242c8482613744565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612465918f9185914290613621565b60405180910390a16124b28a60000151836040518060400160405280600e81526020017f566f74696e6720526577617264730000000000000000000000000000000000008152508f61255c565b5050505b50505b5050505050505050565b60066020819052600091825260409091208054600182015460028301546003840154600485015460058601549686015460079096015494966001600160a01b0390941695929491939092909188565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b60008481526006602052604090819020600201805490859055905185907fab9982d99de79485b3cd6d1e72c881fd0342f42f1cbc7d220d4f373b97c4f36390610cee908490889088908890429061363c565b3390565b6125bc8282611c73565b61121e576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556125f36125ae565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6126418282611c73565b1561121e576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556126766125ae565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6126c48282612a53565b6000828152600660205260408082206002810154600582015460095493517f04c075690000000000000000000000000000000000000000000000000000000081529294919390926001600160a01b03909116906304c075699061272b908590600401613025565b60006040518083038186803b15801561274357600080fd5b505afa158015612757573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261277f9190810190612e12565b6060810151608082015181519293509091156124b9576000805b835181101561293f576008548854604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a916127d7918b9187906004016136ad565b604080518083038186803b1580156127ee57600080fd5b505afa158015612802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128269190612f19565b600001519050600085838151811061284e57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085848151811061287a57634e487b7160e01b600052603260045260246000fd5b602002602001015190508183108061289157508083115b156129295773__$cb76aa8097a3c0beaf107a478aa049bae7$__633002c9ac6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128da57600080fd5b505af41580156128ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129129190612d8f565b61291c908b613705565b61292690866136ed565b94505b50505080806129379061375b565b915050612799565b5080156129f8578581116129535780612955565b855b87549091506129a4906129688389613744565b6040518060400160405280600e81526020017f566f74696e672050656e616c74790000000000000000000000000000000000008152508b61255c565b6003546129b182826136ed565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff4916129ea918c9185914290613621565b60405180910390a150612a48565b600454612a0587826136ed565b60048190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612a3e918c9185914290613621565b60405180910390a1505b505050505050505050565b60008281526006602081815260408084208151610100810183528154815260018201546001600160a01b03169381019390935260028101549183019190915260038101546060830181905260048201546080840152600582015460a084018190529382015460c084015260079091015460e083015290929111612ada578160600151612ae0565b8160a001515b90506000612aee8285613744565b60408401519091506000612b028383610850565b905081811015612bae57612b518560000151826040518060400160405280601281526020017f496e61637469766974792050656e616c747900000000000000000000000000008152508961255c565b600354612b5e8284613744565b600354612b6b91906136ed565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612ba4918a9185914290613621565b60405180910390a1505b50505050505050565b6040518061010001604052806000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b80356001600160a01b03811681146104d957600080fd5b600082601f830112612c2c578081fd5b8151602067ffffffffffffffff821115612c4857612c4861378c565b808202612c568282016136c3565b838152828101908684018388018501891015612c70578687fd5b8693505b85841015612c92578051835260019390930192918401918401612c74565b50979650505050505050565b805180151581146104d957600080fd5b600060208284031215612cbf578081fd5b612cc882612c05565b9392505050565b60008060008060808587031215612ce4578283fd5b612ced85612c05565b9350612cfb60208601612c05565b9250612d0960408601612c05565b9150612d1760608601612c05565b905092959194509250565b600060208284031215612d33578081fd5b815167ffffffffffffffff811115612d49578182fd5b612d5584828501612c1c565b949350505050565b600060208284031215612d6e578081fd5b612cc882612c9e565b600060208284031215612d88578081fd5b5035919050565b600060208284031215612da0578081fd5b5051919050565b60008060408385031215612db9578182fd5b82359150612dc960208401612c05565b90509250929050565b600060208284031215612de3578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612cc8578182fd5b600060208284031215612e23578081fd5b815167ffffffffffffffff80821115612e3a578283fd5b8184019150610100808387031215612e50578384fd5b612e59816136c3565b905082518152602083015182811115612e70578485fd5b612e7c87828601612c1c565b602083015250604083015182811115612e93578485fd5b612e9f87828601612c1c565b604083015250606083015182811115612eb6578485fd5b612ec287828601612c1c565b606083015250608083015182811115612ed9578485fd5b612ee587828601612c1c565b60808301525060a083015160a082015260c083015160c0820152612f0b60e08401612c9e565b60e082015295945050505050565b600060408284031215612f2a578081fd5b6040516040810181811067ffffffffffffffff82111715612f4d57612f4d61378c565b604052825181526020928301519281019290925250919050565b600080600060608486031215612f7b578283fd5b83359250612f8b60208501612c05565b9150604084013590509250925092565b60008060408385031215612fad578182fd5b50508035926020909101359150565b600060208284031215612fcd578081fd5b815160ff81168114612cc8578182fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252601a908201527f57697468647261772065706f6368206e6f742072656163686564000000000000604082015260600190565b60208082526019908201527f6661696c656420746f207472616e7366657220626f756e747900000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526011908201527f4e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526013908201527f736368207472616e73666572206661696c656400000000000000000000000000604082015260600190565b60208082526010908201527f636f756c646e74207472616e7366657200000000000000000000000000000000604082015260600190565b60208082526033908201527f50617274696369706174656420696e205769746864726177206c6f636b20706560408201527f72696f642c2043616e7420776974686472617700000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b60208082526013908201527f7374616b657220646f65736e7420657869737400000000000000000000000000604082015260600190565b60208082526006908201527f6c6f636b65640000000000000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600d908201527f7374616b65722e6964203d203000000000000000000000000000000000000000604082015260600190565b6020808252600f908201527f496e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602a908201527f616c726561647920636f6d6d6974656420746869732065706f63682e2043616e60408201527f7420776974686472617700000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f446964206e6f7420756e7374616b650000000000000000000000000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526011908201527f4e6f6e706f736974697665205374616b65000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526031908201527f7374616b656420616d6f756e74206973206c657373207468616e206d696e696d60408201527f756d207374616b65207265717569726564000000000000000000000000000000606082015260800190565b600061010082019050825182526001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b9788526001600160a01b0396909616602088015260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b60008682526020868184015260a0604084015285518060a0850152825b818110156136755787810183015185820160c001528201613659565b81811115613686578360c083870101525b5060608401959095525050608081019190915260c0601f909201601f191601019392505050565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff811182821017156136e5576136e561378c565b604052919050565b6000821982111561370057613700613776565b500190565b60008261372057634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561373f5761373f613776565b500290565b60008282101561375657613756613776565b500390565b600060001982141561376f5761376f613776565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220ebfe857fb450ffe39b03b26c745b3f18124d3671268e9cad304d24ecaece080964736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x226 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6022A485 GT PUSH2 0x12A JUMPI DUP1 PUSH4 0xBC788D46 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0xD9169B32 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xF580FFCB GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xF580FFCB EQ PUSH2 0x433 JUMPI DUP1 PUSH4 0xFABB9890 EQ PUSH2 0x446 JUMPI DUP1 PUSH4 0xFD5E6DD1 EQ PUSH2 0x459 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0xD9169B32 EQ PUSH2 0x40B JUMPI DUP1 PUSH4 0xE3C998FE EQ PUSH2 0x413 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0xBC788D46 EQ PUSH2 0x3D5 JUMPI DUP1 PUSH4 0xC584BB9F EQ PUSH2 0x3DD JUMPI DUP1 PUSH4 0xC8AE0D7D EQ PUSH2 0x3E5 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3F8 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x7B0472F0 GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0x7B0472F0 EQ PUSH2 0x394 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0x9864F70A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x3CD JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x6022A485 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0x66666AA9 EQ PUSH2 0x371 JUMPI DUP1 PUSH4 0x6C8B052A EQ PUSH2 0x379 JUMPI DUP1 PUSH4 0x746C8B65 EQ PUSH2 0x381 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x1B8B13A7 GT PUSH2 0x1BD JUMPI DUP1 PUSH4 0x2E716FB1 GT PUSH2 0x18C JUMPI DUP1 PUSH4 0x36568ABE GT PUSH2 0x171 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x330 JUMPI DUP1 PUSH4 0x42C1E587 EQ PUSH2 0x343 JUMPI DUP1 PUSH4 0x54EAE15E EQ PUSH2 0x34B JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x308 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x31D JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x1B8B13A7 EQ PUSH2 0x2C7 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x2E17DE78 EQ PUSH2 0x2E2 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x2F5 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0xF91CE19 GT PUSH2 0x1F9 JUMPI DUP1 PUSH4 0xF91CE19 EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0x188DC83B EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0x1A69F008 EQ PUSH2 0x2AC JUMPI DUP1 PUSH4 0x1AD54991 EQ PUSH2 0x2BF JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x6552FF3 EQ PUSH2 0x254 JUMPI DUP1 PUSH4 0xAC168A1 EQ PUSH2 0x269 JUMPI DUP1 PUSH4 0xEC88D3F EQ PUSH2 0x27E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x23E PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x2DD2 JUMP JUMPDEST PUSH2 0x480 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x301A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x267 PUSH2 0x262 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CCF JUMP JUMPDEST PUSH2 0x4DE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x271 PUSH2 0x546 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x3025 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x54C JUMP JUMPDEST PUSH2 0x267 PUSH2 0x294 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F67 JUMP JUMPDEST PUSH2 0x552 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x2A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x70F JUMP JUMPDEST PUSH2 0x271 PUSH2 0x2BA CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x850 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x9AD JUMP JUMPDEST PUSH2 0x271 PUSH2 0x9B3 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x2DD CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x9B9 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x2F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x9CE JUMP JUMPDEST PUSH2 0x267 PUSH2 0x303 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0xCFD JUMP JUMPDEST PUSH2 0x310 PUSH2 0x11D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x302E JUMP JUMPDEST PUSH2 0x267 PUSH2 0x32B CALLDATASIZE PUSH1 0x4 PUSH2 0x2DA7 JUMP JUMPDEST PUSH2 0x11E4 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x33E CALLDATASIZE PUSH1 0x4 PUSH2 0x2DA7 JUMP JUMPDEST PUSH2 0x1222 JUMP JUMPDEST PUSH2 0x310 PUSH2 0x1264 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x359 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x1273 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x36C CALLDATASIZE PUSH1 0x4 PUSH2 0x2CAE JUMP JUMPDEST PUSH2 0x1324 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x133F JUMP JUMPDEST PUSH2 0x271 PUSH2 0x1345 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x38F CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x134B JUMP JUMPDEST PUSH2 0x267 PUSH2 0x3A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x1551 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x3B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2DA7 JUMP JUMPDEST PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x3C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x1C9C JUMP JUMPDEST PUSH2 0x271 PUSH2 0x1D54 JUMP JUMPDEST PUSH2 0x271 PUSH2 0x1D59 JUMP JUMPDEST PUSH2 0x310 PUSH2 0x1D5F JUMP JUMPDEST PUSH2 0x271 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CAE JUMP JUMPDEST PUSH2 0x1D6E JUMP JUMPDEST PUSH2 0x267 PUSH2 0x406 CALLDATASIZE PUSH1 0x4 PUSH2 0x2DA7 JUMP JUMPDEST PUSH2 0x1D80 JUMP JUMPDEST PUSH2 0x310 PUSH2 0x1DA8 JUMP JUMPDEST PUSH2 0x426 PUSH2 0x421 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x1DB7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x3572 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x441 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x1E35 JUMP JUMPDEST PUSH2 0x267 PUSH2 0x454 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F9B JUMP JUMPDEST PUSH2 0x1EDD JUMP JUMPDEST PUSH2 0x46C PUSH2 0x467 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D77 JUMP JUMPDEST PUSH2 0x24C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x35D4 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x4D6 JUMPI POP PUSH2 0x4D6 DUP3 PUSH2 0x2512 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 DUP7 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x8 DUP1 SLOAD SWAP5 DUP7 AND SWAP5 DUP3 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE PUSH1 0x9 DUP1 SLOAD SWAP3 DUP6 AND SWAP3 DUP5 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH1 0xA DUP1 SLOAD SWAP2 SWAP1 SWAP4 AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x5AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5CE SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x5D8 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x5FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 SWAP1 DUP2 ADD SLOAD PUSH2 0x61B SWAP2 SWAP1 PUSH2 0x3705 JUMP JUMPDEST SWAP1 POP PUSH2 0x65F DUP6 PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536C617368656400000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP7 PUSH2 0x255C JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x708 JUMPI PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x69A SWAP1 DUP8 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3001 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6EC SWAP2 SWAP1 PUSH2 0x2D5D JUMP JUMPDEST PUSH2 0x708 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x30D6 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9CEC6F8A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x753 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x78B SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x795 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x7B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x757991A8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x813 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x837 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 PUSH1 0x4 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA DUP4 LT ISZERO PUSH2 0x862 JUMPI POP DUP1 PUSH2 0x9A7 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xB1CC4500 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x8A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x8BC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8E0 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH20 0x0 PUSH4 0xA86F5A3F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x924 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x938 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x95C SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x966 SWAP1 DUP6 PUSH2 0x3725 JUMP JUMPDEST PUSH2 0x971 PUSH1 0x1 DUP8 PUSH2 0x3744 JUMP JUMPDEST PUSH2 0x97B SWAP2 SWAP1 PUSH2 0x3725 JUMP JUMPDEST PUSH2 0x985 SWAP2 SWAP1 PUSH2 0x3705 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x9A1 JUMPI PUSH2 0x999 DUP2 DUP5 PUSH2 0x3744 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9A7 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA26 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA4A SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0xA68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x326C JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xAC0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAE4 SWAP2 SWAP1 PUSH2 0x2FBC JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB49 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB6D SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0xB8B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x344A JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x6 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH2 0xBC7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3348 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 ADD SLOAD GT PUSH2 0xBEB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x316A JUMP JUMPDEST DUP5 DUP2 PUSH1 0x6 ADD SLOAD GT ISZERO DUP1 ISZERO PUSH2 0xC02 JUMPI POP PUSH1 0x6 DUP2 ADD SLOAD ISZERO ISZERO JUMPDEST PUSH2 0xC1E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x32DA JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x6 ADD DUP2 SWAP1 SSTORE POP PUSH20 0x0 PUSH4 0x2628490F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xC80 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCA4 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0xCAE SWAP1 DUP7 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x7 DUP3 ADD SSTORE PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD DUP4 SWAP2 PUSH32 0xCFBC484EDC798D2584502CA0D64E7E9514B8DD091D96A2A5B4DEB58478DA19E SWAP2 PUSH2 0xCEE SWAP2 DUP10 SWAP2 DUP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD41 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD55 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD79 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0xD97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x326C JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xDEF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE13 SWAP2 SWAP1 PUSH2 0x2FBC JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE9C SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0xEBA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x344A JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x6 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH2 0xEF6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x32A3 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD ISZERO PUSH2 0xF18 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3413 JUMP JUMPDEST DUP5 DUP2 PUSH1 0x7 ADD SLOAD GT ISZERO DUP1 ISZERO PUSH2 0xF2F JUMPI POP PUSH1 0x7 DUP2 ADD SLOAD ISZERO ISZERO JUMPDEST PUSH2 0xF4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x309F JUMP JUMPDEST DUP1 PUSH1 0x5 ADD SLOAD PUSH20 0x0 PUSH4 0x2628490F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xFA8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFCC SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP3 PUSH1 0x7 ADD SLOAD PUSH2 0xFDB SWAP2 SWAP1 PUSH2 0x3744 JUMP JUMPDEST LT ISZERO PUSH2 0xFF9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x320F JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH32 0x7164F0D600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x7164F0D6 SWAP1 PUSH2 0x1044 SWAP1 DUP9 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3613 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x105C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1070 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1094 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST ISZERO PUSH2 0x10B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x33B6 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 ADD SLOAD GT PUSH2 0x10D5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3481 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD SWAP1 DUP4 SWAP1 SSTORE SWAP1 MLOAD SWAP1 SWAP2 DUP5 SWAP2 PUSH32 0xA6FECEE2C95FC6B4C7F291E3435A3A832BCD700C2A7FFDEDD8C909D56DFA49F SWAP2 PUSH2 0x1125 SWAP2 DUP11 SWAP2 SWAP1 DUP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x115F SWAP1 CALLER SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3001 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1179 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x118D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11B1 SWAP2 SWAP1 PUSH2 0x2D5D JUMP JUMPDEST PUSH2 0x11CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x31D8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x11F8 PUSH2 0x11F0 DUP4 PUSH2 0x9B9 JUMP JUMPDEST PUSH2 0x3B5 PUSH2 0x25AE JUMP JUMPDEST PUSH2 0x1214 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3042 JUMP JUMPDEST PUSH2 0x121E DUP3 DUP3 PUSH2 0x25B2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x122A PUSH2 0x25AE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x125A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x34B8 JUMP JUMPDEST PUSH2 0x121E DUP3 DUP3 PUSH2 0x2637 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x12CB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12EF SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x12F9 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x1315 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST PUSH2 0x131F DUP4 DUP4 PUSH2 0x26BA JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x138F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x13A3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13C7 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x13D1 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x13ED JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST PUSH1 0x1 SLOAD ISZERO PUSH2 0x1502 JUMPI PUSH1 0x1 SLOAD PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 PUSH2 0x1415 SWAP2 PUSH2 0x36ED JUMP JUMPDEST SWAP1 POP PUSH2 0x1458 DUP5 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x426C6F636B205265776172640000000000000000000000000000000000000000 DUP2 MSTORE POP DUP7 PUSH2 0x255C JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x40C10F19 SWAP2 PUSH2 0x14A5 SWAP2 ADDRESS SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x3001 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x14D3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14F7 SWAP2 SWAP1 PUSH2 0x2D5D JUMP JUMPDEST PUSH2 0x1500 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x0 SWAP2 DUP3 SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 SWAP2 PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x1543 SWAP2 DUP7 SWAP2 DUP6 SWAP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1595 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15A9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15CD SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0x15EB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x326C JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x162F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1643 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1667 SWAP2 SWAP1 PUSH2 0x2FBC JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16CC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16F0 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP2 EQ PUSH2 0x170E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x344A JUMP JUMPDEST PUSH20 0x0 PUSH4 0xA475B5DD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1752 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1766 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x178A SWAP2 SWAP1 PUSH2 0x2FBC JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x17DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17EF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1813 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST EQ ISZERO PUSH2 0x1831 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x337F JUMP JUMPDEST PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1875 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1889 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18AD SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST DUP4 LT ISZERO PUSH2 0x18CC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3515 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH2 0x1919 SWAP1 CALLER SWAP1 ADDRESS SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x2FDD JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1933 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1947 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x196B SWAP2 SWAP1 PUSH2 0x2D5D JUMP JUMPDEST PUSH2 0x1987 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x31A1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x6 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 PUSH2 0x1B3C JUMPI PUSH1 0x2 SLOAD PUSH2 0x19BC SWAP1 PUSH1 0x1 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH20 0x0 PUSH4 0x26BF1C03 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1A57 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A7B SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x1A85 SWAP1 DUP10 PUSH2 0x36ED JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 SWAP2 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x2 DUP1 SLOAD DUP3 MSTORE PUSH1 0x6 DUP1 DUP5 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP7 MLOAD DUP2 SSTORE DUP7 DUP7 ADD MLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP7 DUP3 ADD MLOAD DUP2 DUP6 ADD SSTORE PUSH1 0x60 DUP8 ADD MLOAD PUSH1 0x3 DUP3 ADD SSTORE PUSH1 0x80 DUP8 ADD MLOAD PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0xA0 DUP8 ADD MLOAD PUSH1 0x5 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0xC0 DUP9 ADD MLOAD SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 SSTORE PUSH1 0xE0 SWAP1 SWAP7 ADD MLOAD PUSH1 0x7 SWAP1 SWAP7 ADD SWAP6 SWAP1 SWAP6 SSTORE SWAP1 SLOAD CALLER DUP4 MSTORE SWAP3 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 DUP2 SWAP1 SSTORE SWAP2 POP PUSH2 0x1C17 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x1B59 SWAP1 DUP7 SWAP1 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH20 0x0 PUSH4 0x26BF1C03 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1BB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1BCB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1BEF SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x1BF9 SWAP1 DUP8 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 KECCAK256 SWAP1 DUP2 ADD SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x7 SWAP1 SWAP2 ADD SSTORE JUMPDEST DUP2 PUSH32 0x52D3B6BF695A499D39FCDB47E3B450C09F2F6AA091CA8809CC51C00E705996CC DUP8 DUP4 PUSH1 0x6 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x1C63 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9CEC6F8A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1CE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CF4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D18 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x1D22 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x1D3E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST POP PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 PUSH1 0x5 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1D8C PUSH2 0x11F0 DUP4 PUSH2 0x9B9 JUMP JUMPDEST PUSH2 0x125A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x310D JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x1DBF PUSH2 0x2BB7 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP4 MLOAD PUSH2 0x100 DUP2 ADD DUP6 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 DUP3 ADD SLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x7 SWAP1 SWAP2 ADD SLOAD PUSH1 0xE0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xB1A62781 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1E79 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1E8D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1EB1 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x1EBB DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x1ED7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST POP PUSH1 0x1 SSTORE JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1F21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1F35 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1F59 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x1F63 DUP2 CALLER PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x1F7F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F4 SWAP1 PUSH2 0x3311 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x1F8B JUMPI PUSH2 0x131F JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP4 MLOAD PUSH2 0x100 DUP2 ADD DUP6 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0xA0 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP4 ADD SLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x7 SWAP1 SWAP3 ADD SLOAD PUSH1 0xE0 DUP4 ADD MSTORE PUSH2 0x2009 DUP2 DUP6 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x1 EQ PUSH2 0x2017 JUMPI POP POP PUSH2 0x131F JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH32 0x378AB9A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x378AB9A9 SWAP1 PUSH2 0x2061 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3025 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2079 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x208D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x20B5 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D22 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH32 0xD2A4669A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD2A4669A SWAP1 PUSH2 0x2104 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3025 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x211C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2130 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2158 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D22 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH32 0xFAE4425D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xFAE4425D SWAP1 PUSH2 0x21A7 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3025 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x21BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x21D3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x21FB SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D22 JUMP JUMPDEST DUP3 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x24B9 JUMPI PUSH1 0x0 DUP1 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2360 JUMPI PUSH1 0x8 SLOAD DUP8 MLOAD PUSH1 0x40 MLOAD PUSH4 0x4673FFA5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x8CE7FF4A SWAP2 PUSH2 0x2247 SWAP2 DUP12 SWAP2 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x36AD JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x225E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2272 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2296 SWAP2 SWAP1 PUSH2 0x2F19 JUMP JUMPDEST PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x22BE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x22EA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x2316 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP3 DUP5 EQ DUP1 PUSH2 0x2336 JUMPI POP DUP2 DUP5 GT DUP1 PUSH2 0x2336 JUMPI POP DUP1 DUP5 LT JUMPDEST ISZERO PUSH2 0x2349 JUMPI PUSH2 0x2346 DUP7 PUSH1 0x1 PUSH2 0x36ED JUMP JUMPDEST SWAP6 POP JUMPDEST POP POP POP POP DUP1 DUP1 PUSH2 0x2358 SWAP1 PUSH2 0x375B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2209 JUMP JUMPDEST POP PUSH1 0x0 DUP4 MLOAD PUSH1 0x4 SLOAD PUSH2 0x2372 SWAP2 SWAP1 PUSH2 0x3725 JUMP JUMPDEST DUP3 PUSH1 0x3 SLOAD DUP10 PUSH1 0x40 ADD MLOAD PUSH2 0x2385 SWAP2 SWAP1 PUSH2 0x3725 JUMP JUMPDEST PUSH2 0x238F SWAP2 SWAP1 PUSH2 0x3725 JUMP JUMPDEST PUSH2 0x2399 SWAP2 SWAP1 PUSH2 0x3705 JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x24B6 JUMPI PUSH1 0x4 SLOAD PUSH1 0x40 DUP9 ADD MLOAD DUP2 LT ISZERO PUSH2 0x23B7 JUMPI PUSH1 0x0 PUSH2 0x23C9 JUMP JUMPDEST DUP8 PUSH1 0x40 ADD MLOAD PUSH1 0x4 SLOAD PUSH2 0x23C9 SWAP2 SWAP1 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x2402 SWAP2 DUP14 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP3 DUP10 PUSH1 0x40 ADD MLOAD PUSH2 0x241C SWAP2 SWAP1 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x3 SLOAD SWAP1 SWAP2 POP PUSH2 0x242C DUP5 DUP3 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x2465 SWAP2 DUP16 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x24B2 DUP11 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x566F74696E672052657761726473000000000000000000000000000000000000 DUP2 MSTORE POP DUP16 PUSH2 0x255C JUMP JUMPDEST POP POP POP JUMPDEST POP POP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD SLOAD SWAP7 DUP7 ADD SLOAD PUSH1 0x7 SWAP1 SWAP7 ADD SLOAD SWAP5 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND SWAP6 SWAP3 SWAP5 SWAP2 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP9 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD SWAP1 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP6 SWAP1 PUSH32 0xAB9982D99DE79485B3CD6D1E72C881FD0342F42F1CBC7D220D4F373B97C4F363 SWAP1 PUSH2 0xCEE SWAP1 DUP5 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 TIMESTAMP SWAP1 PUSH2 0x363C JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x25BC DUP3 DUP3 PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x121E JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x25F3 PUSH2 0x25AE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x2641 DUP3 DUP3 PUSH2 0x1C73 JUMP JUMPDEST ISZERO PUSH2 0x121E JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x2676 PUSH2 0x25AE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x26C4 DUP3 DUP3 PUSH2 0x2A53 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x9 SLOAD SWAP4 MLOAD PUSH32 0x4C0756900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP3 SWAP5 SWAP2 SWAP4 SWAP1 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x4C07569 SWAP1 PUSH2 0x272B SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3025 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2743 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2757 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x277F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2E12 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x80 DUP3 ADD MLOAD DUP2 MLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 ISZERO PUSH2 0x24B9 JUMPI PUSH1 0x0 DUP1 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x293F JUMPI PUSH1 0x8 SLOAD DUP9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x4673FFA5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x8CE7FF4A SWAP2 PUSH2 0x27D7 SWAP2 DUP12 SWAP2 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x36AD JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x27EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2802 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2826 SWAP2 SWAP1 PUSH2 0x2F19 JUMP JUMPDEST PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x284E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x287A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP2 DUP4 LT DUP1 PUSH2 0x2891 JUMPI POP DUP1 DUP4 GT JUMPDEST ISZERO PUSH2 0x2929 JUMPI PUSH20 0x0 PUSH4 0x3002C9AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x28DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x28EE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2912 SWAP2 SWAP1 PUSH2 0x2D8F JUMP JUMPDEST PUSH2 0x291C SWAP1 DUP12 PUSH2 0x3705 JUMP JUMPDEST PUSH2 0x2926 SWAP1 DUP7 PUSH2 0x36ED JUMP JUMPDEST SWAP5 POP JUMPDEST POP POP POP DUP1 DUP1 PUSH2 0x2937 SWAP1 PUSH2 0x375B JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2799 JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x29F8 JUMPI DUP6 DUP2 GT PUSH2 0x2953 JUMPI DUP1 PUSH2 0x2955 JUMP JUMPDEST DUP6 JUMPDEST DUP8 SLOAD SWAP1 SWAP2 POP PUSH2 0x29A4 SWAP1 PUSH2 0x2968 DUP4 DUP10 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x566F74696E672050656E616C7479000000000000000000000000000000000000 DUP2 MSTORE POP DUP12 PUSH2 0x255C JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x29B1 DUP3 DUP3 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x29EA SWAP2 DUP13 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP PUSH2 0x2A48 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x2A05 DUP8 DUP3 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x2A3E SWAP2 DUP13 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP2 MLOAD PUSH2 0x100 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x60 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0xA0 DUP5 ADD DUP2 SWAP1 MSTORE SWAP4 DUP3 ADD SLOAD PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0x7 SWAP1 SWAP2 ADD SLOAD PUSH1 0xE0 DUP4 ADD MSTORE SWAP1 SWAP3 SWAP2 GT PUSH2 0x2ADA JUMPI DUP2 PUSH1 0x60 ADD MLOAD PUSH2 0x2AE0 JUMP JUMPDEST DUP2 PUSH1 0xA0 ADD MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2AEE DUP3 DUP6 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x0 PUSH2 0x2B02 DUP4 DUP4 PUSH2 0x850 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x2BAE JUMPI PUSH2 0x2B51 DUP6 PUSH1 0x0 ADD MLOAD DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x496E61637469766974792050656E616C74790000000000000000000000000000 DUP2 MSTORE POP DUP10 PUSH2 0x255C JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x2B5E DUP3 DUP5 PUSH2 0x3744 JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH2 0x2B6B SWAP2 SWAP1 PUSH2 0x36ED JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x2BA4 SWAP2 DUP11 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3621 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2C2C JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2C48 JUMPI PUSH2 0x2C48 PUSH2 0x378C JUMP JUMPDEST DUP1 DUP3 MUL PUSH2 0x2C56 DUP3 DUP3 ADD PUSH2 0x36C3 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP2 ADD SWAP1 DUP7 DUP5 ADD DUP4 DUP9 ADD DUP6 ADD DUP10 LT ISZERO PUSH2 0x2C70 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP7 SWAP4 POP JUMPDEST DUP6 DUP5 LT ISZERO PUSH2 0x2C92 JUMPI DUP1 MLOAD DUP4 MSTORE PUSH1 0x1 SWAP4 SWAP1 SWAP4 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 DUP5 ADD PUSH2 0x2C74 JUMP JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2CBF JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2CC8 DUP3 PUSH2 0x2C05 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2CE4 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x2CED DUP6 PUSH2 0x2C05 JUMP JUMPDEST SWAP4 POP PUSH2 0x2CFB PUSH1 0x20 DUP7 ADD PUSH2 0x2C05 JUMP JUMPDEST SWAP3 POP PUSH2 0x2D09 PUSH1 0x40 DUP7 ADD PUSH2 0x2C05 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D17 PUSH1 0x60 DUP7 ADD PUSH2 0x2C05 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D33 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2D49 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x2D55 DUP5 DUP3 DUP6 ADD PUSH2 0x2C1C JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D6E JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2CC8 DUP3 PUSH2 0x2C9E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D88 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2DA0 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2DB9 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x2DC9 PUSH1 0x20 DUP5 ADD PUSH2 0x2C05 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2DE3 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x2CC8 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E23 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2E3A JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP PUSH2 0x100 DUP1 DUP4 DUP8 SUB SLT ISZERO PUSH2 0x2E50 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x2E59 DUP2 PUSH2 0x36C3 JUMP JUMPDEST SWAP1 POP DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E70 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2E7C DUP8 DUP3 DUP7 ADD PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E93 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2E9F DUP8 DUP3 DUP7 ADD PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2EB6 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2EC2 DUP8 DUP3 DUP7 ADD PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2ED9 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2EE5 DUP8 DUP3 DUP7 ADD PUSH2 0x2C1C JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x2F0B PUSH1 0xE0 DUP5 ADD PUSH2 0x2C9E JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2F2A JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x40 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x2F4D JUMPI PUSH2 0x2F4D PUSH2 0x378C JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD MLOAD SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2F7B JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH2 0x2F8B PUSH1 0x20 DUP6 ADD PUSH2 0x2C05 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2FAD JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2FCD JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x2CC8 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND DUP2 MSTORE SWAP2 SWAP1 SWAP3 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x57697468647261772065706F6368206E6F742072656163686564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x19 SWAP1 DUP3 ADD MSTORE PUSH32 0x6661696C656420746F207472616E7366657220626F756E747900000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F6E706F736974697665207374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x13 SWAP1 DUP3 ADD MSTORE PUSH32 0x736368207472616E73666572206661696C656400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x636F756C646E74207472616E7366657200000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x50617274696369706174656420696E205769746864726177206C6F636B207065 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x72696F642C2043616E7420776974686472617700000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x13 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B657220646F65736E7420657869737400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x6 SWAP1 DUP3 ADD MSTORE PUSH32 0x6C6F636B65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xD SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B65722E6964203D203000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x496E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x616C726561647920636F6D6D6974656420746869732065706F63682E2043616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7420776974686472617700000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x446964206E6F7420756E7374616B650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F6E706F736974697665205374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x31 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B656420616D6F756E74206973206C657373207468616E206D696E696D PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x756D207374616B65207265717569726564000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 ADD SWAP1 POP DUP3 MLOAD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH1 0x20 DUP5 ADD MLOAD AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP4 ADD MLOAD PUSH1 0xE0 DUP4 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP8 DUP9 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 SWAP1 SWAP7 AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x60 DUP7 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP3 MSTORE PUSH1 0x20 DUP7 DUP2 DUP5 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP5 ADD MSTORE DUP6 MLOAD DUP1 PUSH1 0xA0 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3675 JUMPI DUP8 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP3 ADD PUSH2 0x3659 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x3686 JUMPI DUP4 PUSH1 0xC0 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xC0 PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x36E5 JUMPI PUSH2 0x36E5 PUSH2 0x378C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x3700 JUMPI PUSH2 0x3700 PUSH2 0x3776 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3720 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x373F JUMPI PUSH2 0x373F PUSH2 0x3776 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x3756 JUMPI PUSH2 0x3756 PUSH2 0x3776 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x376F JUMPI PUSH2 0x376F PUSH2 0x3776 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB INVALID DUP6 PUSH32 0xB450FFE39B03B26C745B3F18124D3671268E9CAD304D24ECAECE080964736F6C PUSH4 0x43000800 STOP CALLER ", - "sourceMap": "453:17208:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2326:403:10;;;;;;:::i;:::-;;:::i;:::-;;126:26:20;;;:::i;:::-;;;;;;;:::i;220:33::-;;;:::i;11755:353:10:-;;;;;;:::i;:::-;;:::i;3145:206::-;;;;;;:::i;:::-;;:::i;13178:498::-;;;;;;:::i;:::-;;:::i;12856:107::-;;;:::i;12714:91::-;;;:::i;4185:121:0:-;;;;;;:::i;:::-;;:::i;5487:588:10:-;;;;;;:::i;:::-;;:::i;6235:1116::-;;;;;;:::i;:::-;;:::i;609:33::-;;;:::i;:::-;;;;;;;:::i;4556:228:0:-;;;;;;:::i;:::-;;:::i;5740:214::-;;;;;;:::i;:::-;;:::i;533:31:10:-;;;:::i;7591:182::-;;;;;;:::i;:::-;;:::i;12191:114::-;;;;;;:::i;:::-;;:::i;189:25:20:-;;;:::i;158:::-;;;:::i;8048:652:10:-;;;;;;:::i;:::-;;:::i;3797:1447::-;;;;;;:::i;:::-;;:::i;3867:137:0:-;;;;;;:::i;:::-;;:::i;2863:231:10:-;;;;;;:::i;:::-;;:::i;2363:49:0:-;;;:::i;12586:91:10:-;;;:::i;503:24::-;;;:::i;260:45:20:-;;;;;;:::i;:::-;;:::i;5018:231:0:-;;;;;;:::i;:::-;;:::i;570:33:10:-;;;:::i;12400:121::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3357:147::-;;;;;;:::i;:::-;;:::i;9048:2352::-;;;;;;:::i;:::-;;:::i;311:50:20:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;3566:214:0:-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;;3566:214;;;;:::o;2326:403:10:-;2513:3;:32;;-1:-1:-1;;;;;2513:32:10;;;;;;;;;;;2555:11;:47;;;;;;;;;;;;;;;2612:12;:50;;;;;;;;;;;;;;;2672:12;:50;;;;;;;;;;;2326:403::o;126:26:20:-;;;;:::o;220:33::-;;;;:::o;11755:353:10:-;11838:9;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;;;;;;;;;11882:17:10::1;11902:11:::0;;;:7:::1;:11;::::0;;;;11921:1:::1;11902:17:::0;;::::1;::::0;:21:::1;::::0;11921:1;11902:21:::1;:::i;:::-;11882:41;;11933:40;11949:2;11953:1;11933:40;;;;;;;;;;;;;;;;::::0;11967:5:::1;11933:15;:40::i;:::-;11999:1;11987:9;:13;11983:119;;;12024:3;::::0;:37:::1;::::0;-1:-1:-1;;;12024:37:10;;-1:-1:-1;;;;;12024:3:10;;::::1;::::0;:12:::1;::::0;:37:::1;::::0;12037:12;;12051:9;;12024:37:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12016:75;;;;-1:-1:-1::0;;;12016:75:10::1;;;;;;;:::i;:::-;389:1:7;11755:353:10::0;;;;:::o;3145:206::-;3226:9;:38;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;3321:12:10::1;;;;;;;;;-1:-1:-1::0;;;;;3321:12:10::1;-1:-1:-1::0;;;;;3321:21:10::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3282:17;::::0;;;:7:::1;:17;::::0;;;;;:36:::1;;:62:::0;;;;-1:-1:-1;3145:206:10:o;13178:498::-;13272:7;13367:2;13358:6;:11;13354:60;;;-1:-1:-1;13392:10:10;13385:18;;13354:60;13424:15;13508:9;:31;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13471:9;:29;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13459:44;;:10;:44;:::i;:::-;13444:10;13453:1;13444:6;:10;:::i;:::-;13443:61;;;;:::i;:::-;13442:99;;;;:::i;:::-;13424:117;;13565:10;13555:7;:20;13551:119;;;13598:20;13610:7;13598:10;:20;:::i;:::-;13591:28;;;;;13551:119;13657:1;13650:9;;;13178:498;;;;;:::o;12856:107::-;12937:18;;12856:107;:::o;12714:91::-;12787:10;;12714:91;:::o;4185:121:0:-;4251:7;4277:12;;;;;;;;;;:22;;;;4185:121::o;5487:588:10:-;1707:12;;:23;;;-1:-1:-1;;;1707:23:10;;;;5540:5;;-1:-1:-1;;;;;1707:12:10;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1698:5;:32;1690:60;;;;-1:-1:-1;;;1690:60:10;;;;;;;:::i;:::-;5559:9:::1;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1774:124;;1837:12;;;;;;;;;-1:-1:-1::0;;;;;1837:12:10::1;-1:-1:-1::0;;;;;1837:21:10::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1828:5;:32;1820:60;;;;-1:-1:-1::0;;;1820:60:10::1;;;;;;;:::i;:::-;5618:10:::2;5589:16;5608:21:::0;;;:9:::2;:21;::::0;;;;;;;;5671:17;;;:7:::2;:17:::0;;;;;;5706:9;;5698:40:::2;;;;-1:-1:-1::0;;;5698:40:10::2;;;;;;;:::i;:::-;5771:1;5756:6;:12;;;:16;5748:46;;;;-1:-1:-1::0;;;5748:46:10::2;;;;;;;:::i;:::-;5835:5;5812:6;:19;;;:28;;:56;;;;-1:-1:-1::0;5844:19:10::2;::::0;::::2;::::0;:24;::::2;5812:56;5804:75;;;;-1:-1:-1::0;;;5804:75:10::2;;;;;;;:::i;:::-;5911:1;5889:6;:19;;:23;;;;5952:9;:28;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5945:38;::::0;:5;:38:::2;:::i;:::-;5922:20;::::0;::::2;:61:::0;6024:12:::2;::::0;::::2;::::0;5998:70:::2;::::0;6014:8;;5998:70:::2;::::0;::::2;::::0;6007:5;;6024:12;;6052:15:::2;::::0;5998:70:::2;:::i;:::-;;;;;;;;1890:1;;1760::::1;5487:588:::0;;:::o;6235:1116::-;1707:12;;:23;;;-1:-1:-1;;;1707:23:10;;;;6289:5;;-1:-1:-1;;;;;1707:12:10;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1698:5;:32;1690:60;;;;-1:-1:-1;;;1690:60:10;;;;;;;:::i;:::-;6307:9:::1;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1774:124;;1837:12;;;;;;;;;-1:-1:-1::0;;;;;1837:12:10::1;-1:-1:-1::0;;;;;1837:21:10::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1828:5;:32;1820:60;;;;-1:-1:-1::0;;;1820:60:10::1;;;;;;;:::i;:::-;6366:10:::2;6337:16;6356:21:::0;;;:9:::2;:21;::::0;;;;;;;;6419:17;;;:7:::2;:17:::0;;;;;;6454:9;;6446:46:::2;;;;-1:-1:-1::0;;;6446:46:10::2;;;;;;;:::i;:::-;6510:19;::::0;::::2;::::0;:24;6502:52:::2;;;;-1:-1:-1::0;;;6502:52:10::2;;;;;;;:::i;:::-;6610:5;6586:6;:20;;;:29;;6585:60;;;;-1:-1:-1::0;6620:20:10::2;::::0;::::2;::::0;:25;::::2;6585:60;6564:133;;;;-1:-1:-1::0;;;6564:133:10::2;;;;;;;:::i;:::-;6787:6;:24;;;6752:9;:28;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6729:6;:20;;;:53;;;;:::i;:::-;6728:83;;6707:181;;;;-1:-1:-1::0;;;6707:181:10::2;;;;;;;:::i;:::-;6919:11;::::0;:42:::2;::::0;;;;-1:-1:-1;;;;;6919:11:10;;::::2;::::0;:25:::2;::::0;:42:::2;::::0;6945:5;;6952:8;;6919:42:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:49:::0;6898:138:::2;;;;-1:-1:-1::0;;;6898:138:10::2;;;;;;;:::i;:::-;7069:1;7054:6;:12;;;:16;7046:46;;;;-1:-1:-1::0;;;7046:46:10::2;;;;;;;:::i;:::-;7103:18;7124:17:::0;;;:7:::2;:17;::::0;;;;;:23:::2;;::::0;;7157:27;;;;7199:70;;7124:23;;7132:8;;7199:70:::2;::::0;::::2;::::0;7208:5;;7103:18;;;7253:15:::2;::::0;7199:70:::2;:::i;:::-;;;;;;;;7287:3;::::0;:36:::2;::::0;-1:-1:-1;;;7287:36:10;;-1:-1:-1;;;;;7287:3:10;;::::2;::::0;:12:::2;::::0;:36:::2;::::0;7300:10:::2;::::0;7312;;7287:36:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7279:65;;;;-1:-1:-1::0;;;7279:65:10::2;;;;;;;:::i;:::-;1890:1;;;1760::::1;6235:1116:::0;;:::o;609:33::-;;;-1:-1:-1;;;;;609:33:10;;:::o;4556:228:0:-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;5740:214::-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;533:31:10:-;;;-1:-1:-1;;;;;533:31:10;;:::o;7591:182::-;7687:9;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;7735:31:10::1;7750:8;7760:5;7735:14;:31::i;:::-;7591:182:::0;;;:::o;12191:114::-;-1:-1:-1;;;;;12278:19:10;12252:7;12278:19;;;:9;:19;;;;;;;12191:114::o;189:25:20:-;;;;:::o;158:::-;;;;:::o;8048:652:10:-;8146:9;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;8198:11:10::1;::::0;:15;8194:233:::1;;8273:11;::::0;8229:16:::1;8248:17:::0;;;:7:::1;:17;::::0;;;;:23:::1;;::::0;8229:16;;8248:37:::1;::::0;::::1;:::i;:::-;8229:56;;8299:58;8315:8;8325;8299:58;;;;;;;;;;;;;;;;::::0;8351:5:::1;8299:15;:58::i;:::-;8379:3;::::0;;8403:11;8379:36:::1;::::0;;;;-1:-1:-1;;;;;8379:3:10;;::::1;::::0;:8:::1;::::0;:36:::1;::::0;8396:4:::1;::::0;8403:11;8379:36:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8371:45;;;::::0;::::1;;8194:233;;8469:18;::::0;;8436:30:::1;8497:22:::0;;;;8543:150:::1;::::0;8469:18;;8543:150:::1;::::0;::::1;::::0;8581:5;;8469:18;;8436:30;8668:15:::1;::::0;8543:150:::1;:::i;:::-;;;;;;;;389:1:7;8048:652:10::0;;;:::o;3797:1447::-;1707:12;;:23;;;-1:-1:-1;;;1707:23:10;;;;3902:5;;-1:-1:-1;;;;;1707:12:10;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1698:5;:32;1690:60;;;;-1:-1:-1;;;1690:60:10;;;;;;;:::i;:::-;3920:9:::1;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1774:124;;1837:12;;;;;;;;;-1:-1:-1::0;;;;;1837:12:10::1;-1:-1:-1::0;;;;;1837:21:10::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1828:5;:32;1820:60;;;;-1:-1:-1::0;;;1820:60:10::1;;;;;;;:::i;:::-;4034:9:::2;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4007:45;;:12;;;;;;;;;-1:-1:-1::0;;;;;4007:12:10::2;-1:-1:-1::0;;;;;4007:21:10::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;3999:73;;;;-1:-1:-1::0;;;3999:73:10::2;;;;;;;:::i;:::-;4113:9;:18;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4103:6;:30;;4082:127;;;;-1:-1:-1::0;;;4082:127:10::2;;;;;;;:::i;:::-;4227:3;::::0;:51:::2;::::0;;;;-1:-1:-1;;;;;4227:3:10;;::::2;::::0;:16:::2;::::0;:51:::2;::::0;4244:10:::2;::::0;4264:4:::2;::::0;4271:6;;4227:51:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4219:83;;;;-1:-1:-1::0;;;4219:83:10::2;;;;;;;:::i;:::-;4341:10;4312:16;4331:21:::0;;;:9:::2;:21;::::0;;;;;;;;4386:17;;;:7:::2;:17:::0;;;;;;:23:::2;;::::0;4423:13;4419:723:::2;;4465:10;::::0;:14:::2;::::0;4477:1:::2;4465:14;:::i;:::-;4452:10;:27;;;;4515:113;;;;;;;;4530:10;;4515:113;;;;4542:10;-1:-1:-1::0;;;;;4515:113:10::2;;;;;4554:6;4515:113;;;;4562:5;4515:113;;;;4569:1;4515:113;;;;4572:1;4515:113;;;;4594:9;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4587:37;::::0;:5;:37:::2;:::i;:::-;4515:113:::0;;4626:1:::2;4515:113;::::0;;::::2;::::0;;;4501:10:::2;::::0;;4493:19;;:7:::2;:19:::0;;;;;;;:135;;;;;;::::2;::::0;::::2;::::0;::::2;::::0;;;::::2;-1:-1:-1::0;;;;;4493:135:10;;::::2;::::0;;;::::2;::::0;;;;::::2;::::0;;;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;::::0;;;;::::2;::::0;::::2;::::0;;;::::2;::::0;;;;::::2;::::0;;::::2;::::0;::::2;::::0;;::::2;::::0;;;;4653:10;;4687::::2;4677:21:::0;;;;;;;;:32;;;4653:10;-1:-1:-1;4419:723:10::2;;;4966:17;::::0;;;:7:::2;:17;::::0;;;;:23:::2;;::::0;:32:::2;::::0;4991:6;;4966:32:::2;:::i;:::-;4940:7;:17;4948:8;4940:17;;;;;;;;;;;:23;;:58;;;;5052:9;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5045:37;::::0;:5;:37:::2;:::i;:::-;5012:17;::::0;;;:7:::2;:17;::::0;;;;;;:30;;::::2;:70:::0;;;;5096:31:::2;::::0;;::::2;:35:::0;4419:723:::2;5171:8;5157:80;5164:5;5181:13;5196:7;:17;5204:8;5196:17;;;;;;;;;;;:23;;;5221:15;5157:80;;;;;;;;;:::i;:::-;;;;;;;;1890:1;;1760::::1;3797:1447:::0;;;:::o;3867:137:0:-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;2863:231:10:-;2980:9;:38;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;-1:-1:-1;3036:12:10::1;::::0;;;:7:::1;:12;::::0;;;;;:30:::1;;:51:::0;2863:231::o;2363:49:0:-;2408:4;2363:49;:::o;12586:91:10:-;12659:10;;12586:91;:::o;503:24::-;;;-1:-1:-1;;;;;503:24:10;;:::o;260:45:20:-;;;;;;;;;;;;;:::o;5018:231:0:-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;570:33:10:-;;;-1:-1:-1;;;;;570:33:10;;:::o;12400:121::-;12454:28;;:::i;:::-;-1:-1:-1;12501:12:10;;;;:7;:12;;;;;;;;;12494:20;;;;;;;;;;;;;;;-1:-1:-1;;;;;12494:20:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12400:121::o;3357:147::-;3424:9;:29;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;-1:-1:-1;3471:11:10::1;:26:::0;3357:147::o;9048:2352::-;9142:9;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;9194:18:10::1;::::0;9190:36:::1;;9219:7;;9190:36;9235:32;9270:17:::0;;;:7:::1;:17;::::0;;;;;;;;9235:52;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;9235:52:10::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;;;;;9425:25:::1;9235:52:::0;9425:5;:25:::1;:::i;:::-;9455:1;9424:32;9420:45;;9458:7;;;;9420:45;9510:12;::::0;:47:::1;::::0;;;;9474:33:::1;::::0;-1:-1:-1;;;;;9510:12:10::1;::::0;:28:::1;::::0;:47:::1;::::0;9539:17;;9510:47:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;9510:47:10::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;9608:12;::::0;:47:::1;::::0;;;;9474:83;;-1:-1:-1;9567:38:10::1;::::0;-1:-1:-1;;;;;9608:12:10;;::::1;::::0;:28:::1;::::0;:47:::1;::::0;9637:17;;9608:47:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;9608:47:10::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;9707:12;::::0;:48:::1;::::0;;;;9567:88;;-1:-1:-1;9665:39:10::1;::::0;-1:-1:-1;;;;;9707:12:10;;::::1;::::0;:29:::1;::::0;:48:::1;::::0;9737:17;;9707:48:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;9707:48:10::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;9770:28:::0;;9665:90;;-1:-1:-1;9770:32:10;9766:1628:::1;;9818:18;9859:9:::0;9854:707:::1;9878:21;:28;9874:1;:32;9854:707;;;9976:11;::::0;10015:13;;9976:56:::1;::::0;-1:-1:-1;;;9976:56:10;;9931:21:::1;::::0;-1:-1:-1;;;;;9976:11:10::1;::::0;:19:::1;::::0;:56:::1;::::0;9996:17;;10030:1;;9976:56:::1;;;:::i;:::-;;::::0;::::1;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;;;9931:107;;10056:23;10082:16;10099:1;10082:19;;;;;;-1:-1:-1::0;;;10082:19:10::1;;;;;;;;;;;;;;;10056:45;;10119:28;10150:21;10172:1;10150:24;;;;;;-1:-1:-1::0;;;10150:24:10::1;;;;;;;;;;;;;;;10119:55;;10192:29;10224:22;10247:1;10224:25;;;;;;-1:-1:-1::0;;;10224:25:10::1;;;;;;;;;;;;;;;10192:57;;10338:15;10321:13;:32;10320:157;;;;10392:20;10376:13;:36;10375:101;;;;10454:21;10438:13;:37;10375:101;10316:231;;;10514:14;:10:::0;10527:1:::1;10514:14;:::i;:::-;10501:27;;10316:231;9854:707;;;;9908:3;;;;;:::i;:::-;;;;9854:707;;;;10575:14;10666:21;:28;10647:18;;:47;;;;:::i;:::-;10621:10;10610;;10593;:16;;;:27;;;;:::i;:::-;:38;;;;:::i;:::-;10592:103;;;;:::i;:::-;10575:120:::0;-1:-1:-1;10713:10:10;;10709:675:::1;;10776:18;::::0;10855:16:::1;::::0;::::1;::::0;10833:38;::::1;;:82;;10914:1;10833:82;;;10894:10;:16;;;10874:18;;:37;;;;:::i;:::-;10812:18;:103:::0;;;10938:92:::1;::::0;::::1;::::0;::::1;::::0;10963:5;;10970:22;;11014:15:::1;::::0;10938:92:::1;:::i;:::-;;;;;;;;11048:16;11086:6;11067:10;:16;;;:25;;;;:::i;:::-;11135:10;::::0;11048:44;;-1:-1:-1;11176:19:10::1;11188:6:::0;11135:10;11176:19:::1;:::i;:::-;11163:10;:32:::0;;;11218:68:::1;::::0;::::1;::::0;::::1;::::0;11235:5;;11242:14;;11270:15:::1;::::0;11218:68:::1;:::i;:::-;;;;;;;;11304:65;11320:10;:13;;;11335:8;11304:65;;;;;;;;;;;;;;;;::::0;11363:5:::1;11304:15;:65::i;:::-;10709:675;;;;9766:1628;;;389:1:7;;;;;9048:2352:10::0;;;:::o;311:50:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;311:50:20;;;;;;;;;;;;;:::o;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;13884:286:10:-;13996:21;14020:12;;;:7;:12;;;;;;;:18;;;;14048:27;;;;14090:73;;14028:3;;14090:73;;;;14020:18;;14069:6;;14130:7;;14139:6;;14147:15;;14090:73;:::i;586:96:3:-;665:10;586:96;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;15491:2168:10:-;15568:41;15593:8;15603:5;15568:24;:41::i;:::-;15619:33;15655:17;;;:7;:17;;;;;;15706:16;;;;15760:28;;;;15829:12;;:40;;;;;15655:17;;15706:16;;15760:28;;-1:-1:-1;;;;;15829:12:10;;;;:21;;:40;;15760:28;;15829:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15829:40:10;;;;;;;;;;;;:::i;:::-;15921:19;;;;15992:20;;;;16036:28;;15799:70;;-1:-1:-1;15921:19:10;;16036:32;16032:1621;;16084:15;16122:9;16117:775;16141:21;:28;16137:1;:32;16117:775;;;16218:11;;16257:13;;16218:56;;-1:-1:-1;;;16218:56:10;;16194:21;;-1:-1:-1;;;;;16218:11:10;;:19;;:56;;16238:17;;16272:1;;16218:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;;;16194:86;;16298:28;16329:21;16351:1;16329:24;;;;;;-1:-1:-1;;;16329:24:10;;;;;;;;;;;;;;;16298:55;;16371:29;16403:22;16426:1;16403:25;;;;;;-1:-1:-1;;;16403:25:10;;;;;;;;;;;;;;;16371:57;;16485:20;16469:13;:36;16468:81;;;;16527:21;16511:13;:37;16468:81;16464:414;;;16827:9;:29;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16813:45;;:13;:45;:::i;:::-;16802:57;;:7;:57;:::i;:::-;16792:67;;16464:414;16117:775;;;16171:3;;;;;:::i;:::-;;;;16117:775;;;-1:-1:-1;16910:11:10;;16906:737;;16962:13;16952:7;:23;16951:51;;16995:7;16951:51;;;16979:13;16951:51;17036:13;;16941:61;;-1:-1:-1;17020:82:10;;17052:23;16941:61;17052:13;:23;:::i;:::-;17020:82;;;;;;;;;;;;;;;;;17096:5;17020:15;:82::i;:::-;17145:10;;17186:20;17198:7;17145:10;17186:20;:::i;:::-;17173:10;:33;;;17229:68;;;;;;17246:5;;17253:14;;17281:15;;17229:68;:::i;:::-;;;;;;;;16906:737;;;;17411:18;;17468:34;17488:13;17411:18;17468:34;:::i;:::-;17447:18;:55;;;17536:92;;;;;;17561:5;;17568:22;;17612:15;;17536:92;:::i;:::-;;;;;;;;16906:737;;16032:1621;15491:2168;;;;;;;;:::o;14472:1014::-;14558:32;14593:17;;;:7;:17;;;;;;;;14558:52;;;;;;;;;;;;;;;-1:-1:-1;;;;;14558:52:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:32;-1:-1:-1;14647:173:10;;14798:10;:22;;;14647:173;;;14735:10;:28;;;14647:173;14621:199;-1:-1:-1;14895:22:10;14920:23;14621:199;14920:5;:23;:::i;:::-;14977:16;;;;14895:48;;-1:-1:-1;14953:21:10;15075:59;14895:48;14977:16;15075:28;:59::i;:::-;15052:82;;15163:13;15148:12;:28;15144:336;;;15192:73;15208:10;:13;;;15223:12;15192:73;;;;;;;;;;;;;;;;;15259:5;15192:15;:73::i;:::-;15304:10;;15353:28;15368:12;15353:13;:28;:::i;:::-;15341:10;;:41;;;;:::i;:::-;15328:10;:54;;;15401:68;;;;;;15418:5;;15425:14;;15453:15;;15401:68;:::i;:::-;;;;;;;;15144:336;;14472:1014;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:198:28:-;84:20;;-1:-1:-1;;;;;133:54:28;;123:65;;113:2;;202:1;199;192:12;217:746;;341:3;334:4;326:6;322:17;318:27;308:2;;363:5;356;349:20;308:2;396:6;390:13;422:4;445:18;441:2;438:26;435:2;;;467:18;;:::i;:::-;514:2;510;506:11;537:27;560:2;556;552:11;537:27;:::i;:::-;598:15;;;629:12;;;;661:15;;;695;;;691:24;;688:33;-1:-1:-1;685:2:28;;;738:5;731;724:20;685:2;764:5;755:14;;778:156;792:2;789:1;786:9;778:156;;;849:10;;837:23;;810:1;803:9;;;;;880:12;;;;912;;778:156;;;-1:-1:-1;952:5:28;298:665;-1:-1:-1;;;;;;;298:665:28:o;968:166::-;1046:13;;1095;;1088:21;1078:32;;1068:2;;1124:1;1121;1114:12;1139:198;;1251:2;1239:9;1230:7;1226:23;1222:32;1219:2;;;1272:6;1264;1257:22;1219:2;1300:31;1321:9;1300:31;:::i;:::-;1290:41;1209:128;-1:-1:-1;;;1209:128:28:o;1342:427::-;;;;;1505:3;1493:9;1484:7;1480:23;1476:33;1473:2;;;1527:6;1519;1512:22;1473:2;1555:31;1576:9;1555:31;:::i;:::-;1545:41;;1605:40;1641:2;1630:9;1626:18;1605:40;:::i;:::-;1595:50;;1664:40;1700:2;1689:9;1685:18;1664:40;:::i;:::-;1654:50;;1723:40;1759:2;1748:9;1744:18;1723:40;:::i;:::-;1713:50;;1463:306;;;;;;;:::o;1774:389::-;;1922:2;1910:9;1901:7;1897:23;1893:32;1890:2;;;1943:6;1935;1928:22;1890:2;1981:9;1975:16;2014:18;2006:6;2003:30;2000:2;;;2051:6;2043;2036:22;2000:2;2079:78;2149:7;2140:6;2129:9;2125:22;2079:78;:::i;:::-;2069:88;1880:283;-1:-1:-1;;;;1880:283:28:o;2168:214::-;;2288:2;2276:9;2267:7;2263:23;2259:32;2256:2;;;2309:6;2301;2294:22;2256:2;2337:39;2366:9;2337:39;:::i;2387:190::-;;2499:2;2487:9;2478:7;2474:23;2470:32;2467:2;;;2520:6;2512;2505:22;2467:2;-1:-1:-1;2548:23:28;;2457:120;-1:-1:-1;2457:120:28:o;2582:194::-;;2705:2;2693:9;2684:7;2680:23;2676:32;2673:2;;;2726:6;2718;2711:22;2673:2;-1:-1:-1;2754:16:28;;2663:113;-1:-1:-1;2663:113:28:o;2781:266::-;;;2910:2;2898:9;2889:7;2885:23;2881:32;2878:2;;;2931:6;2923;2916:22;2878:2;2972:9;2959:23;2949:33;;3001:40;3037:2;3026:9;3022:18;3001:40;:::i;:::-;2991:50;;2868:179;;;;;:::o;3052:352::-;;3163:2;3151:9;3142:7;3138:23;3134:32;3131:2;;;3184:6;3176;3169:22;3131:2;3228:9;3215:23;3278:66;3271:5;3267:78;3260:5;3257:89;3247:2;;3365:6;3357;3350:22;3409:1538;;3555:2;3543:9;3534:7;3530:23;3526:32;3523:2;;;3576:6;3568;3561:22;3523:2;3614:9;3608:16;3643:18;3684:2;3676:6;3673:14;3670:2;;;3705:6;3697;3690:22;3670:2;3748:6;3737:9;3733:22;3723:32;;3774:6;3814:2;3809;3800:7;3796:16;3792:25;3789:2;;;3835:6;3827;3820:22;3789:2;3866:18;3881:2;3866:18;:::i;:::-;3853:31;;3913:2;3907:9;3900:5;3893:24;3956:2;3952;3948:11;3942:18;3985:2;3975:8;3972:16;3969:2;;;4006:6;3998;3991:22;3969:2;4047:73;4112:7;4101:8;4097:2;4093:17;4047:73;:::i;:::-;4042:2;4035:5;4031:14;4024:97;;4160:2;4156;4152:11;4146:18;4189:2;4179:8;4176:16;4173:2;;;4210:6;4202;4195:22;4173:2;4251:73;4316:7;4305:8;4301:2;4297:17;4251:73;:::i;:::-;4246:2;4239:5;4235:14;4228:97;;4364:2;4360;4356:11;4350:18;4393:2;4383:8;4380:16;4377:2;;;4414:6;4406;4399:22;4377:2;4455:73;4520:7;4509:8;4505:2;4501:17;4455:73;:::i;:::-;4450:2;4443:5;4439:14;4432:97;;4568:3;4564:2;4560:12;4554:19;4598:2;4588:8;4585:16;4582:2;;;4619:6;4611;4604:22;4582:2;4661:73;4726:7;4715:8;4711:2;4707:17;4661:73;:::i;:::-;4655:3;4648:5;4644:15;4637:98;;4782:3;4778:2;4774:12;4768:19;4762:3;4755:5;4751:15;4744:44;4835:3;4831:2;4827:12;4821:19;4815:3;4808:5;4804:15;4797:44;4874:42;4911:3;4907:2;4903:12;4874:42;:::i;:::-;4868:3;4857:15;;4850:67;4861:5;3513:1434;-1:-1:-1;;;;;3513:1434:28:o;4952:508::-;;5097:2;5085:9;5076:7;5072:23;5068:32;5065:2;;;5118:6;5110;5103:22;5065:2;5156;5150:9;5198:2;5190:6;5186:15;5267:6;5255:10;5252:22;5231:18;5219:10;5216:34;5213:62;5210:2;;;5278:18;;:::i;:::-;5314:2;5307:22;5353:16;;5338:32;;5424:2;5409:18;;;5403:25;5386:15;;;5379:50;;;;-1:-1:-1;5345:6:28;5055:405;-1:-1:-1;5055:405:28:o;5859:334::-;;;;6005:2;5993:9;5984:7;5980:23;5976:32;5973:2;;;6026:6;6018;6011:22;5973:2;6067:9;6054:23;6044:33;;6096:40;6132:2;6121:9;6117:18;6096:40;:::i;:::-;6086:50;;6183:2;6172:9;6168:18;6155:32;6145:42;;5963:230;;;;;:::o;6198:258::-;;;6327:2;6315:9;6306:7;6302:23;6298:32;6295:2;;;6348:6;6340;6333:22;6295:2;-1:-1:-1;;6376:23:28;;;6446:2;6431:18;;;6418:32;;-1:-1:-1;6285:171:28:o;6461:293::-;;6582:2;6570:9;6561:7;6557:23;6553:32;6550:2;;;6603:6;6595;6588:22;6550:2;6640:9;6634:16;6690:4;6683:5;6679:16;6672:5;6669:27;6659:2;;6715:6;6707;6700:22;6759:398;-1:-1:-1;;;;;7040:15:28;;;7022:34;;7092:15;;;;7087:2;7072:18;;7065:43;7139:2;7124:18;;7117:34;;;;6949:2;6934:18;;6916:241::o;7162:297::-;-1:-1:-1;;;;;7354:55:28;;;;7336:74;;7441:2;7426:18;;7419:34;7324:2;7309:18;;7291:168::o;7464:187::-;7629:14;;7622:22;7604:41;;7592:2;7577:18;;7559:92::o;7656:177::-;7802:25;;;7790:2;7775:18;;7757:76::o;7838:248::-;-1:-1:-1;;;;;8024:55:28;;;;8006:74;;7994:2;7979:18;;7961:125::o;8849:411::-;9051:2;9033:21;;;9090:2;9070:18;;;9063:30;9129:34;9124:2;9109:18;;9102:62;9200:17;9195:2;9180:18;;9173:45;9250:3;9235:19;;9023:237::o;9265:350::-;9467:2;9449:21;;;9506:2;9486:18;;;9479:30;9545:28;9540:2;9525:18;;9518:56;9606:2;9591:18;;9439:176::o;9620:349::-;9822:2;9804:21;;;9861:2;9841:18;;;9834:30;9900:27;9895:2;9880:18;;9873:55;9960:2;9945:18;;9794:175::o;9974:412::-;10176:2;10158:21;;;10215:2;10195:18;;;10188:30;10254:34;10249:2;10234:18;;10227:62;10325:18;10320:2;10305:18;;10298:46;10376:3;10361:19;;10148:238::o;10391:341::-;10593:2;10575:21;;;10632:2;10612:18;;;10605:30;10671:19;10666:2;10651:18;;10644:47;10723:2;10708:18;;10565:167::o;10737:343::-;10939:2;10921:21;;;10978:2;10958:18;;;10951:30;11017:21;11012:2;10997:18;;10990:49;11071:2;11056:18;;10911:169::o;11085:340::-;11287:2;11269:21;;;11326:2;11306:18;;;11299:30;11365:18;11360:2;11345:18;;11338:46;11416:2;11401:18;;11259:166::o;11430:415::-;11632:2;11614:21;;;11671:2;11651:18;;;11644:30;11710:34;11705:2;11690:18;;11683:62;11781:21;11776:2;11761:18;;11754:49;11835:3;11820:19;;11604:241::o;11850:339::-;12052:2;12034:21;;;12091:2;12071:18;;;12064:30;12130:17;12125:2;12110:18;;12103:45;12180:2;12165:18;;12024:165::o;12194:343::-;12396:2;12378:21;;;12435:2;12415:18;;;12408:30;12474:21;12469:2;12454:18;;12447:49;12528:2;12513:18;;12368:169::o;12542:329::-;12744:2;12726:21;;;12783:1;12763:18;;;12756:29;12821:8;12816:2;12801:18;;12794:36;12862:2;12847:18;;12716:155::o;12876:350::-;13078:2;13060:21;;;13117:2;13097:18;;;13090:30;13156:28;13151:2;13136:18;;13129:56;13217:2;13202:18;;13050:176::o;13231:337::-;13433:2;13415:21;;;13472:2;13452:18;;;13445:30;13511:15;13506:2;13491:18;;13484:43;13559:2;13544:18;;13405:163::o;13573:339::-;13775:2;13757:21;;;13814:2;13794:18;;;13787:30;13853:17;13848:2;13833:18;;13826:45;13903:2;13888:18;;13747:165::o;13917:406::-;14119:2;14101:21;;;14158:2;14138:18;;;14131:30;14197:34;14192:2;14177:18;;14170:62;14268:12;14263:2;14248:18;;14241:40;14313:3;14298:19;;14091:232::o;14328:339::-;14530:2;14512:21;;;14569:2;14549:18;;;14542:30;14608:17;14603:2;14588:18;;14581:45;14658:2;14643:18;;14502:165::o;14672:339::-;14874:2;14856:21;;;14913:2;14893:18;;;14886:30;14952:17;14947:2;14932:18;;14925:45;15002:2;14987:18;;14846:165::o;15016:341::-;15218:2;15200:21;;;15257:2;15237:18;;;15230:30;15296:19;15291:2;15276:18;;15269:47;15348:2;15333:18;;15190:167::o;15362:411::-;15564:2;15546:21;;;15603:2;15583:18;;;15576:30;15642:34;15637:2;15622:18;;15615:62;15713:17;15708:2;15693:18;;15686:45;15763:3;15748:19;;15536:237::o;15778:413::-;15980:2;15962:21;;;16019:2;15999:18;;;15992:30;16058:34;16053:2;16038:18;;16031:62;16129:19;16124:2;16109:18;;16102:47;16181:3;16166:19;;15952:239::o;16196:723::-;;16378:3;16367:9;16363:19;16355:27;;16415:6;16409:13;16398:9;16391:32;-1:-1:-1;;;;;16483:4:28;16475:6;16471:17;16465:24;16461:73;16454:4;16443:9;16439:20;16432:103;16591:4;16583:6;16579:17;16573:24;16566:4;16555:9;16551:20;16544:54;16654:4;16646:6;16642:17;16636:24;16629:4;16618:9;16614:20;16607:54;16717:4;16709:6;16705:17;16699:24;16692:4;16681:9;16677:20;16670:54;16780:4;16772:6;16768:17;16762:24;16755:4;16744:9;16740:20;16733:54;16843:4;16835:6;16831:17;16825:24;16818:4;16807:9;16803:20;16796:54;16906:4;16898:6;16894:17;16888:24;16881:4;16870:9;16866:20;16859:54;16345:574;;;;:::o;17106:728::-;17449:25;;;-1:-1:-1;;;;;17510:55:28;;;;17505:2;17490:18;;17483:83;17597:2;17582:18;;17575:34;;;;17640:2;17625:18;;17618:34;;;;17683:3;17668:19;;17661:35;17727:3;17712:19;;17705:35;17771:3;17756:19;;17749:35;17815:3;17800:19;;17793:35;17436:3;17421:19;;17403:431::o;17839:248::-;18013:25;;;18069:2;18054:18;;18047:34;18001:2;17986:18;;17968:119::o;18092:399::-;18331:25;;;18387:2;18372:18;;18365:34;;;;18430:2;18415:18;;18408:34;18473:2;18458:18;;18451:34;18318:3;18303:19;;18285:206::o;18496:893::-;;18757:6;18746:9;18739:25;18783:2;18821:6;18816:2;18805:9;18801:18;18794:34;18864:3;18859:2;18848:9;18844:18;18837:31;18897:6;18891:13;18941:6;18935:3;18924:9;18920:19;18913:35;18966:4;18979:141;18993:6;18990:1;18987:13;18979:141;;;19089:14;;;19085:23;;19079:30;19054:17;;;19073:3;19050:27;19043:67;19008:10;;18979:141;;;19138:6;19135:1;19132:13;19129:2;;;19209:4;19203:3;19194:6;19183:9;19179:22;19175:32;19168:46;19129:2;-1:-1:-1;19327:2:28;19312:18;;19305:34;;;;-1:-1:-1;;19370:3:28;19355:19;;19348:35;;;;19292:3;19285:2;19264:15;;;-1:-1:-1;;19260:29:28;19245:45;19241:55;;;-1:-1:-1;;;18729:660:28:o;19394:319::-;19596:25;;;19652:2;19637:18;;19630:34;;;;19695:2;19680:18;;19673:34;19584:2;19569:18;;19551:162::o;20114:251::-;20184:2;20178:9;20214:17;;;20261:18;20246:34;;20282:22;;;20243:62;20240:2;;;20308:18;;:::i;:::-;20344:2;20337:22;20158:207;;-1:-1:-1;20158:207:28:o;20370:128::-;;20441:1;20437:6;20434:1;20431:13;20428:2;;;20447:18;;:::i;:::-;-1:-1:-1;20483:9:28;;20418:80::o;20503:274::-;;20569:1;20559:2;;-1:-1:-1;;;20601:1:28;20594:88;20705:4;20702:1;20695:15;20733:4;20730:1;20723:15;20559:2;-1:-1:-1;20762:9:28;;20549:228::o;20782:168::-;;20888:1;20884;20880:6;20876:14;20873:1;20870:21;20865:1;20858:9;20851:17;20847:45;20844:2;;;20895:18;;:::i;:::-;-1:-1:-1;20935:9:28;;20834:116::o;20955:125::-;;21023:1;21020;21017:8;21014:2;;;21028:18;;:::i;:::-;-1:-1:-1;21065:9:28;;21004:76::o;21085:135::-;;-1:-1:-1;;21145:17:28;;21142:2;;;21165:18;;:::i;:::-;-1:-1:-1;21212:1:28;21201:13;;21132:88::o;21225:184::-;-1:-1:-1;;;21274:1:28;21267:88;21374:4;21371:1;21364:15;21398:4;21395:1;21388:15;21414:184;-1:-1:-1;;;21463:1:28;21456:88;21563:4;21560:1;21553:15;21587:4;21584:1;21577:15" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "blockManager()": "d9169b32", - "blockReward()": "0ac168a1", - "calculateInactivityPenalties(uint256,uint256)": "1a69f008", - "getNumStakers()": "bc788d46", - "getRewardPool()": "1b8b13a7", - "getRoleAdmin(bytes32)": "248a9ca3", - "getStakeGettingReward()": "1ad54991", - "getStaker(uint256)": "e3c998fe", - "getStakerId(address)": "6022a485", - "giveBlockReward(uint256,uint256)": "746c8b65", - "givePenalties(uint256,uint256)": "54eae15e", - "giveRewards(uint256,uint256)": "fabb9890", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "init(address,address,address,address)": "06552ff3", - "numStakers()": "6c8b052a", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "rewardPool()": "66666aa9", - "sch()": "c584bb9f", - "setStakerEpochLastRevealed(uint256,uint256)": "9864f70a", - "slash(uint256,address,uint256)": "0f91ce19", - "stake(uint256,uint256)": "7b0472f0", - "stakeGettingReward()": "0ec88d3f", - "stakerIds(address)": "c8ae0d7d", - "stakers(uint256)": "fd5e6dd1", - "stateManager()": "2e716fb1", - "supportsInterface(bytes4)": "01ffc9a7", - "unstake(uint256)": "2e17de78", - "updateBlockReward(uint256)": "f580ffcb", - "updateCommitmentEpoch(uint256)": "188dc83b", - "voteManager()": "42c1e587", - "withdraw(uint256)": "2e1a7d4d" - } - } - } - }, - "contracts/Core/StateManager.sol": { - "StateManager": { - "abi": [ - { - "inputs": [], - "name": "getEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getState", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 134 - }, - { - "length": 20, - "start": 258 - }, - { - "length": 20, - "start": 404 - }, - { - "length": 20, - "start": 546 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50610339806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80631865c57d1461003b578063757991a814610059575b600080fd5b610043610061565b60405161005091906102a3565b60405180910390f35b6100436101fe565b60008073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100a857600080fd5b505af41580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e0919061028b565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561012457600080fd5b505af4158015610138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015c919061028b565b61016691906102ac565b61017090436102ac565b905073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101b657600080fd5b505af41580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee919061028b565b6101f890826102c0565b91505090565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561024457600080fd5b505af4158015610258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027c919061028b565b61028690436102ac565b905090565b60006020828403121561029c578081fd5b5051919050565b90815260200190565b6000826102bb576102bb6102d4565b500490565b6000826102cf576102cf6102d4565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea26469706673582212201df34d864afbe12e8017953d7b93e7b609e373816d6524bc9d9fc0a8874f11ba64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x339 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1865C57D EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x757991A8 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x2A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x43 PUSH2 0x1FE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x0 PUSH4 0xF4F29C5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x124 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x138 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x166 SWAP2 SWAP1 PUSH2 0x2AC JUMP JUMPDEST PUSH2 0x170 SWAP1 NUMBER PUSH2 0x2AC JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xF4F29C5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x1F8 SWAP1 DUP3 PUSH2 0x2C0 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x258 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x27C SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x286 SWAP1 NUMBER PUSH2 0x2AC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29C JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2BB JUMPI PUSH2 0x2BB PUSH2 0x2D4 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2CF JUMPI PUSH2 0x2CF PUSH2 0x2D4 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SAR RETURN 0x4D DUP7 0x4A 0xFB 0xE1 0x2E DUP1 OR SWAP6 RETURNDATASIZE PUSH28 0x93E7B609E373816D6524BC9D9FC0A8874F11BA64736F6C6343000800 STOP CALLER ", - "sourceMap": "97:347:11:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:823:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "95:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "141:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "150:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "158:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "143:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "143:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "143:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "116:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "125:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "112:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "112:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "137:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "108:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "108:32:28" - }, - "nodeType": "YulIf", - "src": "105:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "176:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "192:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "186:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "186:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "176:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "61:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "72:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "84:6:28", - "type": "" - } - ], - "src": "14:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "314:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "324:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "336:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "347:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "332:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "332:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "324:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "366:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "377:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "359:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "359:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "359:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "283:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "294:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "305:4:28", - "type": "" - } - ], - "src": "213:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "441:74:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "464:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "466:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "466:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "466:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "461:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "454:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "454:9:28" - }, - "nodeType": "YulIf", - "src": "451:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "495:14:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "504:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "507:1:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "500:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "500:9:28" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "495:1:28" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "426:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "429:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "435:1:28", - "type": "" - } - ], - "src": "395:120:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "558:74:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "581:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "583:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "583:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "583:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "578:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "571:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "571:9:28" - }, - "nodeType": "YulIf", - "src": "568:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "612:14:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "621:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "624:1:28" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "617:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "617:9:28" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "612:1:28" - } - ] - } - ] - }, - "name": "mod_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "543:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "546:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "552:1:28", - "type": "" - } - ], - "src": "520:112:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "669:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "686:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "689:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "679:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "679:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "679:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "783:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "786:4:28", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "776:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "776:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "776:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "807:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "810:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "800:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "800:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "800:15:28" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "637:184:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function panic_error_0x12()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 102 - }, - { - "length": 20, - "start": 226 - }, - { - "length": 20, - "start": 372 - }, - { - "length": 20, - "start": 514 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80631865c57d1461003b578063757991a814610059575b600080fd5b610043610061565b60405161005091906102a3565b60405180910390f35b6100436101fe565b60008073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100a857600080fd5b505af41580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e0919061028b565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561012457600080fd5b505af4158015610138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015c919061028b565b61016691906102ac565b61017090436102ac565b905073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101b657600080fd5b505af41580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee919061028b565b6101f890826102c0565b91505090565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561024457600080fd5b505af4158015610258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027c919061028b565b61028690436102ac565b905090565b60006020828403121561029c578081fd5b5051919050565b90815260200190565b6000826102bb576102bb6102d4565b500490565b6000826102cf576102cf6102d4565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea26469706673582212201df34d864afbe12e8017953d7b93e7b609e373816d6524bc9d9fc0a8874f11ba64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1865C57D EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x757991A8 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x2A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x43 PUSH2 0x1FE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x0 PUSH4 0xF4F29C5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x124 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x138 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x166 SWAP2 SWAP1 PUSH2 0x2AC JUMP JUMPDEST PUSH2 0x170 SWAP1 NUMBER PUSH2 0x2AC JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xF4F29C5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x1F8 SWAP1 DUP3 PUSH2 0x2C0 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x258 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x27C SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x286 SWAP1 NUMBER PUSH2 0x2AC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29C JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2BB JUMPI PUSH2 0x2BB PUSH2 0x2D4 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2CF JUMPI PUSH2 0x2CF PUSH2 0x2D4 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SAR RETURN 0x4D DUP7 0x4A 0xFB 0xE1 0x2E DUP1 OR SWAP6 RETURNDATASIZE PUSH28 0x93E7B609E373816D6524BC9D9FC0A8874F11BA64736F6C6343000800 STOP CALLER ", - "sourceMap": "97:347:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;247:195;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;126:115;;;:::i;247:195::-;290:7;309:13;364:9;:19;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;340:9;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;;;:::i;:::-;326:60;;:12;:60;:::i;:::-;309:78;;412:9;:19;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;405:29;;:5;:29;:::i;:::-;397:38;;;247:195;:::o;126:115::-;169:7;209:9;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;195:38;;:12;:38;:::i;:::-;188:46;;126:115;:::o;14:194:28:-;;137:2;125:9;116:7;112:23;108:32;105:2;;;158:6;150;143:22;105:2;-1:-1:-1;186:16:28;;95:113;-1:-1:-1;95:113:28:o;213:177::-;359:25;;;347:2;332:18;;314:76::o;395:120::-;;461:1;451:2;;466:18;;:::i;:::-;-1:-1:-1;500:9:28;;441:74::o;520:112::-;;578:1;568:2;;583:18;;:::i;:::-;-1:-1:-1;617:9:28;;558:74::o;637:184::-;689:77;686:1;679:88;786:4;783:1;776:15;810:4;807:1;800:15" - }, - "methodIdentifiers": { - "getEpoch()": "757991a8", - "getState()": "1865c57d" - } - } - } - }, - "contracts/Core/VoteManager.sol": { - "VoteManager": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Committed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Revealed", - "type": "event" - }, - { - "inputs": [], - "name": "blockManager", - "outputs": [ - { - "internalType": "contract IBlockManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - } - ], - "name": "commit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "commitments", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "getCommitment", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getVote", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "internalType": "struct Structs.Vote", - "name": "vote", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getVoteWeight", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_blockManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "root", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes32[][]", - "name": "proofs", - "type": "bytes32[][]" - }, - { - "internalType": "bytes32", - "name": "secret", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "stakerAddress", - "type": "address" - } - ], - "name": "reveal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeManager", - "outputs": [ - { - "internalType": "contract IStakeManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "voteWeights", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "votes", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1205 - }, - { - "length": 20, - "start": 2436 - }, - { - "length": 20, - "start": 3469 - }, - { - "length": 20, - "start": 4604 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50611cd8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638ce7ff4a11610097578063d13e2e6011610066578063d13e2e60146101f5578063d9169b3214610208578063f2f0387714610210578063f322bd7d146101cf576100f5565b80638ce7ff4a1461019c5780638fd5ff00146101bc5780639c66556f146101cf578063a6a145d9146101e2576100f5565b80632e716fb1116100d35780632e716fb11461014c5780637164f0d6146101615780637542ff95146101815780638a757ecc14610189576100f5565b8063125f68f1146100fa578063184b95591461010f578063283e290514610122575b600080fd5b61010d610108366004611774565b610223565b005b61010d61011d366004611554565b610b29565b610135610130366004611859565b610b80565b6040516101439291906118ac565b60405180910390f35b610154610ba8565b60405161014391906118d9565b61017461016f366004611753565b610bb7565b60405161014391906118ba565b610154610bd2565b610174610197366004611753565b610be1565b6101af6101aa366004611859565b610bfe565b6040516101439190611b11565b6101746101ca366004611859565b610c44565b6101746101dd366004611859565b610c67565b6101746101f0366004611753565b610c8b565b610174610203366004611753565b610ca8565b610154610cc2565b61010d61021e366004611753565b610cd1565b60055460408051630eaf323560e31b8152905188926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561026757600080fd5b505afa15801561027b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029f919061173b565b81146102c65760405162461bcd60e51b81526004016102bd90611a37565b60405180910390fd5b60048054604051636022a48560e01b81526000926001600160a01b0390921691636022a485916102f8918791016118d9565b60206040518083038186803b15801561031057600080fd5b505afa158015610324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610348919061173b565b90506000811161036a5760405162461bcd60e51b81526004016102bd90611a00565b600480546040516371e4cc7f60e11b81526000926001600160a01b039092169163e3c998fe9161039c918691016118ba565b6101006040518083038186803b1580156103b557600080fd5b505afa1580156103c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ed91906116a5565b60008a8152602081815260408083208684529091529020549091506104245760405162461bcd60e51b81526004016102bd90611a6e565b60008981526020818152604080832085845282529182902054915161044f918c918c918a91016118c3565b60405160208183030381529060405280519060200120146104825760405162461bcd60e51b81526004016102bd906118ed565b336001600160a01b03851614156109625773__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104d757600080fd5b505af41580156104eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050f9190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056057600080fd5b505afa158015610574573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610598919061173b565b146105b55760405162461bcd60e51b81526004016102bd90611992565b60008160400151116105d95760405162461bcd60e51b81526004016102bd90611924565b60005b87518110156108065761066487828151811061060857634e487b7160e01b600052603260045260246000fd5b60200260200101518a8a848151811061063157634e487b7160e01b600052603260045260246000fd5b602002602001015160405160200161064991906118ba565b6040516020818303038152906040528051906020012061133b565b6106805760405162461bcd60e51b81526004016102bd9061195b565b60405180604001604052808983815181106106ab57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101518252604080860180519383019390935260008e8152600180845282822089835284528282208783528452828220865181559584015195019490945591518d8452600382528284208585529091529082208a51919290918b908590811061072d57634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000205461074e9190611c14565b60008b815260036020908152604080832085845290915281208a519091908b908590811061078c57634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020819055508160400151600260008c81526020019081526020016000206000838152602001908152602001600020546107da9190611c14565b60008b8152600260209081526040808320858452909152902055806107fe81611c43565b9150506105dc565b50600480546040517ffabb98900000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163fabb9890916108519186918e91016118ac565b600060405180830381600087803b15801561086b57600080fd5b505af115801561087f573d6000803e3d6000fd5b50505060008a815260208181526040808320868452909152808220919091556004805491517f9864f70a0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169250639864f70a916108e89186918e91016118ac565b600060405180830381600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b505050507f17f4759c403dfc3fa26ab75ce82d3d090a0bdbfe9977d8ee87445d6dd83c68a1898383604001518a42604051610955959493929190611b62565b60405180910390a1610b1e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109a657600080fd5b505af41580156109ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109de9190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a67919061173b565b14610a845760405162461bcd60e51b81526004016102bd906119c9565b600089815260208181526040808320858452909152808220919091556004805491517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630f91ce1991610aeb91869133918f9101611b28565b600060405180830381600087803b158015610b0557600080fd5b505af1158015610b19573d6000803e3d6000fd5b505050505b505050505050505050565b600480546001600160a01b039485167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617909155600580549385169382169390931790925560068054919093169116179055565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b6005546001600160a01b031681565b60009182526020828152604080842092845291905290205490565b6004546001600160a01b031681565b600260209081526000928352604080842090915290825290205481565b610c066113f6565b506000838152600160208181526040808420868552825280842085855282529283902083518085019094528054845290910154908201529392505050565b600360209081526000938452604080852082529284528284209052825290205481565b60009283526003602090815260408085209385529281528284209184525290205490565b600091825260026020908152604080842092845291905290205490565b600060208181529281526040808220909352908152205481565b6006546001600160a01b031681565b60055460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d1557600080fd5b505afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d919061173b565b8114610d6b5760405162461bcd60e51b81526004016102bd90611a37565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610daf57600080fd5b505af4158015610dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de79190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3857600080fd5b505afa158015610e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e70919061173b565b8114610e8e5760405162461bcd60e51b81526004016102bd90611aa3565b60048054604051636022a48560e01b81526000926001600160a01b0390921691636022a48591610ec0913391016118d9565b60206040518083038186803b158015610ed857600080fd5b505afa158015610eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f10919061173b565b60008681526020818152604080832084845290915290205490915015610f485760405162461bcd60e51b81526004016102bd90611ada565b600480546040516371e4cc7f60e11b81526000926001600160a01b039092169163e3c998fe91610f7a918691016118ba565b6101006040518083038186803b158015610f9357600080fd5b505afa158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb91906116a5565b6006549091506001600160a01b03166304c07569610fea600189611c2c565b6040518263ffffffff1660e01b815260040161100691906118ba565b60006040518083038186803b15801561101e57600080fd5b505afa158015611032573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261105a919081019061159e565b511580156110f057506006546000906001600160a01b031663e38c7c4261108260018a611c2c565b6040518263ffffffff1660e01b815260040161109e91906118ba565b60206040518083038186803b1580156110b657600080fd5b505afa1580156110ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ee919061173b565b115b1561115e57600660009054906101000a90046001600160a01b03166001600160a01b0316639b87f6446040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561114557600080fd5b505af1158015611159573d6000803e3d6000fd5b505050505b600480546040517f54eae15e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116916354eae15e916111a89186918b91016118ac565b600060405180830381600087803b1580156111c257600080fd5b505af11580156111d6573d6000803e3d6000fd5b5050505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561121e57600080fd5b505af4158015611232573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611256919061173b565b81604001511061133357600086815260208181526040808320858452909152908190208690556004805491517f188dc83b0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163188dc83b916112c3918691016118ba565b600060405180830381600087803b1580156112dd57600080fd5b505af11580156112f1573d6000803e3d6000fd5b505050507f6ad04b07dbe80ee3971460ebc13808fb6dd0fa67fbf7d7ebc4de85811d2c99288683874260405161132a9493929190611b47565b60405180910390a15b505050505050565b600081815b85518110156113eb57600086828151811061136b57634e487b7160e01b600052603260045260246000fd5b602002602001015190508083116113ac57828160405160200161138f9291906118ac565b6040516020818303038152906040528051906020012092506113d8565b80836040516020016113bf9291906118ac565b6040516020818303038152906040528051906020012092505b50806113e381611c43565b915050611340565b509092149392505050565b604051806040016040528060008152602001600081525090565b803561141b81611c8a565b919050565b805161141b81611c8a565b600082601f83011261143b578081fd5b8135602061145061144b83611bf0565b611bc6565b82815281810190858301855b858110156114dd578135880189603f820112611476578788fd5b85810135604061148861144b83611bf0565b828152888101908483018a8502860184018f10156114a4578c8dfd5b8c95505b848610156114c6578035835260019590950194918a01918a016114a8565b50885250505093850193509084019060010161145c565b5090979650505050505050565b600082601f8301126114fa578081fd5b8151602061150a61144b83611bf0565b8281528181019085830183850287018401881015611526578586fd5b855b858110156114dd57815184529284019290840190600101611528565b8051801515811461141b57600080fd5b600080600060608486031215611568578283fd5b833561157381611c8a565b9250602084013561158381611c8a565b9150604084013561159381611c8a565b809150509250925092565b6000602082840312156115af578081fd5b815167ffffffffffffffff808211156115c6578283fd5b81840191506101008083870312156115dc578384fd5b6115e581611bc6565b9050825181526020830151828111156115fc578485fd5b611608878286016114ea565b60208301525060408301518281111561161f578485fd5b61162b878286016114ea565b604083015250606083015182811115611642578485fd5b61164e878286016114ea565b606083015250608083015182811115611665578485fd5b611671878286016114ea565b60808301525060a083015160a082015260c083015160c082015261169760e08401611544565b60e082015295945050505050565b60006101008083850312156116b8578182fd5b6040519081019067ffffffffffffffff821181831017156116db576116db611c74565b81604052835181526116ef60208501611420565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b60006020828403121561174c578081fd5b5051919050565b60008060408385031215611765578182fd5b50508035926020909101359150565b60008060008060008060c0878903121561178c578384fd5b863595506020808801359550604088013567ffffffffffffffff808211156117b2578687fd5b818a0191508a601f8301126117c5578687fd5b81356117d361144b82611bf0565b81815284810190848601868402860187018f10156117ef578a8bfd5b8a95505b838610156118115780358352600195909501949186019186016117f3565b509850505060608a0135925080831115611829578485fd5b505061183789828a0161142b565b9350506080870135915061184d60a08801611410565b90509295509295509295565b60008060006060848603121561186d578081fd5b505081359360208301359350604090920135919050565b600060208284031215611895578081fd5b815160ff811681146118a5578182fd5b9392505050565b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b6001600160a01b0391909116815260200190565b60208082526016908201527f696e636f7272656374207365637265742f76616c756500000000000000000000604082015260600190565b60208082526011908201527f6e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526014908201527f696e76616c6964206d65726b6c652070726f6f66000000000000000000000000604082015260600190565b60208082526010908201527f4e6f742072657665616c20737461746500000000000000000000000000000000604082015260600190565b60208082526010908201527f4e6f7420636f6d6d697420737461746500000000000000000000000000000000604082015260600190565b6020808252601d908201527f537472756374732e5374616b657220646f6573206e6f74206578697374000000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252818101527f6e6f7420636f6d6d69746564206f7220616c72656164792072657665616c6564604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526010908201527f616c726561647920636f6d6d6974656400000000000000000000000000000000604082015260600190565b815181526020918201519181019190915260400190565b9283526001600160a01b03919091166020830152604082015260600190565b93845260208401929092526040830152606082015260800190565b600060a082018783526020878185015286604085015260a0606085015281865180845260c0860191508288019350845b81811015611bae57845183529383019391830191600101611b92565b50508093505050508260808301529695505050505050565b60405181810167ffffffffffffffff81118282101715611be857611be8611c74565b604052919050565b600067ffffffffffffffff821115611c0a57611c0a611c74565b5060209081020190565b60008219821115611c2757611c27611c5e565b500190565b600082821015611c3e57611c3e611c5e565b500390565b6000600019821415611c5757611c57611c5e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611c9f57600080fd5b5056fea26469706673582212208289a41e24a03239f23892b8503b0759ef8661a797be91b57f46a50b60dc522d64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CD8 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8CE7FF4A GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD13E2E60 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD13E2E60 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0xD9169B32 EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0xF2F03877 EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0xF322BD7D EQ PUSH2 0x1CF JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x8CE7FF4A EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x8FD5FF00 EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0x9C66556F EQ PUSH2 0x1CF JUMPI DUP1 PUSH4 0xA6A145D9 EQ PUSH2 0x1E2 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x2E716FB1 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x7164F0D6 EQ PUSH2 0x161 JUMPI DUP1 PUSH4 0x7542FF95 EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x8A757ECC EQ PUSH2 0x189 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x125F68F1 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x184B9559 EQ PUSH2 0x10F JUMPI DUP1 PUSH4 0x283E2905 EQ PUSH2 0x122 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10D PUSH2 0x108 CALLDATASIZE PUSH1 0x4 PUSH2 0x1774 JUMP JUMPDEST PUSH2 0x223 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x10D PUSH2 0x11D CALLDATASIZE PUSH1 0x4 PUSH2 0x1554 JUMP JUMPDEST PUSH2 0xB29 JUMP JUMPDEST PUSH2 0x135 PUSH2 0x130 CALLDATASIZE PUSH1 0x4 PUSH2 0x1859 JUMP JUMPDEST PUSH2 0xB80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP3 SWAP2 SWAP1 PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x154 PUSH2 0xBA8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0x18D9 JUMP JUMPDEST PUSH2 0x174 PUSH2 0x16F CALLDATASIZE PUSH1 0x4 PUSH2 0x1753 JUMP JUMPDEST PUSH2 0xBB7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0x18BA JUMP JUMPDEST PUSH2 0x154 PUSH2 0xBD2 JUMP JUMPDEST PUSH2 0x174 PUSH2 0x197 CALLDATASIZE PUSH1 0x4 PUSH2 0x1753 JUMP JUMPDEST PUSH2 0xBE1 JUMP JUMPDEST PUSH2 0x1AF PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x1859 JUMP JUMPDEST PUSH2 0xBFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0x1B11 JUMP JUMPDEST PUSH2 0x174 PUSH2 0x1CA CALLDATASIZE PUSH1 0x4 PUSH2 0x1859 JUMP JUMPDEST PUSH2 0xC44 JUMP JUMPDEST PUSH2 0x174 PUSH2 0x1DD CALLDATASIZE PUSH1 0x4 PUSH2 0x1859 JUMP JUMPDEST PUSH2 0xC67 JUMP JUMPDEST PUSH2 0x174 PUSH2 0x1F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1753 JUMP JUMPDEST PUSH2 0xC8B JUMP JUMPDEST PUSH2 0x174 PUSH2 0x203 CALLDATASIZE PUSH1 0x4 PUSH2 0x1753 JUMP JUMPDEST PUSH2 0xCA8 JUMP JUMPDEST PUSH2 0x154 PUSH2 0xCC2 JUMP JUMPDEST PUSH2 0x10D PUSH2 0x21E CALLDATASIZE PUSH1 0x4 PUSH2 0x1753 JUMP JUMPDEST PUSH2 0xCD1 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP9 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x27B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x29F SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST DUP2 EQ PUSH2 0x2C6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1A37 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x6022A485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x6022A485 SWAP2 PUSH2 0x2F8 SWAP2 DUP8 SWAP2 ADD PUSH2 0x18D9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x310 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x324 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x348 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x36A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1A00 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xE3C998FE SWAP2 PUSH2 0x39C SWAP2 DUP7 SWAP2 ADD PUSH2 0x18BA JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3C9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3ED SWAP2 SWAP1 PUSH2 0x16A5 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x424 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1A6E JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SLOAD SWAP2 MLOAD PUSH2 0x44F SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP11 SWAP2 ADD PUSH2 0x18C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x482 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x18ED JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EQ ISZERO PUSH2 0x962 JUMPI PUSH20 0x0 PUSH4 0xA475B5DD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4EB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x50F SWAP2 SWAP1 PUSH2 0x1884 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x560 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x574 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x598 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST EQ PUSH2 0x5B5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1992 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x40 ADD MLOAD GT PUSH2 0x5D9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1924 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0x806 JUMPI PUSH2 0x664 DUP8 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x608 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP11 DUP11 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x631 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x649 SWAP2 SWAP1 PUSH2 0x18BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x133B JUMP JUMPDEST PUSH2 0x680 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x195B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP10 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x6AB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD DUP3 MSTORE PUSH1 0x40 DUP1 DUP7 ADD DUP1 MLOAD SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x0 DUP15 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 MSTORE DUP3 DUP3 KECCAK256 DUP10 DUP4 MSTORE DUP5 MSTORE DUP3 DUP3 KECCAK256 DUP8 DUP4 MSTORE DUP5 MSTORE DUP3 DUP3 KECCAK256 DUP7 MLOAD DUP2 SSTORE SWAP6 DUP5 ADD MLOAD SWAP6 ADD SWAP5 SWAP1 SWAP5 SSTORE SWAP2 MLOAD DUP14 DUP5 MSTORE PUSH1 0x3 DUP3 MSTORE DUP3 DUP5 KECCAK256 DUP6 DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP3 KECCAK256 DUP11 MLOAD SWAP2 SWAP3 SWAP1 SWAP2 DUP12 SWAP1 DUP6 SWAP1 DUP2 LT PUSH2 0x72D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x74E SWAP2 SWAP1 PUSH2 0x1C14 JUMP JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP11 MLOAD SWAP1 SWAP2 SWAP1 DUP12 SWAP1 DUP6 SWAP1 DUP2 LT PUSH2 0x78C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x40 ADD MLOAD PUSH1 0x2 PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x7DA SWAP2 SWAP1 PUSH2 0x1C14 JUMP JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE DUP1 PUSH2 0x7FE DUP2 PUSH2 0x1C43 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x5DC JUMP JUMPDEST POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH32 0xFABB989000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xFABB9890 SWAP2 PUSH2 0x851 SWAP2 DUP7 SWAP2 DUP15 SWAP2 ADD PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x86B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x87F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP2 MLOAD PUSH32 0x9864F70A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 POP PUSH4 0x9864F70A SWAP2 PUSH2 0x8E8 SWAP2 DUP7 SWAP2 DUP15 SWAP2 ADD PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x902 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x916 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x17F4759C403DFC3FA26AB75CE82D3D090A0BDBFE9977D8EE87445D6DD83C68A1 DUP10 DUP4 DUP4 PUSH1 0x40 ADD MLOAD DUP11 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x955 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0xB1E JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9DE SWAP2 SWAP1 PUSH2 0x1884 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA43 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA67 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST EQ PUSH2 0xA84 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP2 MLOAD PUSH32 0xF91CE1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xF91CE19 SWAP2 PUSH2 0xAEB SWAP2 DUP7 SWAP2 CALLER SWAP2 DUP16 SWAP2 ADD PUSH2 0x1B28 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB05 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB19 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x5 DUP1 SLOAD SWAP4 DUP6 AND SWAP4 DUP3 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP1 SLOAD SWAP2 SWAP1 SWAP4 AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 DUP3 MSTORE SWAP4 DUP6 MSTORE DUP4 DUP6 KECCAK256 SWAP1 MSTORE SWAP1 DUP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP3 DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xC06 PUSH2 0x13F6 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP7 DUP6 MSTORE DUP3 MSTORE DUP1 DUP5 KECCAK256 DUP6 DUP6 MSTORE DUP3 MSTORE SWAP3 DUP4 SWAP1 KECCAK256 DUP4 MLOAD DUP1 DUP6 ADD SWAP1 SWAP5 MSTORE DUP1 SLOAD DUP5 MSTORE SWAP1 SWAP2 ADD SLOAD SWAP1 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP3 MSTORE SWAP3 DUP5 MSTORE DUP3 DUP5 KECCAK256 SWAP1 MSTORE DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP4 DUP6 MSTORE SWAP3 DUP2 MSTORE DUP3 DUP5 KECCAK256 SWAP2 DUP5 MSTORE MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP3 DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 DUP2 MSTORE SWAP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 MSTORE SWAP1 DUP2 MSTORE KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD29 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD4D SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST DUP2 EQ PUSH2 0xD6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1A37 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xDC3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDE7 SWAP2 SWAP1 PUSH2 0x1884 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE4C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE70 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST DUP2 EQ PUSH2 0xE8E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1AA3 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x6022A485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x6022A485 SWAP2 PUSH2 0xEC0 SWAP2 CALLER SWAP2 ADD PUSH2 0x18D9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xED8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF10 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0xF48 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1ADA JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xE3C998FE SWAP2 PUSH2 0xF7A SWAP2 DUP7 SWAP2 ADD PUSH2 0x18BA JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xFA7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFCB SWAP2 SWAP1 PUSH2 0x16A5 JUMP JUMPDEST PUSH1 0x6 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4C07569 PUSH2 0xFEA PUSH1 0x1 DUP10 PUSH2 0x1C2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1006 SWAP2 SWAP1 PUSH2 0x18BA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x101E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1032 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x105A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x159E JUMP JUMPDEST MLOAD ISZERO DUP1 ISZERO PUSH2 0x10F0 JUMPI POP PUSH1 0x6 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE38C7C42 PUSH2 0x1082 PUSH1 0x1 DUP11 PUSH2 0x1C2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x109E SWAP2 SWAP1 PUSH2 0x18BA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x10CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10EE SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x115E JUMPI PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9B87F644 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1145 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1159 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH32 0x54EAE15E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x54EAE15E SWAP2 PUSH2 0x11A8 SWAP2 DUP7 SWAP2 DUP12 SWAP2 ADD PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x11D6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x121E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1232 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1256 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST DUP2 PUSH1 0x40 ADD MLOAD LT PUSH2 0x1333 JUMPI PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP7 SWAP1 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP2 MLOAD PUSH32 0x188DC83B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x188DC83B SWAP2 PUSH2 0x12C3 SWAP2 DUP7 SWAP2 ADD PUSH2 0x18BA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x12F1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x6AD04B07DBE80EE3971460EBC13808FB6DD0FA67FBF7D7EBC4DE85811D2C9928 DUP7 DUP4 DUP8 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x132A SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x13EB JUMPI PUSH1 0x0 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x136B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP1 DUP4 GT PUSH2 0x13AC JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x138F SWAP3 SWAP2 SWAP1 PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP PUSH2 0x13D8 JUMP JUMPDEST DUP1 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x13BF SWAP3 SWAP2 SWAP1 PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP JUMPDEST POP DUP1 PUSH2 0x13E3 DUP2 PUSH2 0x1C43 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1340 JUMP JUMPDEST POP SWAP1 SWAP3 EQ SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x141B DUP2 PUSH2 0x1C8A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x141B DUP2 PUSH2 0x1C8A JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x143B JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x1450 PUSH2 0x144B DUP4 PUSH2 0x1BF0 JUMP JUMPDEST PUSH2 0x1BC6 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP2 DUP2 ADD SWAP1 DUP6 DUP4 ADD DUP6 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x14DD JUMPI DUP2 CALLDATALOAD DUP9 ADD DUP10 PUSH1 0x3F DUP3 ADD SLT PUSH2 0x1476 JUMPI DUP8 DUP9 REVERT JUMPDEST DUP6 DUP2 ADD CALLDATALOAD PUSH1 0x40 PUSH2 0x1488 PUSH2 0x144B DUP4 PUSH2 0x1BF0 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP9 DUP2 ADD SWAP1 DUP5 DUP4 ADD DUP11 DUP6 MUL DUP7 ADD DUP5 ADD DUP16 LT ISZERO PUSH2 0x14A4 JUMPI DUP13 DUP14 REVERT JUMPDEST DUP13 SWAP6 POP JUMPDEST DUP5 DUP7 LT ISZERO PUSH2 0x14C6 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP2 DUP11 ADD SWAP2 DUP11 ADD PUSH2 0x14A8 JUMP JUMPDEST POP DUP9 MSTORE POP POP POP SWAP4 DUP6 ADD SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x145C JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x14FA JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x150A PUSH2 0x144B DUP4 PUSH2 0x1BF0 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP2 DUP2 ADD SWAP1 DUP6 DUP4 ADD DUP4 DUP6 MUL DUP8 ADD DUP5 ADD DUP9 LT ISZERO PUSH2 0x1526 JUMPI DUP6 DUP7 REVERT JUMPDEST DUP6 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x14DD JUMPI DUP2 MLOAD DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1528 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x141B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1568 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x1573 DUP2 PUSH2 0x1C8A JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x1583 DUP2 PUSH2 0x1C8A JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x1593 DUP2 PUSH2 0x1C8A JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15AF JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x15C6 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP PUSH2 0x100 DUP1 DUP4 DUP8 SUB SLT ISZERO PUSH2 0x15DC JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x15E5 DUP2 PUSH2 0x1BC6 JUMP JUMPDEST SWAP1 POP DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x15FC JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1608 DUP8 DUP3 DUP7 ADD PUSH2 0x14EA JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x161F JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x162B DUP8 DUP3 DUP7 ADD PUSH2 0x14EA JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1642 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x164E DUP8 DUP3 DUP7 ADD PUSH2 0x14EA JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1665 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1671 DUP8 DUP3 DUP7 ADD PUSH2 0x14EA JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x1697 PUSH1 0xE0 DUP5 ADD PUSH2 0x1544 JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16B8 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x16DB JUMPI PUSH2 0x16DB PUSH2 0x1C74 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 MLOAD DUP2 MSTORE PUSH2 0x16EF PUSH1 0x20 DUP6 ADD PUSH2 0x1420 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP5 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0xE0 DUP3 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x174C JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1765 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x178C JUMPI DUP4 DUP5 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 DUP1 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x17B2 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP2 DUP11 ADD SWAP2 POP DUP11 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x17C5 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x17D3 PUSH2 0x144B DUP3 PUSH2 0x1BF0 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 DUP2 ADD SWAP1 DUP5 DUP7 ADD DUP7 DUP5 MUL DUP7 ADD DUP8 ADD DUP16 LT ISZERO PUSH2 0x17EF JUMPI DUP11 DUP12 REVERT JUMPDEST DUP11 SWAP6 POP JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x1811 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP2 DUP7 ADD SWAP2 DUP7 ADD PUSH2 0x17F3 JUMP JUMPDEST POP SWAP9 POP POP POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x1829 JUMPI DUP5 DUP6 REVERT JUMPDEST POP POP PUSH2 0x1837 DUP10 DUP3 DUP11 ADD PUSH2 0x142B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH2 0x184D PUSH1 0xA0 DUP9 ADD PUSH2 0x1410 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x186D JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1895 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x18A5 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x16 SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F7272656374207365637265742F76616C756500000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x6E6F6E706F736974697665207374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x696E76616C6964206D65726B6C652070726F6F66000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F742072657665616C20737461746500000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420636F6D6D697420737461746500000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1D SWAP1 DUP3 ADD MSTORE PUSH32 0x537472756374732E5374616B657220646F6573206E6F74206578697374000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x6E6F7420636F6D6D69746564206F7220616C72656164792072657665616C6564 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x616C726561647920636F6D6D6974656400000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 ADD MLOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD DUP8 DUP4 MSTORE PUSH1 0x20 DUP8 DUP2 DUP6 ADD MSTORE DUP7 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x60 DUP6 ADD MSTORE DUP2 DUP7 MLOAD DUP1 DUP5 MSTORE PUSH1 0xC0 DUP7 ADD SWAP2 POP DUP3 DUP9 ADD SWAP4 POP DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1BAE JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x1B92 JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1BE8 JUMPI PUSH2 0x1BE8 PUSH2 0x1C74 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1C0A JUMPI PUSH2 0x1C0A PUSH2 0x1C74 JUMP JUMPDEST POP PUSH1 0x20 SWAP1 DUP2 MUL ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1C27 JUMPI PUSH2 0x1C27 PUSH2 0x1C5E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1C3E JUMPI PUSH2 0x1C3E PUSH2 0x1C5E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x1C57 JUMPI PUSH2 0x1C57 PUSH2 0x1C5E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1C9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP3 DUP10 LOG4 0x1E 0x24 LOG0 ORIGIN CODECOPY CALLCODE CODESIZE SWAP3 0xB8 POP EXTCODESIZE SMOD MSIZE 0xEF DUP7 PUSH2 0xA797 0xBE SWAP2 0xB5 PUSH32 0x46A50B60DC522D64736F6C634300080000330000000000000000000000000000 ", - "sourceMap": "322:4934:12:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:17779:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "65:87:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "75:29:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "97:6:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "84:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "84:20:28" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "75:5:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "140:5:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "113:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "113:33:28" - }, - "nodeType": "YulExpressionStatement", - "src": "113:33:28" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "44:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "55:5:28", - "type": "" - } - ], - "src": "14:138:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "219:80:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "229:22:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "244:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "238:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "238:13:28" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "229:5:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "287:5:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "260:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "260:33:28" - }, - "nodeType": "YulExpressionStatement", - "src": "260:33:28" - } - ] - }, - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "198:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "209:5:28", - "type": "" - } - ], - "src": "157:142:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "388:1315:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "437:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "446:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "453:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "439:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "439:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "439:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "416:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "424:4:28", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "412:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "412:17:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "431:3:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "408:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "408:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "401:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "401:35:28" - }, - "nodeType": "YulIf", - "src": "398:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "470:30:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "493:6:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "480:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "480:20:28" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "474:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "509:14:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "519:4:28", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "513:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "532:90:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "618:2:28" - } - ], - "functionName": { - "name": "array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulIdentifier", - "src": "558:59:28" - }, - "nodeType": "YulFunctionCall", - "src": "558:63:28" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "543:14:28" - }, - "nodeType": "YulFunctionCall", - "src": "543:79:28" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "536:3:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "631:16:28", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "644:3:28" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "635:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "663:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "668:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "656:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "656:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "656:15:28" - }, - { - "nodeType": "YulAssignment", - "src": "680:19:28", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "691:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "696:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "687:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "687:12:28" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "680:3:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "708:26:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "723:6:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "731:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "719:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "719:15:28" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "712:3:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "743:14:28", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "752:5:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "747:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "811:863:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "825:40:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "839:6:28" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "860:3:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "847:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "847:17:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "835:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "835:30:28" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "829:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "911:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "920:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "927:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "913:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "913:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "913:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "896:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "900:2:28", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "892:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "892:11:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "905:3:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "888:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "888:21:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "881:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "881:29:28" - }, - "nodeType": "YulIf", - "src": "878:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "948:35:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "975:2:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "979:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "971:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "971:11:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "958:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "958:25:28" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "952:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "996:12:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1006:2:28", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "_5", - "nodeType": "YulTypedName", - "src": "1000:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1021:92:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1109:2:28" - } - ], - "functionName": { - "name": "array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulIdentifier", - "src": "1049:59:28" - }, - "nodeType": "YulFunctionCall", - "src": "1049:63:28" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "1034:14:28" - }, - "nodeType": "YulFunctionCall", - "src": "1034:79:28" - }, - "variables": [ - { - "name": "dst_2", - "nodeType": "YulTypedName", - "src": "1025:5:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1126:18:28", - "value": { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1139:5:28" - }, - "variables": [ - { - "name": "dst_3", - "nodeType": "YulTypedName", - "src": "1130:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1164:5:28" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1171:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1157:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1157:17:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1157:17:28" - }, - { - "nodeType": "YulAssignment", - "src": "1187:23:28", - "value": { - "arguments": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1200:5:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1207:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1196:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1196:14:28" - }, - "variableNames": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1187:5:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1223:24:28", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1240:2:28" - }, - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "1244:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1236:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1236:11:28" - }, - "variables": [ - { - "name": "src_1", - "nodeType": "YulTypedName", - "src": "1227:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1302:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1311:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1318:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1304:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1304:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1304:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1274:2:28" - }, - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1282:2:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1286:2:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "1278:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1278:11:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1270:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1270:20:28" - }, - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "1292:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1266:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1266:29:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1297:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1263:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1263:38:28" - }, - "nodeType": "YulIf", - "src": "1260:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1339:16:28", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1350:5:28" - }, - "variables": [ - { - "name": "i_1", - "nodeType": "YulTypedName", - "src": "1343:3:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1423:146:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1448:5:28" - }, - { - "arguments": [ - { - "name": "src_1", - "nodeType": "YulIdentifier", - "src": "1468:5:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1455:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1455:19:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1441:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1441:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1441:34:28" - }, - { - "nodeType": "YulAssignment", - "src": "1492:23:28", - "value": { - "arguments": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1505:5:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1512:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1501:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1501:14:28" - }, - "variableNames": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1492:5:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1532:23:28", - "value": { - "arguments": [ - { - "name": "src_1", - "nodeType": "YulIdentifier", - "src": "1545:5:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1552:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1541:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1541:14:28" - }, - "variableNames": [ - { - "name": "src_1", - "nodeType": "YulIdentifier", - "src": "1532:5:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i_1", - "nodeType": "YulIdentifier", - "src": "1379:3:28" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1384:2:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1376:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1376:11:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1388:22:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1390:18:28", - "value": { - "arguments": [ - { - "name": "i_1", - "nodeType": "YulIdentifier", - "src": "1401:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1406:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1397:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1397:11:28" - }, - "variableNames": [ - { - "name": "i_1", - "nodeType": "YulIdentifier", - "src": "1390:3:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1372:3:28", - "statements": [] - }, - "src": "1368:201:28" - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1589:3:28" - }, - { - "name": "dst_3", - "nodeType": "YulIdentifier", - "src": "1594:5:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1582:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1582:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1582:18:28" - }, - { - "nodeType": "YulAssignment", - "src": "1613:19:28", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1624:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1629:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1620:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1620:12:28" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1613:3:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1645:19:28", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1656:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1661:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1652:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1652:12:28" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1645:3:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "777:1:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "780:2:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "774:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "774:9:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "784:18:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "786:14:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "795:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "798:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "791:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "791:9:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "786:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "770:3:28", - "statements": [] - }, - "src": "766:908:28" - }, - { - "nodeType": "YulAssignment", - "src": "1683:14:28", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "1692:5:28" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1683:5:28" - } - ] - } - ] - }, - "name": "abi_decode_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "362:6:28", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "370:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "378:5:28", - "type": "" - } - ], - "src": "304:1399:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1789:635:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1838:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1847:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1854:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1840:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1840:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1840:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1817:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1825:4:28", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1813:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1813:17:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1832:3:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1809:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1809:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1802:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1802:35:28" - }, - "nodeType": "YulIf", - "src": "1799:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1871:23:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1887:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1881:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1881:13:28" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1875:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1903:14:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1913:4:28", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "1907:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1926:90:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2012:2:28" - } - ], - "functionName": { - "name": "array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulIdentifier", - "src": "1952:59:28" - }, - "nodeType": "YulFunctionCall", - "src": "1952:63:28" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "1937:14:28" - }, - "nodeType": "YulFunctionCall", - "src": "1937:79:28" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "1930:3:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2025:16:28", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2038:3:28" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "2029:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2057:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2062:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2050:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2050:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2050:15:28" - }, - { - "nodeType": "YulAssignment", - "src": "2074:19:28", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2085:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2090:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2081:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2081:12:28" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2074:3:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2102:26:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2117:6:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2125:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2113:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2113:15:28" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "2106:3:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2183:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2192:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2199:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2185:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2185:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2185:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2151:6:28" - }, - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2163:2:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2167:2:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2159:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2159:11:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2147:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2147:24:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2173:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2143:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2143:33:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2178:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2140:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2140:42:28" - }, - "nodeType": "YulIf", - "src": "2137:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2216:14:28", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2225:5:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "2220:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2284:111:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2305:3:28" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2316:3:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2310:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "2310:10:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2298:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2298:23:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2298:23:28" - }, - { - "nodeType": "YulAssignment", - "src": "2334:19:28", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2345:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2350:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2341:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2341:12:28" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2334:3:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2366:19:28", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2377:3:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2382:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2373:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2373:12:28" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2366:3:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2250:1:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2253:2:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2247:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2247:9:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "2257:18:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2259:14:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2268:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2271:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2264:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2264:9:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2259:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "2243:3:28", - "statements": [] - }, - "src": "2239:156:28" - }, - { - "nodeType": "YulAssignment", - "src": "2404:14:28", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "2413:5:28" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2404:5:28" - } - ] - } - ] - }, - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1763:6:28", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1771:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "1779:5:28", - "type": "" - } - ], - "src": "1708:716:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2488:107:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2498:22:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2513:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2507:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "2507:13:28" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2498:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2573:16:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2582:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2585:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2575:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2575:12:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2575:12:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2542:5:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2563:5:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2556:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2556:13:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2549:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2549:21:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2539:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2539:32:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2532:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2532:40:28" - }, - "nodeType": "YulIf", - "src": "2529:2:28" - } - ] - }, - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2467:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2478:5:28", - "type": "" - } - ], - "src": "2429:166:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2704:441:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2750:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2759:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2767:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2752:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2752:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2752:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2725:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2734:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2721:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2721:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2746:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2717:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2717:32:28" - }, - "nodeType": "YulIf", - "src": "2714:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2785:36:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2811:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2798:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2798:23:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2789:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2857:5:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "2830:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "2830:33:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2830:33:28" - }, - { - "nodeType": "YulAssignment", - "src": "2872:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2882:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2872:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2896:47:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2928:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2939:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2924:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2924:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2911:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2911:32:28" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "2900:7:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "2979:7:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "2952:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "2952:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2952:35:28" - }, - { - "nodeType": "YulAssignment", - "src": "2996:17:28", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "3006:7:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2996:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3022:47:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3054:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3065:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3050:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3050:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3037:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "3037:32:28" - }, - "variables": [ - { - "name": "value_2", - "nodeType": "YulTypedName", - "src": "3026:7:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_2", - "nodeType": "YulIdentifier", - "src": "3105:7:28" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "3078:26:28" - }, - "nodeType": "YulFunctionCall", - "src": "3078:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3078:35:28" - }, - { - "nodeType": "YulAssignment", - "src": "3122:17:28", - "value": { - "name": "value_2", - "nodeType": "YulIdentifier", - "src": "3132:7:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3122:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2654:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2665:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2677:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2685:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2693:6:28", - "type": "" - } - ], - "src": "2600:545:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3254:1434:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3300:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3309:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3317:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3302:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3302:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3302:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3275:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3284:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3271:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3271:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3296:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3267:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3267:32:28" - }, - "nodeType": "YulIf", - "src": "3264:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3335:30:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3355:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3349:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3349:16:28" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3339:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3374:28:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3384:18:28", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3378:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3429:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3438:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3446:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3431:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3431:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3431:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3417:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3425:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3414:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3414:14:28" - }, - "nodeType": "YulIf", - "src": "3411:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3464:32:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3478:9:28" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3489:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3474:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3474:22:28" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "3468:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3505:16:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3515:6:28", - "type": "", - "value": "0x0100" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "3509:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3559:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3568:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3576:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3561:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3561:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3561:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3541:7:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3550:2:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3537:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3537:16:28" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3555:2:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3533:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3533:25:28" - }, - "nodeType": "YulIf", - "src": "3530:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3594:31:28", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3622:2:28" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "3607:14:28" - }, - "nodeType": "YulFunctionCall", - "src": "3607:18:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3598:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3641:5:28" - }, - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3654:2:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3648:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3648:9:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3634:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3634:24:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3634:24:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3667:34:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3693:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3697:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3689:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3689:11:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3683:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3683:18:28" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "3671:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3730:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3739:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3747:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3732:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3732:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3732:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "3716:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3726:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3713:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3713:16:28" - }, - "nodeType": "YulIf", - "src": "3710:2:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3776:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3783:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3772:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3772:14:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3838:2:28" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "3842:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3834:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3834:17:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3853:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "3788:45:28" - }, - "nodeType": "YulFunctionCall", - "src": "3788:73:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3765:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3765:97:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3765:97:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3871:34:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3897:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3901:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3893:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3893:11:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3887:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "3887:18:28" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "3875:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3934:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3943:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3951:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3936:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3936:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3936:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "3920:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3930:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3917:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3917:16:28" - }, - "nodeType": "YulIf", - "src": "3914:2:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3980:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3987:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3976:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3976:14:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4042:2:28" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4046:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4038:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4038:17:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4057:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "3992:45:28" - }, - "nodeType": "YulFunctionCall", - "src": "3992:73:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3969:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3969:97:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3969:97:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4075:34:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4101:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4105:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4097:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4097:11:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4091:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4091:18:28" - }, - "variables": [ - { - "name": "offset_3", - "nodeType": "YulTypedName", - "src": "4079:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4138:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4147:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4155:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4140:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4140:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4140:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "4124:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4134:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4121:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4121:16:28" - }, - "nodeType": "YulIf", - "src": "4118:2:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4184:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4191:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4180:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4180:14:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4246:2:28" - }, - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "4250:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4242:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4242:17:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4261:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4196:45:28" - }, - "nodeType": "YulFunctionCall", - "src": "4196:73:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4173:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4173:97:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4173:97:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4279:35:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4305:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4309:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4301:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4301:12:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4295:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4295:19:28" - }, - "variables": [ - { - "name": "offset_4", - "nodeType": "YulTypedName", - "src": "4283:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4343:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4352:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4360:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4345:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4345:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4345:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_4", - "nodeType": "YulIdentifier", - "src": "4329:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4339:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4326:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4326:16:28" - }, - "nodeType": "YulIf", - "src": "4323:2:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4389:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4396:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4385:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4385:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4452:2:28" - }, - { - "name": "offset_4", - "nodeType": "YulIdentifier", - "src": "4456:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4448:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4448:17:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4467:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4402:45:28" - }, - "nodeType": "YulFunctionCall", - "src": "4402:73:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4378:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4378:98:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4378:98:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4496:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4503:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4492:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4492:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4519:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4523:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4515:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4515:12:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4509:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4509:19:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4485:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4485:44:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4485:44:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4549:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4556:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4545:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4545:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4572:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4576:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4568:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4568:12:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4562:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4562:19:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4538:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4538:44:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4538:44:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4602:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4609:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4598:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4598:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4648:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4652:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4644:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4644:12:28" - } - ], - "functionName": { - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulIdentifier", - "src": "4615:28:28" - }, - "nodeType": "YulFunctionCall", - "src": "4615:42:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4591:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4591:67:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4591:67:28" - }, - { - "nodeType": "YulAssignment", - "src": "4667:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4677:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4667:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Block_$5550_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3220:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3231:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3243:6:28", - "type": "" - } - ], - "src": "3150:1538:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4798:815:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4808:13:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4818:3:28", - "type": "", - "value": "256" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4812:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4866:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4875:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4883:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4868:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4868:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4868:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4841:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4850:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4837:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4837:23:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4862:2:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4833:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4833:32:28" - }, - "nodeType": "YulIf", - "src": "4830:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4901:23:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4921:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4915:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4915:9:28" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "4905:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4933:33:28", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4955:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4963:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4951:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4951:15:28" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "4937:10:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5041:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "5043:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "5043:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5043:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "4984:10:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4996:18:28", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4981:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4981:34:28" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5020:10:28" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5032:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5017:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "5017:22:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "4978:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4978:62:28" - }, - "nodeType": "YulIf", - "src": "4975:2:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5079:2:28", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5083:10:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5072:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5072:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5072:22:28" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5110:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5124:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5118:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5118:16:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5103:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5103:32:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5103:32:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5155:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5163:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5151:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5151:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5204:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5215:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5200:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5200:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "5168:31:28" - }, - "nodeType": "YulFunctionCall", - "src": "5168:51:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5144:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5144:76:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5144:76:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5240:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5248:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5236:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5236:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5263:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5274:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5259:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5259:18:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5253:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5253:25:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5229:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5229:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5229:50:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5299:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5307:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5295:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5295:15:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5322:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5333:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5318:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5318:18:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5312:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5312:25:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5288:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5288:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5288:50:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5358:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5366:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5354:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5354:16:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5382:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5393:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5378:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5378:19:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5372:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5372:26:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5347:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5347:52:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5347:52:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5419:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5427:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5415:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5415:16:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5443:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5454:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5439:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5439:19:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5433:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5433:26:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5408:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5408:52:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5408:52:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5480:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5488:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5476:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5476:16:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5504:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5515:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5500:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5500:19:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5494:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5494:26:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5469:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5469:52:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5469:52:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5541:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5549:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5537:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5537:16:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5565:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5576:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5561:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5561:19:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5555:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5555:26:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5530:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5530:52:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5530:52:28" - }, - { - "nodeType": "YulAssignment", - "src": "5591:16:28", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5601:6:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5591:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Staker_$5529_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4764:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4775:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4787:6:28", - "type": "" - } - ], - "src": "4693:920:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5699:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5745:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5754:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5762:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5747:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5747:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5747:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5720:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5729:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5716:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5716:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5741:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5712:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5712:32:28" - }, - "nodeType": "YulIf", - "src": "5709:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "5780:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5796:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5790:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "5790:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5780:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5665:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5676:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5688:6:28", - "type": "" - } - ], - "src": "5618:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5904:171:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5950:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5959:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5967:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5952:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5952:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5952:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5925:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5934:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5921:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5921:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5946:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5917:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5917:32:28" - }, - "nodeType": "YulIf", - "src": "5914:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "5985:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6008:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5995:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "5995:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5985:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6027:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6054:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6065:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6050:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6050:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6037:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6037:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6027:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5862:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5873:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5885:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5893:6:28", - "type": "" - } - ], - "src": "5817:258:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6310:1322:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6357:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6366:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6374:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6359:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6359:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6359:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6331:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6340:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6327:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6327:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6352:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6323:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6323:33:28" - }, - "nodeType": "YulIf", - "src": "6320:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "6392:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6415:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6402:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6402:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6392:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6434:12:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6444:2:28", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "6438:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6455:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6482:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6493:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6478:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6478:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6465:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6465:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6455:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6506:46:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6537:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6548:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6533:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6533:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6520:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6520:32:28" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6510:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6561:28:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6571:18:28", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "6565:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6616:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6625:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6633:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6618:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6618:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6618:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6604:6:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "6612:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6601:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "6601:14:28" - }, - "nodeType": "YulIf", - "src": "6598:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6651:32:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6665:9:28" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6676:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6661:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6661:22:28" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "6655:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6731:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6740:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6748:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6733:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6733:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6733:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "6710:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6714:4:28", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6706:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6706:13:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6721:7:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6702:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6702:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6695:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6695:35:28" - }, - "nodeType": "YulIf", - "src": "6692:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6766:26:28", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "6789:2:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6776:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "6776:16:28" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "6770:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6801:90:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "6887:2:28" - } - ], - "functionName": { - "name": "array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulIdentifier", - "src": "6827:59:28" - }, - "nodeType": "YulFunctionCall", - "src": "6827:63:28" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "6812:14:28" - }, - "nodeType": "YulFunctionCall", - "src": "6812:79:28" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "6805:3:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6900:16:28", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "6913:3:28" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "6904:5:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "6932:3:28" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "6937:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6925:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6925:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6925:15:28" - }, - { - "nodeType": "YulAssignment", - "src": "6949:19:28", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "6960:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6965:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6956:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6956:12:28" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "6949:3:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6977:22:28", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "6992:2:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6996:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6988:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6988:11:28" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "6981:3:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7054:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7063:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7071:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7056:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7056:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7056:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "7022:2:28" - }, - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "7030:2:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7034:2:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "7026:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7026:11:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7018:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7018:20:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7040:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7014:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7014:29:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7045:7:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7011:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "7011:42:28" - }, - "nodeType": "YulIf", - "src": "7008:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7089:15:28", - "value": { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7098:6:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "7093:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7158:118:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "7179:3:28" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "7197:3:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7184:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "7184:17:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7172:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7172:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7172:30:28" - }, - { - "nodeType": "YulAssignment", - "src": "7215:19:28", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "7226:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7231:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7222:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7222:12:28" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "7215:3:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7247:19:28", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "7258:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7263:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7254:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7254:12:28" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "7247:3:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7124:1:28" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "7127:2:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "7121:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "7121:9:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "7131:18:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7133:14:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7142:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7145:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7138:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7138:9:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7133:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "7117:3:28", - "statements": [] - }, - "src": "7113:163:28" - }, - { - "nodeType": "YulAssignment", - "src": "7285:15:28", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "7295:5:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7285:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7309:48:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7342:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7353:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7338:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7338:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7325:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "7325:32:28" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "7313:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7386:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "7395:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "7403:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7388:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7388:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7388:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "7372:8:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "7382:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7369:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "7369:16:28" - }, - "nodeType": "YulIf", - "src": "7366:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "7421:93:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7484:9:28" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "7495:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7480:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7480:24:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7506:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulIdentifier", - "src": "7431:48:28" - }, - "nodeType": "YulFunctionCall", - "src": "7431:83:28" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "7421:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7523:43:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7550:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7561:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7546:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7546:19:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7533:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "7533:33:28" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "7523:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7575:51:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7610:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7621:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7606:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7606:19:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "7585:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "7585:41:28" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "7575:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_bytes32t_array$_t_uint256_$dyn_memory_ptrt_array$_t_array$_t_bytes32_$dyn_memory_ptr_$dyn_memory_ptrt_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6236:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6247:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6259:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6267:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6275:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "6283:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "6291:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "6299:6:28", - "type": "" - } - ], - "src": "6080:1552:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7724:171:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7770:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7779:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7787:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7772:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7772:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7772:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7745:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7754:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7741:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7741:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7766:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7737:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7737:32:28" - }, - "nodeType": "YulIf", - "src": "7734:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "7805:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7828:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7815:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "7815:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7805:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7847:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7874:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7885:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7870:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7870:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7857:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "7857:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7847:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7682:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "7693:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7705:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7713:6:28", - "type": "" - } - ], - "src": "7637:258:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8004:222:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8050:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "8059:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "8067:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8052:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8052:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8052:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8025:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8034:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8021:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8021:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8046:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8017:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8017:32:28" - }, - "nodeType": "YulIf", - "src": "8014:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "8085:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8108:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8095:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "8095:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8085:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8127:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8154:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8165:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8150:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8150:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8137:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "8137:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8127:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8178:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8205:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8216:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8201:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8201:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8188:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "8188:32:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "8178:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7954:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "7965:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7977:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7985:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "7993:6:28", - "type": "" - } - ], - "src": "7900:326:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8310:214:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8356:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8365:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8373:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8358:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8358:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8358:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8331:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8340:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8327:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8327:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8352:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8323:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8323:32:28" - }, - "nodeType": "YulIf", - "src": "8320:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8391:29:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8410:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8404:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "8404:16:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8395:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8468:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8477:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8485:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8470:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8470:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8470:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8442:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8453:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8460:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8449:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8449:16:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "8439:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "8439:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8432:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8432:35:28" - }, - "nodeType": "YulIf", - "src": "8429:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "8503:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8513:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8503:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8276:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "8287:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8299:6:28", - "type": "" - } - ], - "src": "8231:293:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8676:100:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8693:3:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8698:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8686:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8686:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8686:19:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8725:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8730:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8721:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8721:12:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8735:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8714:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8714:28:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8714:28:28" - }, - { - "nodeType": "YulAssignment", - "src": "8751:19:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8762:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8767:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8758:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8758:12:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8751:3:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8644:3:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8649:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8657:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8668:3:28", - "type": "" - } - ], - "src": "8529:247:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8900:63:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8917:3:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8922:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8910:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8910:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8910:19:28" - }, - { - "nodeType": "YulAssignment", - "src": "8938:19:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8949:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8954:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8945:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8945:12:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8938:3:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8876:3:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8881:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8892:3:28", - "type": "" - } - ], - "src": "8781:182:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9143:137:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9160:3:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9165:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9153:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9153:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9153:19:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9192:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9197:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9188:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9188:12:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9202:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9181:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9181:28:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9181:28:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9229:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9234:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9225:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9225:12:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "9239:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9218:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9218:28:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9218:28:28" - }, - { - "nodeType": "YulAssignment", - "src": "9255:19:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9266:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9271:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9262:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9262:12:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9255:3:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_uint256_t_bytes32_t_bytes32__to_t_uint256_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9103:3:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9108:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9116:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9124:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "9135:3:28", - "type": "" - } - ], - "src": "8968:312:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9386:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9396:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9408:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9419:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9404:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9404:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9396:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9438:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9453:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9461:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9449:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9449:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9431:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9431:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9431:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9355:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9366:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9377:4:28", - "type": "" - } - ], - "src": "9285:226:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9617:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9627:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9639:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9650:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9635:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9635:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9627:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9669:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9680:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9662:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9662:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9662:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9586:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9597:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9608:4:28", - "type": "" - } - ], - "src": "9516:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9821:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9831:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9843:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9854:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9839:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9839:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9831:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9873:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9888:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9896:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9884:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9884:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9866:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9866:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9866:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IBlockManager_$4640__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9790:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9801:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9812:4:28", - "type": "" - } - ], - "src": "9698:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10074:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10084:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10096:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10107:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10092:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10092:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10084:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10126:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10141:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10149:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10137:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10137:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10119:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10119:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10119:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStakeManager_$4785__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10043:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10054:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10065:4:28", - "type": "" - } - ], - "src": "9951:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10327:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10337:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10349:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10360:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10345:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10345:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10337:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10379:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10394:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10402:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10390:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10390:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10372:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10372:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10372:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStateManager_$4798__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10296:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10307:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10318:4:28", - "type": "" - } - ], - "src": "10204:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10631:172:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10648:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10659:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10641:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10641:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10641:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10682:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10693:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10678:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10678:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10698:2:28", - "type": "", - "value": "22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10671:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10671:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10671:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10721:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10732:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10717:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10717:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "10737:24:28", - "type": "", - "value": "incorrect secret/value" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10710:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10710:52:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10710:52:28" - }, - { - "nodeType": "YulAssignment", - "src": "10771:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10783:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10794:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10779:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10779:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10771:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_117c0d3e1a97c48aed3d13ddb2f7e4f454991126eb3f4729b34034c97947c147__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10608:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10622:4:28", - "type": "" - } - ], - "src": "10457:346:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10982:167:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10999:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11010:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10992:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10992:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10992:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11033:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11044:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11029:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11029:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11049:2:28", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11022:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11022:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11022:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11072:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11083:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11068:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11068:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11088:19:28", - "type": "", - "value": "nonpositive stake" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11061:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11061:47:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11061:47:28" - }, - { - "nodeType": "YulAssignment", - "src": "11117:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11129:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11140:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11125:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11125:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11117:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_18946c3cfecfbaff9f580fe1dba9ddd240c806d5ebece06bfbecf58d9b7c810f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10959:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10973:4:28", - "type": "" - } - ], - "src": "10808:341:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11328:170:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11345:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11356:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11338:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11338:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11338:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11379:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11390:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11375:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11375:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11395:2:28", - "type": "", - "value": "20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11368:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11368:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11368:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11418:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11429:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11414:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11414:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11434:22:28", - "type": "", - "value": "invalid merkle proof" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11407:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11407:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11407:50:28" - }, - { - "nodeType": "YulAssignment", - "src": "11466:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11478:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11489:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11474:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11474:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11466:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11305:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11319:4:28", - "type": "" - } - ], - "src": "11154:344:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11677:166:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11694:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11705:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11687:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11687:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11687:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11728:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11739:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11724:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11724:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11744:2:28", - "type": "", - "value": "16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11717:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11717:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11717:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11767:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11778:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11763:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11763:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11783:18:28", - "type": "", - "value": "Not reveal state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11756:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "11756:46:28" - }, - "nodeType": "YulExpressionStatement", - "src": "11756:46:28" - }, - { - "nodeType": "YulAssignment", - "src": "11811:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11823:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11834:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11819:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "11819:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11811:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_268d2c599991ca0d37b6046592043de1b2c44a06b0ce5c2cfad84e09cba7d135__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11654:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11668:4:28", - "type": "" - } - ], - "src": "11503:340:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12022:166:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12039:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12050:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12032:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12032:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12032:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12073:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12084:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12069:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12069:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12089:2:28", - "type": "", - "value": "16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12062:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12062:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12062:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12112:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12123:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12108:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12108:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12128:18:28", - "type": "", - "value": "Not commit state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12101:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12101:46:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12101:46:28" - }, - { - "nodeType": "YulAssignment", - "src": "12156:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12168:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12179:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12164:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12164:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12156:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6d593732acfcb443b5b44e4943456e2fce39381181ad947ffa33ce891bf81a45__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11999:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12013:4:28", - "type": "" - } - ], - "src": "11848:340:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12367:179:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12384:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12395:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12377:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12377:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12377:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12418:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12429:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12414:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12414:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12434:2:28", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12407:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12407:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12407:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12457:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12468:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12453:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12453:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12473:31:28", - "type": "", - "value": "Structs.Staker does not exist" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12446:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12446:59:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12446:59:28" - }, - { - "nodeType": "YulAssignment", - "src": "12514:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12526:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12537:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12522:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12522:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12514:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_743d03e1fcb061f47e6c95bfe6f5992a265f5b91e947a0c52d7b1b2db5a6c7f7__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12344:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12358:4:28", - "type": "" - } - ], - "src": "12193:353:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12725:165:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12742:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12753:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12735:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12735:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12735:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12776:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12787:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12772:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12772:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12792:2:28", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12765:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12765:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12765:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12815:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12826:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12811:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12811:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12831:17:28", - "type": "", - "value": "incorrect epoch" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12804:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "12804:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "12804:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "12858:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12870:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12881:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12866:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "12866:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12858:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12702:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12716:4:28", - "type": "" - } - ], - "src": "12551:339:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13069:182:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13086:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13097:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13079:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13079:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13079:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13120:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13131:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13116:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13116:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13136:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13109:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13109:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13109:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13159:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13170:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13155:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13155:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13175:34:28", - "type": "", - "value": "not commited or already revealed" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13148:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13148:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13148:62:28" - }, - { - "nodeType": "YulAssignment", - "src": "13219:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13231:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13242:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13227:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13227:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13219:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_a940b2a52672d706cd6529433302ee1085aa924690eb9c0a6dfda6488ef2bcdb__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13046:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13060:4:28", - "type": "" - } - ], - "src": "12895:356:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13430:165:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13447:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13458:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13440:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13440:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13440:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13481:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13492:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13477:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13477:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13497:2:28", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13470:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13470:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13470:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13520:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13531:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13516:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13516:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13536:17:28", - "type": "", - "value": "incorrect state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13509:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13509:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13509:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "13563:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13575:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13586:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13571:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13571:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13563:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13407:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13421:4:28", - "type": "" - } - ], - "src": "13256:339:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13774:166:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13791:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13802:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13784:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13784:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13784:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13825:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13836:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13821:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13821:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13841:2:28", - "type": "", - "value": "16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13814:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13814:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13814:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13864:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13875:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13860:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13860:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13880:18:28", - "type": "", - "value": "already commited" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13853:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "13853:46:28" - }, - "nodeType": "YulExpressionStatement", - "src": "13853:46:28" - }, - { - "nodeType": "YulAssignment", - "src": "13908:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13920:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13931:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13916:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "13916:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13908:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fde99a45e22e2bf34447c936fa58763b0e7ceae0cf197e297f2efc966d028475__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13751:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13765:4:28", - "type": "" - } - ], - "src": "13600:340:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14090:146:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14100:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14112:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14123:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14108:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14108:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14100:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14142:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14159:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "14153:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "14153:13:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14135:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14135:32:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14135:32:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14187:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14198:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14183:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14183:20:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14215:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14223:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14211:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14211:17:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "14205:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "14205:24:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14176:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14176:54:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14176:54:28" - } - ] - }, - "name": "abi_encode_tuple_t_struct$_Vote_$5512_memory_ptr__to_t_struct$_Vote_$5512_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14059:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14070:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14081:4:28", - "type": "" - } - ], - "src": "13945:291:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14342:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14352:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14364:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14375:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14360:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14360:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14352:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14394:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14405:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14387:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14387:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14387:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14311:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14322:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14333:4:28", - "type": "" - } - ], - "src": "14241:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14580:211:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14590:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14602:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14613:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14598:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14598:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14590:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14632:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14643:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14625:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14625:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14625:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14670:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14681:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14666:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14666:18:28" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "14690:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14698:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "14686:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14686:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14659:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14659:83:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14659:83:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14762:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14773:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14758:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14758:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "14778:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14751:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14751:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14751:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14533:9:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "14544:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "14552:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14560:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14571:4:28", - "type": "" - } - ], - "src": "14423:368:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14925:119:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14935:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14947:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14958:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14943:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "14943:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14935:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14977:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14988:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14970:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "14970:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "14970:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15015:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15026:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15011:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15011:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "15031:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15004:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15004:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15004:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14886:9:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "14897:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14905:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14916:4:28", - "type": "" - } - ], - "src": "14796:248:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15234:206:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "15244:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15256:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15267:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15252:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15252:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15244:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15287:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "15298:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15280:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15280:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15280:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15325:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15336:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15321:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15321:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "15341:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15314:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15314:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15314:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15368:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15379:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15364:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15364:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "15384:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15357:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15357:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15357:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15411:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15422:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15407:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15407:18:28" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "15427:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15400:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15400:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15400:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_bytes32_t_uint256__to_t_uint256_t_uint256_t_bytes32_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15179:9:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "15190:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "15198:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "15206:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "15214:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15225:4:28", - "type": "" - } - ], - "src": "15049:391:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15708:660:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "15718:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15736:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15747:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15732:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15732:19:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "15722:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15767:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "15778:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15760:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15760:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15760:25:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15794:12:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15804:2:28", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "15798:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15826:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "15837:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15822:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15822:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "15842:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15815:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15815:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15815:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15869:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15880:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15865:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15865:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "15885:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15858:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15858:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15858:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15912:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15923:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15908:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "15908:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15928:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15901:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "15901:31:28" - }, - "nodeType": "YulExpressionStatement", - "src": "15901:31:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15941:17:28", - "value": { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "15952:6:28" - }, - "variables": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "15945:3:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15967:27:28", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "15987:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "15981:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "15981:13:28" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "15971:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "16010:6:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16018:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16003:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16003:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16003:22:28" - }, - { - "nodeType": "YulAssignment", - "src": "16034:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16045:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16056:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16041:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16041:19:28" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16034:3:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16069:29:28", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "16087:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "16095:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16083:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16083:15:28" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "16073:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16107:13:28", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16116:4:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "16111:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16178:120:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16199:3:28" - }, - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "16210:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16204:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "16204:13:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16192:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16192:26:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16192:26:28" - }, - { - "nodeType": "YulAssignment", - "src": "16231:19:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16242:3:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "16247:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16238:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16238:12:28" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16231:3:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "16263:25:28", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "16277:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "16285:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16273:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16273:15:28" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "16263:6:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "16140:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16143:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "16137:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "16137:13:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "16151:18:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16153:14:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "16162:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16165:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16158:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16158:9:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "16153:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "16133:3:28", - "statements": [] - }, - "src": "16129:169:28" - }, - { - "nodeType": "YulAssignment", - "src": "16307:11:28", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16315:3:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16307:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16338:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16349:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16334:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16334:19:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "16355:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16327:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16327:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16327:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15645:9:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "15656:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "15664:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "15672:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "15680:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "15688:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15699:4:28", - "type": "" - } - ], - "src": "15445:923:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16417:207:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16427:19:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16443:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16437:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "16437:9:28" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "16427:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16455:35:28", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "16477:6:28" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "16485:4:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16473:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16473:17:28" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "16459:10:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16565:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "16567:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "16567:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16567:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "16508:10:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16520:18:28", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "16505:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "16505:34:28" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "16544:10:28" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "16556:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "16541:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "16541:22:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "16502:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "16502:62:28" - }, - "nodeType": "YulIf", - "src": "16499:2:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16603:2:28", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "16607:10:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16596:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "16596:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16596:22:28" - } - ] - }, - "name": "allocateMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "16397:4:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "16406:6:28", - "type": "" - } - ], - "src": "16373:251:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16718:117:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "16762:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "16764:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "16764:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16764:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16734:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16742:18:28", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "16731:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "16731:30:28" - }, - "nodeType": "YulIf", - "src": "16728:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "16793:36:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16809:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16817:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "16805:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16805:17:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16824:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16801:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16801:28:28" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "16793:4:28" - } - ] - } - ] - }, - "name": "array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "16698:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "16709:4:28", - "type": "" - } - ], - "src": "16629:206:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16888:80:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "16915:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "16917:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "16917:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "16917:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "16904:1:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "16911:1:28" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "16907:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16907:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "16901:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "16901:13:28" - }, - "nodeType": "YulIf", - "src": "16898:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "16946:16:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "16957:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "16960:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16953:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "16953:9:28" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "16946:3:28" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "16871:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "16874:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "16880:3:28", - "type": "" - } - ], - "src": "16840:128:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17022:76:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "17044:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "17046:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "17046:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17046:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "17038:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "17041:1:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "17035:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "17035:8:28" - }, - "nodeType": "YulIf", - "src": "17032:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "17075:17:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "17087:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "17090:1:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17083:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17083:9:28" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "17075:4:28" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "17004:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "17007:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "17013:4:28", - "type": "" - } - ], - "src": "16973:125:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17150:88:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "17181:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "17183:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "17183:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17183:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "17166:5:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17177:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "17173:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17173:6:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "17163:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "17163:17:28" - }, - "nodeType": "YulIf", - "src": "17160:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "17212:20:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "17223:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17230:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17219:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17219:13:28" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "17212:3:28" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "17132:5:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "17142:3:28", - "type": "" - } - ], - "src": "17103:135:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17275:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17292:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17295:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17285:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17285:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17285:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17389:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17392:4:28", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17382:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17382:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17382:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17413:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17416:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "17406:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17406:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17406:15:28" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "17243:184:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17464:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17481:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17484:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17474:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17474:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17474:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17578:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17581:4:28", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17571:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17571:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17571:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17602:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17605:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "17595:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17595:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17595:15:28" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "17432:184:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17668:109:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "17755:16:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17764:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17767:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "17757:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17757:12:28" - }, - "nodeType": "YulExpressionStatement", - "src": "17757:12:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "17691:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "17702:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17709:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "17698:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "17698:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "17688:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "17688:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "17681:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "17681:73:28" - }, - "nodeType": "YulIf", - "src": "17678:2:28" - } - ] - }, - "name": "validator_revert_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "17657:5:28", - "type": "" - } - ], - "src": "17621:156:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address(offset) -> value\n {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n function abi_decode_t_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n function abi_decode_t_array$_t_array$_t_bytes32_$dyn_$dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let dst := allocateMemory(array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let src := add(offset, _2)\n let i := array\n for { } lt(i, _1) { i := add(i, 1) }\n {\n let _3 := add(offset, calldataload(src))\n if iszero(slt(add(_3, 63), end)) { revert(array, array) }\n let _4 := calldataload(add(_3, _2))\n let _5 := 64\n let dst_2 := allocateMemory(array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn(_4))\n let dst_3 := dst_2\n mstore(dst_2, _4)\n dst_2 := add(dst_2, _2)\n let src_1 := add(_3, _5)\n if gt(add(add(_3, mul(_4, _2)), _5), end) { revert(array, array) }\n let i_1 := array\n for { } lt(i_1, _4) { i_1 := add(i_1, 1) }\n {\n mstore(dst_2, calldataload(src_1))\n dst_2 := add(dst_2, _2)\n src_1 := add(src_1, _2)\n }\n mstore(dst, dst_3)\n dst := add(dst, _2)\n src := add(src, _2)\n }\n array := dst_1\n }\n function abi_decode_t_array$_t_uint256_$dyn_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := mload(offset)\n let _2 := 0x20\n let dst := allocateMemory(array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let src := add(offset, _2)\n if gt(add(add(offset, mul(_1, _2)), _2), end) { revert(array, array) }\n let i := array\n for { } lt(i, _1) { i := add(i, 1) }\n {\n mstore(dst, mload(src))\n dst := add(dst, _2)\n src := add(src, _2)\n }\n array := dst_1\n }\n function abi_decode_t_bool_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_addresst_address(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value0, value0) }\n let value := calldataload(headStart)\n validator_revert_t_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_t_address(value_1)\n value1 := value_1\n let value_2 := calldataload(add(headStart, 64))\n validator_revert_t_address(value_2)\n value2 := value_2\n }\n function abi_decode_tuple_t_struct$_Block_$5550_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(value0, value0) }\n let _2 := add(headStart, offset)\n let _3 := 0x0100\n if slt(sub(dataEnd, _2), _3) { revert(value0, value0) }\n let value := allocateMemory(_3)\n mstore(value, mload(_2))\n let offset_1 := mload(add(_2, 32))\n if gt(offset_1, _1) { revert(value0, value0) }\n mstore(add(value, 32), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 64))\n if gt(offset_2, _1) { revert(value0, value0) }\n mstore(add(value, 64), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_2), dataEnd))\n let offset_3 := mload(add(_2, 96))\n if gt(offset_3, _1) { revert(value0, value0) }\n mstore(add(value, 96), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_3), dataEnd))\n let offset_4 := mload(add(_2, 128))\n if gt(offset_4, _1) { revert(value0, value0) }\n mstore(add(value, 128), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_4), dataEnd))\n mstore(add(value, 160), mload(add(_2, 160)))\n mstore(add(value, 192), mload(add(_2, 192)))\n mstore(add(value, 224), abi_decode_t_bool_fromMemory(add(_2, 224)))\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Staker_$5529_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 256\n if slt(sub(dataEnd, headStart), _1) { revert(value0, value0) }\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, _1)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, mload(headStart))\n mstore(add(memPtr, 32), abi_decode_t_address_fromMemory(add(headStart, 32)))\n mstore(add(memPtr, 64), mload(add(headStart, 64)))\n mstore(add(memPtr, 96), mload(add(headStart, 96)))\n mstore(add(memPtr, 128), mload(add(headStart, 128)))\n mstore(add(memPtr, 160), mload(add(headStart, 160)))\n mstore(add(memPtr, 192), mload(add(headStart, 192)))\n mstore(add(memPtr, 224), mload(add(headStart, 224)))\n value0 := memPtr\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_bytes32t_array$_t_uint256_$dyn_memory_ptrt_array$_t_array$_t_bytes32_$dyn_memory_ptr_$dyn_memory_ptrt_bytes32t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(value2, value2) }\n value0 := calldataload(headStart)\n let _1 := 32\n value1 := calldataload(add(headStart, _1))\n let offset := calldataload(add(headStart, 64))\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(value2, value2) }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(value2, value2) }\n let _4 := calldataload(_3)\n let dst := allocateMemory(array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn(_4))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _1)\n let src := add(_3, _1)\n if gt(add(add(_3, mul(_4, _1)), _1), dataEnd) { revert(value2, value2) }\n let i := value2\n for { } lt(i, _4) { i := add(i, 1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _1)\n src := add(src, _1)\n }\n value2 := dst_1\n let offset_1 := calldataload(add(headStart, 96))\n if gt(offset_1, _2) { revert(value4, value4) }\n value3 := abi_decode_t_array$_t_array$_t_bytes32_$dyn_$dyn(add(headStart, offset_1), dataEnd)\n value4 := calldataload(add(headStart, 128))\n value5 := abi_decode_t_address(add(headStart, 160))\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, 0xff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, value0)\n mstore(add(pos, 32), value1)\n end := add(pos, 64)\n }\n function abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n mstore(pos, value0)\n end := add(pos, 32)\n }\n function abi_encode_tuple_packed_t_uint256_t_bytes32_t_bytes32__to_t_uint256_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n {\n mstore(pos, value0)\n mstore(add(pos, 32), value1)\n mstore(add(pos, 64), value2)\n end := add(pos, 96)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_contract$_IBlockManager_$4640__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IStakeManager_$4785__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IStateManager_$4798__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_stringliteral_117c0d3e1a97c48aed3d13ddb2f7e4f454991126eb3f4729b34034c97947c147__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"incorrect secret/value\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_18946c3cfecfbaff9f580fe1dba9ddd240c806d5ebece06bfbecf58d9b7c810f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"nonpositive stake\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"invalid merkle proof\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_268d2c599991ca0d37b6046592043de1b2c44a06b0ce5c2cfad84e09cba7d135__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Not reveal state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d593732acfcb443b5b44e4943456e2fce39381181ad947ffa33ce891bf81a45__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Not commit state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_743d03e1fcb061f47e6c95bfe6f5992a265f5b91e947a0c52d7b1b2db5a6c7f7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Structs.Staker does not exist\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect epoch\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a940b2a52672d706cd6529433302ee1085aa924690eb9c0a6dfda6488ef2bcdb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"not commited or already revealed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fde99a45e22e2bf34447c936fa58763b0e7ceae0cf197e297f2efc966d028475__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"already commited\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_struct$_Vote_$5512_memory_ptr__to_t_struct$_Vote_$5512_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, mload(value0))\n mstore(add(headStart, 0x20), mload(add(value0, 0x20)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_bytes32_t_uint256__to_t_uint256_t_uint256_t_bytes32_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n let tail_1 := add(headStart, 160)\n mstore(headStart, value0)\n let _1 := 32\n mstore(add(headStart, _1), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 160)\n let pos := tail_1\n let length := mload(value3)\n mstore(tail_1, length)\n pos := add(headStart, 192)\n let srcPtr := add(value3, _1)\n let i := tail\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n mstore(add(headStart, 128), value4)\n }\n function allocateMemory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, size)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(mul(length, 0x20), 0x20)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function validator_revert_t_address(value)\n {\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1173 - }, - { - "length": 20, - "start": 2404 - }, - { - "length": 20, - "start": 3437 - }, - { - "length": 20, - "start": 4572 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50600436106100f55760003560e01c80638ce7ff4a11610097578063d13e2e6011610066578063d13e2e60146101f5578063d9169b3214610208578063f2f0387714610210578063f322bd7d146101cf576100f5565b80638ce7ff4a1461019c5780638fd5ff00146101bc5780639c66556f146101cf578063a6a145d9146101e2576100f5565b80632e716fb1116100d35780632e716fb11461014c5780637164f0d6146101615780637542ff95146101815780638a757ecc14610189576100f5565b8063125f68f1146100fa578063184b95591461010f578063283e290514610122575b600080fd5b61010d610108366004611774565b610223565b005b61010d61011d366004611554565b610b29565b610135610130366004611859565b610b80565b6040516101439291906118ac565b60405180910390f35b610154610ba8565b60405161014391906118d9565b61017461016f366004611753565b610bb7565b60405161014391906118ba565b610154610bd2565b610174610197366004611753565b610be1565b6101af6101aa366004611859565b610bfe565b6040516101439190611b11565b6101746101ca366004611859565b610c44565b6101746101dd366004611859565b610c67565b6101746101f0366004611753565b610c8b565b610174610203366004611753565b610ca8565b610154610cc2565b61010d61021e366004611753565b610cd1565b60055460408051630eaf323560e31b8152905188926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561026757600080fd5b505afa15801561027b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029f919061173b565b81146102c65760405162461bcd60e51b81526004016102bd90611a37565b60405180910390fd5b60048054604051636022a48560e01b81526000926001600160a01b0390921691636022a485916102f8918791016118d9565b60206040518083038186803b15801561031057600080fd5b505afa158015610324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610348919061173b565b90506000811161036a5760405162461bcd60e51b81526004016102bd90611a00565b600480546040516371e4cc7f60e11b81526000926001600160a01b039092169163e3c998fe9161039c918691016118ba565b6101006040518083038186803b1580156103b557600080fd5b505afa1580156103c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ed91906116a5565b60008a8152602081815260408083208684529091529020549091506104245760405162461bcd60e51b81526004016102bd90611a6e565b60008981526020818152604080832085845282529182902054915161044f918c918c918a91016118c3565b60405160208183030381529060405280519060200120146104825760405162461bcd60e51b81526004016102bd906118ed565b336001600160a01b03851614156109625773__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104d757600080fd5b505af41580156104eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050f9190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056057600080fd5b505afa158015610574573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610598919061173b565b146105b55760405162461bcd60e51b81526004016102bd90611992565b60008160400151116105d95760405162461bcd60e51b81526004016102bd90611924565b60005b87518110156108065761066487828151811061060857634e487b7160e01b600052603260045260246000fd5b60200260200101518a8a848151811061063157634e487b7160e01b600052603260045260246000fd5b602002602001015160405160200161064991906118ba565b6040516020818303038152906040528051906020012061133b565b6106805760405162461bcd60e51b81526004016102bd9061195b565b60405180604001604052808983815181106106ab57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101518252604080860180519383019390935260008e8152600180845282822089835284528282208783528452828220865181559584015195019490945591518d8452600382528284208585529091529082208a51919290918b908590811061072d57634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000205461074e9190611c14565b60008b815260036020908152604080832085845290915281208a519091908b908590811061078c57634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020819055508160400151600260008c81526020019081526020016000206000838152602001908152602001600020546107da9190611c14565b60008b8152600260209081526040808320858452909152902055806107fe81611c43565b9150506105dc565b50600480546040517ffabb98900000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163fabb9890916108519186918e91016118ac565b600060405180830381600087803b15801561086b57600080fd5b505af115801561087f573d6000803e3d6000fd5b50505060008a815260208181526040808320868452909152808220919091556004805491517f9864f70a0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169250639864f70a916108e89186918e91016118ac565b600060405180830381600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b505050507f17f4759c403dfc3fa26ab75ce82d3d090a0bdbfe9977d8ee87445d6dd83c68a1898383604001518a42604051610955959493929190611b62565b60405180910390a1610b1e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109a657600080fd5b505af41580156109ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109de9190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a67919061173b565b14610a845760405162461bcd60e51b81526004016102bd906119c9565b600089815260208181526040808320858452909152808220919091556004805491517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630f91ce1991610aeb91869133918f9101611b28565b600060405180830381600087803b158015610b0557600080fd5b505af1158015610b19573d6000803e3d6000fd5b505050505b505050505050505050565b600480546001600160a01b039485167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617909155600580549385169382169390931790925560068054919093169116179055565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b6005546001600160a01b031681565b60009182526020828152604080842092845291905290205490565b6004546001600160a01b031681565b600260209081526000928352604080842090915290825290205481565b610c066113f6565b506000838152600160208181526040808420868552825280842085855282529283902083518085019094528054845290910154908201529392505050565b600360209081526000938452604080852082529284528284209052825290205481565b60009283526003602090815260408085209385529281528284209184525290205490565b600091825260026020908152604080842092845291905290205490565b600060208181529281526040808220909352908152205481565b6006546001600160a01b031681565b60055460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d1557600080fd5b505afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d919061173b565b8114610d6b5760405162461bcd60e51b81526004016102bd90611a37565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610daf57600080fd5b505af4158015610dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de79190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3857600080fd5b505afa158015610e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e70919061173b565b8114610e8e5760405162461bcd60e51b81526004016102bd90611aa3565b60048054604051636022a48560e01b81526000926001600160a01b0390921691636022a48591610ec0913391016118d9565b60206040518083038186803b158015610ed857600080fd5b505afa158015610eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f10919061173b565b60008681526020818152604080832084845290915290205490915015610f485760405162461bcd60e51b81526004016102bd90611ada565b600480546040516371e4cc7f60e11b81526000926001600160a01b039092169163e3c998fe91610f7a918691016118ba565b6101006040518083038186803b158015610f9357600080fd5b505afa158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb91906116a5565b6006549091506001600160a01b03166304c07569610fea600189611c2c565b6040518263ffffffff1660e01b815260040161100691906118ba565b60006040518083038186803b15801561101e57600080fd5b505afa158015611032573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261105a919081019061159e565b511580156110f057506006546000906001600160a01b031663e38c7c4261108260018a611c2c565b6040518263ffffffff1660e01b815260040161109e91906118ba565b60206040518083038186803b1580156110b657600080fd5b505afa1580156110ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ee919061173b565b115b1561115e57600660009054906101000a90046001600160a01b03166001600160a01b0316639b87f6446040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561114557600080fd5b505af1158015611159573d6000803e3d6000fd5b505050505b600480546040517f54eae15e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116916354eae15e916111a89186918b91016118ac565b600060405180830381600087803b1580156111c257600080fd5b505af11580156111d6573d6000803e3d6000fd5b5050505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561121e57600080fd5b505af4158015611232573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611256919061173b565b81604001511061133357600086815260208181526040808320858452909152908190208690556004805491517f188dc83b0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163188dc83b916112c3918691016118ba565b600060405180830381600087803b1580156112dd57600080fd5b505af11580156112f1573d6000803e3d6000fd5b505050507f6ad04b07dbe80ee3971460ebc13808fb6dd0fa67fbf7d7ebc4de85811d2c99288683874260405161132a9493929190611b47565b60405180910390a15b505050505050565b600081815b85518110156113eb57600086828151811061136b57634e487b7160e01b600052603260045260246000fd5b602002602001015190508083116113ac57828160405160200161138f9291906118ac565b6040516020818303038152906040528051906020012092506113d8565b80836040516020016113bf9291906118ac565b6040516020818303038152906040528051906020012092505b50806113e381611c43565b915050611340565b509092149392505050565b604051806040016040528060008152602001600081525090565b803561141b81611c8a565b919050565b805161141b81611c8a565b600082601f83011261143b578081fd5b8135602061145061144b83611bf0565b611bc6565b82815281810190858301855b858110156114dd578135880189603f820112611476578788fd5b85810135604061148861144b83611bf0565b828152888101908483018a8502860184018f10156114a4578c8dfd5b8c95505b848610156114c6578035835260019590950194918a01918a016114a8565b50885250505093850193509084019060010161145c565b5090979650505050505050565b600082601f8301126114fa578081fd5b8151602061150a61144b83611bf0565b8281528181019085830183850287018401881015611526578586fd5b855b858110156114dd57815184529284019290840190600101611528565b8051801515811461141b57600080fd5b600080600060608486031215611568578283fd5b833561157381611c8a565b9250602084013561158381611c8a565b9150604084013561159381611c8a565b809150509250925092565b6000602082840312156115af578081fd5b815167ffffffffffffffff808211156115c6578283fd5b81840191506101008083870312156115dc578384fd5b6115e581611bc6565b9050825181526020830151828111156115fc578485fd5b611608878286016114ea565b60208301525060408301518281111561161f578485fd5b61162b878286016114ea565b604083015250606083015182811115611642578485fd5b61164e878286016114ea565b606083015250608083015182811115611665578485fd5b611671878286016114ea565b60808301525060a083015160a082015260c083015160c082015261169760e08401611544565b60e082015295945050505050565b60006101008083850312156116b8578182fd5b6040519081019067ffffffffffffffff821181831017156116db576116db611c74565b81604052835181526116ef60208501611420565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b60006020828403121561174c578081fd5b5051919050565b60008060408385031215611765578182fd5b50508035926020909101359150565b60008060008060008060c0878903121561178c578384fd5b863595506020808801359550604088013567ffffffffffffffff808211156117b2578687fd5b818a0191508a601f8301126117c5578687fd5b81356117d361144b82611bf0565b81815284810190848601868402860187018f10156117ef578a8bfd5b8a95505b838610156118115780358352600195909501949186019186016117f3565b509850505060608a0135925080831115611829578485fd5b505061183789828a0161142b565b9350506080870135915061184d60a08801611410565b90509295509295509295565b60008060006060848603121561186d578081fd5b505081359360208301359350604090920135919050565b600060208284031215611895578081fd5b815160ff811681146118a5578182fd5b9392505050565b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b6001600160a01b0391909116815260200190565b60208082526016908201527f696e636f7272656374207365637265742f76616c756500000000000000000000604082015260600190565b60208082526011908201527f6e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526014908201527f696e76616c6964206d65726b6c652070726f6f66000000000000000000000000604082015260600190565b60208082526010908201527f4e6f742072657665616c20737461746500000000000000000000000000000000604082015260600190565b60208082526010908201527f4e6f7420636f6d6d697420737461746500000000000000000000000000000000604082015260600190565b6020808252601d908201527f537472756374732e5374616b657220646f6573206e6f74206578697374000000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252818101527f6e6f7420636f6d6d69746564206f7220616c72656164792072657665616c6564604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526010908201527f616c726561647920636f6d6d6974656400000000000000000000000000000000604082015260600190565b815181526020918201519181019190915260400190565b9283526001600160a01b03919091166020830152604082015260600190565b93845260208401929092526040830152606082015260800190565b600060a082018783526020878185015286604085015260a0606085015281865180845260c0860191508288019350845b81811015611bae57845183529383019391830191600101611b92565b50508093505050508260808301529695505050505050565b60405181810167ffffffffffffffff81118282101715611be857611be8611c74565b604052919050565b600067ffffffffffffffff821115611c0a57611c0a611c74565b5060209081020190565b60008219821115611c2757611c27611c5e565b500190565b600082821015611c3e57611c3e611c5e565b500390565b6000600019821415611c5757611c57611c5e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611c9f57600080fd5b5056fea26469706673582212208289a41e24a03239f23892b8503b0759ef8661a797be91b57f46a50b60dc522d64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8CE7FF4A GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD13E2E60 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD13E2E60 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0xD9169B32 EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0xF2F03877 EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0xF322BD7D EQ PUSH2 0x1CF JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x8CE7FF4A EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x8FD5FF00 EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0x9C66556F EQ PUSH2 0x1CF JUMPI DUP1 PUSH4 0xA6A145D9 EQ PUSH2 0x1E2 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x2E716FB1 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x7164F0D6 EQ PUSH2 0x161 JUMPI DUP1 PUSH4 0x7542FF95 EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x8A757ECC EQ PUSH2 0x189 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x125F68F1 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x184B9559 EQ PUSH2 0x10F JUMPI DUP1 PUSH4 0x283E2905 EQ PUSH2 0x122 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10D PUSH2 0x108 CALLDATASIZE PUSH1 0x4 PUSH2 0x1774 JUMP JUMPDEST PUSH2 0x223 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x10D PUSH2 0x11D CALLDATASIZE PUSH1 0x4 PUSH2 0x1554 JUMP JUMPDEST PUSH2 0xB29 JUMP JUMPDEST PUSH2 0x135 PUSH2 0x130 CALLDATASIZE PUSH1 0x4 PUSH2 0x1859 JUMP JUMPDEST PUSH2 0xB80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP3 SWAP2 SWAP1 PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x154 PUSH2 0xBA8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0x18D9 JUMP JUMPDEST PUSH2 0x174 PUSH2 0x16F CALLDATASIZE PUSH1 0x4 PUSH2 0x1753 JUMP JUMPDEST PUSH2 0xBB7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0x18BA JUMP JUMPDEST PUSH2 0x154 PUSH2 0xBD2 JUMP JUMPDEST PUSH2 0x174 PUSH2 0x197 CALLDATASIZE PUSH1 0x4 PUSH2 0x1753 JUMP JUMPDEST PUSH2 0xBE1 JUMP JUMPDEST PUSH2 0x1AF PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x1859 JUMP JUMPDEST PUSH2 0xBFE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x143 SWAP2 SWAP1 PUSH2 0x1B11 JUMP JUMPDEST PUSH2 0x174 PUSH2 0x1CA CALLDATASIZE PUSH1 0x4 PUSH2 0x1859 JUMP JUMPDEST PUSH2 0xC44 JUMP JUMPDEST PUSH2 0x174 PUSH2 0x1DD CALLDATASIZE PUSH1 0x4 PUSH2 0x1859 JUMP JUMPDEST PUSH2 0xC67 JUMP JUMPDEST PUSH2 0x174 PUSH2 0x1F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1753 JUMP JUMPDEST PUSH2 0xC8B JUMP JUMPDEST PUSH2 0x174 PUSH2 0x203 CALLDATASIZE PUSH1 0x4 PUSH2 0x1753 JUMP JUMPDEST PUSH2 0xCA8 JUMP JUMPDEST PUSH2 0x154 PUSH2 0xCC2 JUMP JUMPDEST PUSH2 0x10D PUSH2 0x21E CALLDATASIZE PUSH1 0x4 PUSH2 0x1753 JUMP JUMPDEST PUSH2 0xCD1 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP9 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x27B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x29F SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST DUP2 EQ PUSH2 0x2C6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1A37 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x6022A485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x6022A485 SWAP2 PUSH2 0x2F8 SWAP2 DUP8 SWAP2 ADD PUSH2 0x18D9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x310 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x324 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x348 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x36A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1A00 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xE3C998FE SWAP2 PUSH2 0x39C SWAP2 DUP7 SWAP2 ADD PUSH2 0x18BA JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3C9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3ED SWAP2 SWAP1 PUSH2 0x16A5 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x424 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1A6E JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SLOAD SWAP2 MLOAD PUSH2 0x44F SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP11 SWAP2 ADD PUSH2 0x18C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x482 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x18ED JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EQ ISZERO PUSH2 0x962 JUMPI PUSH20 0x0 PUSH4 0xA475B5DD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4EB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x50F SWAP2 SWAP1 PUSH2 0x1884 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x560 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x574 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x598 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST EQ PUSH2 0x5B5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1992 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x40 ADD MLOAD GT PUSH2 0x5D9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1924 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0x806 JUMPI PUSH2 0x664 DUP8 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x608 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP11 DUP11 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x631 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x649 SWAP2 SWAP1 PUSH2 0x18BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x133B JUMP JUMPDEST PUSH2 0x680 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x195B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP10 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x6AB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD DUP3 MSTORE PUSH1 0x40 DUP1 DUP7 ADD DUP1 MLOAD SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x0 DUP15 DUP2 MSTORE PUSH1 0x1 DUP1 DUP5 MSTORE DUP3 DUP3 KECCAK256 DUP10 DUP4 MSTORE DUP5 MSTORE DUP3 DUP3 KECCAK256 DUP8 DUP4 MSTORE DUP5 MSTORE DUP3 DUP3 KECCAK256 DUP7 MLOAD DUP2 SSTORE SWAP6 DUP5 ADD MLOAD SWAP6 ADD SWAP5 SWAP1 SWAP5 SSTORE SWAP2 MLOAD DUP14 DUP5 MSTORE PUSH1 0x3 DUP3 MSTORE DUP3 DUP5 KECCAK256 DUP6 DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP3 KECCAK256 DUP11 MLOAD SWAP2 SWAP3 SWAP1 SWAP2 DUP12 SWAP1 DUP6 SWAP1 DUP2 LT PUSH2 0x72D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x74E SWAP2 SWAP1 PUSH2 0x1C14 JUMP JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP11 MLOAD SWAP1 SWAP2 SWAP1 DUP12 SWAP1 DUP6 SWAP1 DUP2 LT PUSH2 0x78C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x40 ADD MLOAD PUSH1 0x2 PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x7DA SWAP2 SWAP1 PUSH2 0x1C14 JUMP JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE DUP1 PUSH2 0x7FE DUP2 PUSH2 0x1C43 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x5DC JUMP JUMPDEST POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH32 0xFABB989000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0xFABB9890 SWAP2 PUSH2 0x851 SWAP2 DUP7 SWAP2 DUP15 SWAP2 ADD PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x86B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x87F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP2 MLOAD PUSH32 0x9864F70A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 POP PUSH4 0x9864F70A SWAP2 PUSH2 0x8E8 SWAP2 DUP7 SWAP2 DUP15 SWAP2 ADD PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x902 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x916 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x17F4759C403DFC3FA26AB75CE82D3D090A0BDBFE9977D8EE87445D6DD83C68A1 DUP10 DUP4 DUP4 PUSH1 0x40 ADD MLOAD DUP11 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x955 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0xB1E JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x9BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9DE SWAP2 SWAP1 PUSH2 0x1884 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA43 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA67 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST EQ PUSH2 0xA84 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x19C9 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP2 MLOAD PUSH32 0xF91CE1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xF91CE19 SWAP2 PUSH2 0xAEB SWAP2 DUP7 SWAP2 CALLER SWAP2 DUP16 SWAP2 ADD PUSH2 0x1B28 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB05 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB19 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x5 DUP1 SLOAD SWAP4 DUP6 AND SWAP4 DUP3 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP1 SLOAD SWAP2 SWAP1 SWAP4 AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 DUP3 MSTORE SWAP4 DUP6 MSTORE DUP4 DUP6 KECCAK256 SWAP1 MSTORE SWAP1 DUP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP3 DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xC06 PUSH2 0x13F6 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP7 DUP6 MSTORE DUP3 MSTORE DUP1 DUP5 KECCAK256 DUP6 DUP6 MSTORE DUP3 MSTORE SWAP3 DUP4 SWAP1 KECCAK256 DUP4 MLOAD DUP1 DUP6 ADD SWAP1 SWAP5 MSTORE DUP1 SLOAD DUP5 MSTORE SWAP1 SWAP2 ADD SLOAD SWAP1 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP3 MSTORE SWAP3 DUP5 MSTORE DUP3 DUP5 KECCAK256 SWAP1 MSTORE DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP4 DUP6 MSTORE SWAP3 DUP2 MSTORE DUP3 DUP5 KECCAK256 SWAP2 DUP5 MSTORE MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP3 DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 DUP2 MSTORE SWAP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 MSTORE SWAP1 DUP2 MSTORE KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD29 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD4D SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST DUP2 EQ PUSH2 0xD6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1A37 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDAF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xDC3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDE7 SWAP2 SWAP1 PUSH2 0x1884 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE4C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE70 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST DUP2 EQ PUSH2 0xE8E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1AA3 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x6022A485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x6022A485 SWAP2 PUSH2 0xEC0 SWAP2 CALLER SWAP2 ADD PUSH2 0x18D9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xED8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEEC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF10 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0xF48 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2BD SWAP1 PUSH2 0x1ADA JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0xE3C998FE SWAP2 PUSH2 0xF7A SWAP2 DUP7 SWAP2 ADD PUSH2 0x18BA JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xFA7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFCB SWAP2 SWAP1 PUSH2 0x16A5 JUMP JUMPDEST PUSH1 0x6 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4C07569 PUSH2 0xFEA PUSH1 0x1 DUP10 PUSH2 0x1C2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1006 SWAP2 SWAP1 PUSH2 0x18BA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x101E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1032 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x105A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x159E JUMP JUMPDEST MLOAD ISZERO DUP1 ISZERO PUSH2 0x10F0 JUMPI POP PUSH1 0x6 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE38C7C42 PUSH2 0x1082 PUSH1 0x1 DUP11 PUSH2 0x1C2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x109E SWAP2 SWAP1 PUSH2 0x18BA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x10CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10EE SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x115E JUMPI PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9B87F644 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1145 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1159 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH32 0x54EAE15E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x54EAE15E SWAP2 PUSH2 0x11A8 SWAP2 DUP7 SWAP2 DUP12 SWAP2 ADD PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x11D6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x121E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1232 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1256 SWAP2 SWAP1 PUSH2 0x173B JUMP JUMPDEST DUP2 PUSH1 0x40 ADD MLOAD LT PUSH2 0x1333 JUMPI PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP7 SWAP1 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP2 MLOAD PUSH32 0x188DC83B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x188DC83B SWAP2 PUSH2 0x12C3 SWAP2 DUP7 SWAP2 ADD PUSH2 0x18BA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x12F1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x6AD04B07DBE80EE3971460EBC13808FB6DD0FA67FBF7D7EBC4DE85811D2C9928 DUP7 DUP4 DUP8 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x132A SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B47 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x13EB JUMPI PUSH1 0x0 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x136B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP1 DUP4 GT PUSH2 0x13AC JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x138F SWAP3 SWAP2 SWAP1 PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP PUSH2 0x13D8 JUMP JUMPDEST DUP1 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x13BF SWAP3 SWAP2 SWAP1 PUSH2 0x18AC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP JUMPDEST POP DUP1 PUSH2 0x13E3 DUP2 PUSH2 0x1C43 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1340 JUMP JUMPDEST POP SWAP1 SWAP3 EQ SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x141B DUP2 PUSH2 0x1C8A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x141B DUP2 PUSH2 0x1C8A JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x143B JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x1450 PUSH2 0x144B DUP4 PUSH2 0x1BF0 JUMP JUMPDEST PUSH2 0x1BC6 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP2 DUP2 ADD SWAP1 DUP6 DUP4 ADD DUP6 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x14DD JUMPI DUP2 CALLDATALOAD DUP9 ADD DUP10 PUSH1 0x3F DUP3 ADD SLT PUSH2 0x1476 JUMPI DUP8 DUP9 REVERT JUMPDEST DUP6 DUP2 ADD CALLDATALOAD PUSH1 0x40 PUSH2 0x1488 PUSH2 0x144B DUP4 PUSH2 0x1BF0 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP9 DUP2 ADD SWAP1 DUP5 DUP4 ADD DUP11 DUP6 MUL DUP7 ADD DUP5 ADD DUP16 LT ISZERO PUSH2 0x14A4 JUMPI DUP13 DUP14 REVERT JUMPDEST DUP13 SWAP6 POP JUMPDEST DUP5 DUP7 LT ISZERO PUSH2 0x14C6 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP2 DUP11 ADD SWAP2 DUP11 ADD PUSH2 0x14A8 JUMP JUMPDEST POP DUP9 MSTORE POP POP POP SWAP4 DUP6 ADD SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x145C JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x14FA JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x150A PUSH2 0x144B DUP4 PUSH2 0x1BF0 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP2 DUP2 ADD SWAP1 DUP6 DUP4 ADD DUP4 DUP6 MUL DUP8 ADD DUP5 ADD DUP9 LT ISZERO PUSH2 0x1526 JUMPI DUP6 DUP7 REVERT JUMPDEST DUP6 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x14DD JUMPI DUP2 MLOAD DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1528 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x141B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1568 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x1573 DUP2 PUSH2 0x1C8A JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x1583 DUP2 PUSH2 0x1C8A JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x1593 DUP2 PUSH2 0x1C8A JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15AF JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x15C6 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP PUSH2 0x100 DUP1 DUP4 DUP8 SUB SLT ISZERO PUSH2 0x15DC JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x15E5 DUP2 PUSH2 0x1BC6 JUMP JUMPDEST SWAP1 POP DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x15FC JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1608 DUP8 DUP3 DUP7 ADD PUSH2 0x14EA JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x161F JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x162B DUP8 DUP3 DUP7 ADD PUSH2 0x14EA JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1642 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x164E DUP8 DUP3 DUP7 ADD PUSH2 0x14EA JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1665 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1671 DUP8 DUP3 DUP7 ADD PUSH2 0x14EA JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x1697 PUSH1 0xE0 DUP5 ADD PUSH2 0x1544 JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16B8 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x16DB JUMPI PUSH2 0x16DB PUSH2 0x1C74 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 MLOAD DUP2 MSTORE PUSH2 0x16EF PUSH1 0x20 DUP6 ADD PUSH2 0x1420 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP5 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0xE0 DUP3 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x174C JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1765 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x178C JUMPI DUP4 DUP5 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 DUP1 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x17B2 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP2 DUP11 ADD SWAP2 POP DUP11 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x17C5 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x17D3 PUSH2 0x144B DUP3 PUSH2 0x1BF0 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 DUP2 ADD SWAP1 DUP5 DUP7 ADD DUP7 DUP5 MUL DUP7 ADD DUP8 ADD DUP16 LT ISZERO PUSH2 0x17EF JUMPI DUP11 DUP12 REVERT JUMPDEST DUP11 SWAP6 POP JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x1811 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP2 DUP7 ADD SWAP2 DUP7 ADD PUSH2 0x17F3 JUMP JUMPDEST POP SWAP9 POP POP POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x1829 JUMPI DUP5 DUP6 REVERT JUMPDEST POP POP PUSH2 0x1837 DUP10 DUP3 DUP11 ADD PUSH2 0x142B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH2 0x184D PUSH1 0xA0 DUP9 ADD PUSH2 0x1410 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x186D JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1895 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x18A5 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x16 SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F7272656374207365637265742F76616C756500000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x6E6F6E706F736974697665207374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x696E76616C6964206D65726B6C652070726F6F66000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F742072657665616C20737461746500000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420636F6D6D697420737461746500000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1D SWAP1 DUP3 ADD MSTORE PUSH32 0x537472756374732E5374616B657220646F6573206E6F74206578697374000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x6E6F7420636F6D6D69746564206F7220616C72656164792072657665616C6564 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x616C726561647920636F6D6D6974656400000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 ADD MLOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD DUP8 DUP4 MSTORE PUSH1 0x20 DUP8 DUP2 DUP6 ADD MSTORE DUP7 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x60 DUP6 ADD MSTORE DUP2 DUP7 MLOAD DUP1 DUP5 MSTORE PUSH1 0xC0 DUP7 ADD SWAP2 POP DUP3 DUP9 ADD SWAP4 POP DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1BAE JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x1B92 JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1BE8 JUMPI PUSH2 0x1BE8 PUSH2 0x1C74 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1C0A JUMPI PUSH2 0x1C0A PUSH2 0x1C74 JUMP JUMPDEST POP PUSH1 0x20 SWAP1 DUP2 MUL ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1C27 JUMPI PUSH2 0x1C27 PUSH2 0x1C5E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1C3E JUMPI PUSH2 0x1C3E PUSH2 0x1C5E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x1C57 JUMPI PUSH2 0x1C57 PUSH2 0x1C5E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1C9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP3 DUP10 LOG4 0x1E 0x24 LOG0 ORIGIN CODECOPY CALLCODE CODESIZE SWAP3 0xB8 POP EXTCODESIZE SMOD MSIZE 0xEF DUP7 PUSH2 0xA797 0xBE SWAP2 0xB5 PUSH32 0x46A50B60DC522D64736F6C634300080000330000000000000000000000000000 ", - "sourceMap": "322:4934:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2211:1981;;;;;;:::i;:::-;;:::i;:::-;;743:299;;;;;;:::i;:::-;;:::i;280:89:21:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;404:33:12;;;:::i;:::-;;;;;;;:::i;4198:180::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;365:33::-;;;:::i;412:76:21:-;;;;;;:::i;:::-;;:::i;4384:216:12:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;540:90:21:-;;;;;;:::i;:::-;;:::i;4606:220:12:-;;;;;;:::i;:::-;;:::i;4832:192::-;;;;;;:::i;:::-;;:::i;163:68:21:-;;;;;;:::i;:::-;;:::i;443:33:12:-;;;:::i;1142:957::-;;;;;;:::i;:::-;;:::i;2211:1981::-;546:12;;:23;;;-1:-1:-1;;;546:23:12;;;;2394:5;;-1:-1:-1;;;;;546:12:12;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;537:5;:32;529:60;;;;-1:-1:-1;;;529:60:12;;;;;;;:::i;:::-;;;;;;;;;2434:12:::1;::::0;;:39:::1;::::0;-1:-1:-1;;;2434:39:12;;2411:20:::1;::::0;-1:-1:-1;;;;;2434:12:12;;::::1;::::0;:24:::1;::::0;:39:::1;::::0;2459:13;;2434:39:::1;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2411:62;;2506:1;2491:12;:16;2483:58;;;;-1:-1:-1::0;;;2483:58:12::1;;;;;;;:::i;:::-;2586:12;::::0;;:36:::1;::::0;-1:-1:-1;;;2586:36:12;;2551:32:::1;::::0;-1:-1:-1;;;;;2586:12:12;;::::1;::::0;:22:::1;::::0;:36:::1;::::0;2609:12;;2586:36:::1;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2640:11;:18:::0;;;::::1;::::0;;;;;;;:32;;;;;;;;;2551:71;;-1:-1:-1;2632:84:12::1;;;;-1:-1:-1::0;;;2632:84:12::1;;;;;;;:::i;:::-;2786:11;:18:::0;;;::::1;::::0;;;;;;;:32;;;;;;;;;;2744:37;;::::1;::::0;2798:5;;2768:4;;2774:6;;2744:37:::1;;:::i;:::-;;;;;;;;;;;;;2734:48;;;;;;:84;2726:135;;;;-1:-1:-1::0;;;2726:135:12::1;;;;;;;:::i;:::-;2912:10;-1:-1:-1::0;;;;;2912:27:12;::::1;;2908:1278;;;2990:9;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2963:45;;:12;;;;;;;;;-1:-1:-1::0;;;;;2963:12:12::1;-1:-1:-1::0;;;;;2963:21:12::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;2955:74;;;;-1:-1:-1::0;;;2955:74:12::1;;;;;;;:::i;:::-;3070:1;3051:10;:16;;;:20;3043:50;;;;-1:-1:-1::0;;;3043:50:12::1;;;;;;;:::i;:::-;3112:9;3107:492;3131:6;:13;3127:1;:17;3107:492;;;3177:75;3196:6;3203:1;3196:9;;;;;;-1:-1:-1::0;;;3196:9:12::1;;;;;;;;;;;;;;;3207:4;3240:6;3247:1;3240:9;;;;;;-1:-1:-1::0;;;3240:9:12::1;;;;;;;;;;;;;;;3223:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;3213:38;;;;;;3177:18;:75::i;:::-;3169:124;;;;-1:-1:-1::0;;;3169:124:12::1;;;;;;;:::i;:::-;3343:41;;;;;;;;3356:6;3363:1;3356:9;;;;;;-1:-1:-1::0;;;3356:9:12::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;3343:41;;3367:16:::1;::::0;;::::1;::::0;;3343:41;;::::1;::::0;;;;-1:-1:-1;3311:12:12;;;:5:::1;:12:::0;;;;;;:26;;;;;;;;:29;;;;;;;;:73;;;;;;::::1;::::0;;::::1;::::0;;;;3471:16;;3437:18;;;:11:::1;:18:::0;;;;;:21;;;;;;;;;3459:9;;3471:16;;3437:21;;3459:6;;3338:1;;3459:9;::::1;;;-1:-1:-1::0;;;3459:9:12::1;;;;;;;;;;;;;;;3437:32;;;;;;;;;;;;:51;;;;:::i;:::-;3402:18;::::0;;;:11:::1;:18;::::0;;;;;;;:21;;;;;;;;3424:9;;3402:21;;:18;3424:6;;3421:1;;3424:9;::::1;;;-1:-1:-1::0;;;3424:9:12::1;;;;;;;;;;;;;;;3402:32;;;;;;;;;;;:86;;;;3567:10;:16;;;3537:18;:25;3556:5;3537:25;;;;;;;;;;;:28;3563:1;3537:28;;;;;;;;;;;;:47;;;;:::i;:::-;3506:25;::::0;;;:18:::1;:25;::::0;;;;;;;:28;;;;;;;;:78;3532:1;3146:3:::1;3532:1:::0;3146:3:::1;:::i;:::-;;;;3107:492;;;-1:-1:-1::0;3613:12:12::1;::::0;;:45:::1;::::0;;;;-1:-1:-1;;;;;3613:12:12;;::::1;::::0;:24:::1;::::0;:45:::1;::::0;3638:12;;3652:5;;3613:45:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;3708:3:12::1;3673:18:::0;;;::::1;::::0;;;;;;;:32;;;;;;;;;:38;;;;3725:12:::1;::::0;;:60;;;;;-1:-1:-1;;;;;3725:12:12;;::::1;::::0;-1:-1:-1;3725:39:12::1;::::0;:60:::1;::::0;3692:12;;3685:5;;3725:60:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;3805:72;3814:5;3821:12;3835:10;:16;;;3853:6;3861:15;3805:72;;;;;;;;;;:::i;:::-;;;;;;;;2908:1278;;;4019:9;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3992:45;;:12;;;;;;;;;-1:-1:-1::0;;;;;3992:12:12::1;-1:-1:-1::0;;;;;3992:21:12::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;3984:74;;;;-1:-1:-1::0;;;3984:74:12::1;;;;;;;:::i;:::-;4107:3;4072:18:::0;;;::::1;::::0;;;;;;;:32;;;;;;;;;:38;;;;4124:12:::1;::::0;;:51;;;;;-1:-1:-1;;;;;4124:12:12;;::::1;::::0;:18:::1;::::0;:51:::1;::::0;4091:12;;4157:10:::1;::::0;4084:5;;4124:51:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2908:1278;599:1;;2211:1981:::0;;;;;;;:::o;743:299::-;865:12;:50;;-1:-1:-1;;;;;865:50:12;;;;;;;;;;;925:12;:50;;;;;;;;;;;;;;;985:12;:50;;;;;;;;;;;743:299::o;280:89:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;404:33:12:-;;;-1:-1:-1;;;;;404:33:12;;:::o;4198:180::-;4274:7;4342:18;;;;;;;;;;;:28;;;;;;;;;;4198:180::o;365:33::-;;;-1:-1:-1;;;;;365:33:12;;:::o;412:76:21:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;4384:216:12:-;4471:24;;:::i;:::-;-1:-1:-1;4561:12:12;;;;:5;:12;;;;;;;;:22;;;;;;;;:31;;;;;;;;;4554:39;;;;;;;;;;;;;;;;;;;;4384:216;;;;;:::o;540:90:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4606:220:12:-;4704:7;4780:18;;;:11;:18;;;;;;;;:27;;;;;;;;;:38;;;;;;;;4606:220::o;4832:192::-;4915:7;4982:25;;;:18;:25;;;;;;;;:34;;;;;;;;;;4832:192::o;163:68:21:-;;;;;;;;;;;;;;;;;;;;;;:::o;443:33:12:-;;;-1:-1:-1;;;;;443:33:12;;:::o;1142:957::-;546:12;;:23;;;-1:-1:-1;;;546:23:12;;;;1211:5;;-1:-1:-1;;;;;546:12:12;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;537:5;:32;529:60;;;;-1:-1:-1;;;529:60:12;;;;;;;:::i;:::-;1229:9:::1;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;613:124;;676:12;;;;;;;;;-1:-1:-1::0;;;;;676:12:12::1;-1:-1:-1::0;;;;;676:21:12::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;667:5;:32;659:60;;;;-1:-1:-1::0;;;659:60:12::1;;;;;;;:::i;:::-;1278:12:::2;::::0;;:36:::2;::::0;-1:-1:-1;;;1278:36:12;;1259:16:::2;::::0;-1:-1:-1;;;;;1278:12:12;;::::2;::::0;:24:::2;::::0;:36:::2;::::0;1303:10:::2;::::0;1278:36:::2;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1332:11;:18:::0;;;::::2;::::0;;;;;;;:28;;;;;;;;;1259:55;;-1:-1:-1;1332:35:12;1324:64:::2;;;;-1:-1:-1::0;;;1324:64:12::2;;;;;;;:::i;:::-;1433:12;::::0;;:32:::2;::::0;-1:-1:-1;;;1433:32:12;;1398::::2;::::0;-1:-1:-1;;;;;1433:12:12;;::::2;::::0;:22:::2;::::0;:32:::2;::::0;1456:8;;1433:32:::2;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1636:12;::::0;1398:67;;-1:-1:-1;;;;;;1636:12:12::2;:21;1658:7;1636:12:::0;1658:5;:7:::2;:::i;:::-;1636:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;1636:30:12::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;:41:::0;:46;:96;::::2;;;-1:-1:-1::0;1686:12:12::2;::::0;1731:1:::2;::::0;-1:-1:-1;;;;;1686:12:12::2;:33;1720:7;1686:12:::0;1720:5;:7:::2;:::i;:::-;1686:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;1636:96;1632:154;;;1748:12;;;;;;;;;-1:-1:-1::0;;;;;1748:12:12::2;-1:-1:-1::0;;;;;1748:25:12::2;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;1632:154;1795:12;::::0;;:43:::2;::::0;;;;-1:-1:-1;;;;;1795:12:12;;::::2;::::0;:26:::2;::::0;:43:::2;::::0;1822:8;;1832:5;;1795:43:::2;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;1873:9;:18;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1853:10;:16;;;:40;1849:244;;1909:11;:18:::0;;;::::2;::::0;;;;;;;:28;;;;;;;;;;:41;;;1964:12:::2;::::0;;:44;;;;;-1:-1:-1;;;;;1964:12:12;;::::2;::::0;:34:::2;::::0;:44:::2;::::0;1928:8;;1964:44:::2;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;2027:55;2037:5;2044:8;2054:10;2066:15;2027:55;;;;;;;;;:::i;:::-;;;;;;;;1849:244;729:1;;599::::1;1142:957:::0;;;:::o;497:779:4:-;588:4;627;588;642:515;666:5;:12;662:1;:16;642:515;;;699:20;722:5;728:1;722:8;;;;;;-1:-1:-1;;;722:8:4;;;;;;;;;;;;;;;699:31;;765:12;749;:28;745:402;;917:12;931;900:44;;;;;;;;;:::i;:::-;;;;;;;;;;;;;890:55;;;;;;875:70;;745:402;;;1104:12;1118;1087:44;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1077:55;;;;;;1062:70;;745:402;-1:-1:-1;680:3:4;;;;:::i;:::-;;;;642:515;;;-1:-1:-1;1249:20:4;;;;497:779;-1:-1:-1;;;497:779:4:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;14:138:28:-;84:20;;113:33;84:20;113:33;:::i;:::-;65:87;;;:::o;157:142::-;238:13;;260:33;238:13;260:33;:::i;304:1399::-;;431:3;424:4;416:6;412:17;408:27;398:2;;453:5;446;439:20;398:2;493:6;480:20;519:4;543:79;558:63;618:2;558:63;:::i;:::-;543:79;:::i;:::-;656:15;;;687:12;;;;719:15;;;752:5;766:908;780:2;777:1;774:9;766:908;;;860:3;847:17;839:6;835:30;905:3;900:2;896;892:11;888:21;878:2;;927:5;920;913:20;878:2;979;975;971:11;958:25;1006:2;1034:79;1049:63;1109:2;1049:63;:::i;1034:79::-;1157:17;;;1196:14;;;;1236:11;;;1278;;;1270:20;;1266:29;;1263:38;-1:-1:-1;1260:2:28;;;1318:5;1311;1304:20;1260:2;1350:5;1339:16;;1368:201;1384:2;1379:3;1376:11;1368:201;;;1455:19;;1441:34;;1406:1;1397:11;;;;;1501:14;;;;1541;;1368:201;;;-1:-1:-1;1582:18:28;;-1:-1:-1;;;1620:12:28;;;;-1:-1:-1;1652:12:28;;;;798:1;791:9;766:908;;;-1:-1:-1;1692:5:28;;388:1315;-1:-1:-1;;;;;;;388:1315:28:o;1708:716::-;;1832:3;1825:4;1817:6;1813:17;1809:27;1799:2;;1854:5;1847;1840:20;1799:2;1887:6;1881:13;1913:4;1937:79;1952:63;2012:2;1952:63;:::i;1937:79::-;2050:15;;;2081:12;;;;2113:15;;;2159:11;;;2147:24;;2143:33;;2140:42;-1:-1:-1;2137:2:28;;;2199:5;2192;2185:20;2137:2;2225:5;2239:156;2253:2;2250:1;2247:9;2239:156;;;2310:10;;2298:23;;2341:12;;;;2373;;;;2271:1;2264:9;2239:156;;2429:166;2507:13;;2556;;2549:21;2539:32;;2529:2;;2585:1;2582;2575:12;2600:545;;;;2746:2;2734:9;2725:7;2721:23;2717:32;2714:2;;;2767:6;2759;2752:22;2714:2;2811:9;2798:23;2830:33;2857:5;2830:33;:::i;:::-;2882:5;-1:-1:-1;2939:2:28;2924:18;;2911:32;2952:35;2911:32;2952:35;:::i;:::-;3006:7;-1:-1:-1;3065:2:28;3050:18;;3037:32;3078:35;3037:32;3078:35;:::i;:::-;3132:7;3122:17;;;2704:441;;;;;:::o;3150:1538::-;;3296:2;3284:9;3275:7;3271:23;3267:32;3264:2;;;3317:6;3309;3302:22;3264:2;3355:9;3349:16;3384:18;3425:2;3417:6;3414:14;3411:2;;;3446:6;3438;3431:22;3411:2;3489:6;3478:9;3474:22;3464:32;;3515:6;3555:2;3550;3541:7;3537:16;3533:25;3530:2;;;3576:6;3568;3561:22;3530:2;3607:18;3622:2;3607:18;:::i;:::-;3594:31;;3654:2;3648:9;3641:5;3634:24;3697:2;3693;3689:11;3683:18;3726:2;3716:8;3713:16;3710:2;;;3747:6;3739;3732:22;3710:2;3788:73;3853:7;3842:8;3838:2;3834:17;3788:73;:::i;:::-;3783:2;3776:5;3772:14;3765:97;;3901:2;3897;3893:11;3887:18;3930:2;3920:8;3917:16;3914:2;;;3951:6;3943;3936:22;3914:2;3992:73;4057:7;4046:8;4042:2;4038:17;3992:73;:::i;:::-;3987:2;3980:5;3976:14;3969:97;;4105:2;4101;4097:11;4091:18;4134:2;4124:8;4121:16;4118:2;;;4155:6;4147;4140:22;4118:2;4196:73;4261:7;4250:8;4246:2;4242:17;4196:73;:::i;:::-;4191:2;4184:5;4180:14;4173:97;;4309:3;4305:2;4301:12;4295:19;4339:2;4329:8;4326:16;4323:2;;;4360:6;4352;4345:22;4323:2;4402:73;4467:7;4456:8;4452:2;4448:17;4402:73;:::i;:::-;4396:3;4389:5;4385:15;4378:98;;4523:3;4519:2;4515:12;4509:19;4503:3;4496:5;4492:15;4485:44;4576:3;4572:2;4568:12;4562:19;4556:3;4549:5;4545:15;4538:44;4615:42;4652:3;4648:2;4644:12;4615:42;:::i;:::-;4609:3;4598:15;;4591:67;4602:5;3254:1434;-1:-1:-1;;;;;3254:1434:28:o;4693:920::-;;4818:3;4862:2;4850:9;4841:7;4837:23;4833:32;4830:2;;;4883:6;4875;4868:22;4830:2;4921;4915:9;4951:15;;;;4996:18;4981:34;;5017:22;;;4978:62;4975:2;;;5043:18;;:::i;:::-;5083:10;5079:2;5072:22;5124:9;5118:16;5110:6;5103:32;5168:51;5215:2;5204:9;5200:18;5168:51;:::i;:::-;5163:2;5155:6;5151:15;5144:76;5274:2;5263:9;5259:18;5253:25;5248:2;5240:6;5236:15;5229:50;5333:2;5322:9;5318:18;5312:25;5307:2;5299:6;5295:15;5288:50;5393:3;5382:9;5378:19;5372:26;5366:3;5358:6;5354:16;5347:52;5454:3;5443:9;5439:19;5433:26;5427:3;5419:6;5415:16;5408:52;5515:3;5504:9;5500:19;5494:26;5488:3;5480:6;5476:16;5469:52;5576:3;5565:9;5561:19;5555:26;5549:3;5541:6;5537:16;5530:52;5601:6;5591:16;;;;4798:815;;;;:::o;5618:194::-;;5741:2;5729:9;5720:7;5716:23;5712:32;5709:2;;;5762:6;5754;5747:22;5709:2;-1:-1:-1;5790:16:28;;5699:113;-1:-1:-1;5699:113:28:o;5817:258::-;;;5946:2;5934:9;5925:7;5921:23;5917:32;5914:2;;;5967:6;5959;5952:22;5914:2;-1:-1:-1;;5995:23:28;;;6065:2;6050:18;;;6037:32;;-1:-1:-1;5904:171:28:o;6080:1552::-;;;;;;;6352:3;6340:9;6331:7;6327:23;6323:33;6320:2;;;6374:6;6366;6359:22;6320:2;6415:9;6402:23;6392:33;;6444:2;6493;6482:9;6478:18;6465:32;6455:42;;6548:2;6537:9;6533:18;6520:32;6571:18;6612:2;6604:6;6601:14;6598:2;;;6633:6;6625;6618:22;6598:2;6676:6;6665:9;6661:22;6651:32;;6721:7;6714:4;6710:2;6706:13;6702:27;6692:2;;6748:6;6740;6733:22;6692:2;6789;6776:16;6812:79;6827:63;6887:2;6827:63;:::i;6812:79::-;6925:15;;;6956:12;;;;6988:11;;;7026;;;7018:20;;7014:29;;7011:42;-1:-1:-1;7008:2:28;;;7071:6;7063;7056:22;7008:2;7098:6;7089:15;;7113:163;7127:2;7124:1;7121:9;7113:163;;;7184:17;;7172:30;;7145:1;7138:9;;;;;7222:12;;;;7254;;7113:163;;;-1:-1:-1;7295:5:28;-1:-1:-1;;;7353:2:28;7338:18;;7325:32;;-1:-1:-1;7369:16:28;;;7366:2;;;7403:6;7395;7388:22;7366:2;;;7431:83;7506:7;7495:8;7484:9;7480:24;7431:83;:::i;:::-;7421:93;;;7561:3;7550:9;7546:19;7533:33;7523:43;;7585:41;7621:3;7610:9;7606:19;7585:41;:::i;:::-;7575:51;;6310:1322;;;;;;;;:::o;7900:326::-;;;;8046:2;8034:9;8025:7;8021:23;8017:32;8014:2;;;8067:6;8059;8052:22;8014:2;-1:-1:-1;;8095:23:28;;;8165:2;8150:18;;8137:32;;-1:-1:-1;8216:2:28;8201:18;;;8188:32;;8004:222;-1:-1:-1;8004:222:28:o;8231:293::-;;8352:2;8340:9;8331:7;8327:23;8323:32;8320:2;;;8373:6;8365;8358:22;8320:2;8410:9;8404:16;8460:4;8453:5;8449:16;8442:5;8439:27;8429:2;;8485:6;8477;8470:22;8429:2;8513:5;8310:214;-1:-1:-1;;;8310:214:28:o;8529:247::-;8686:19;;;8730:2;8721:12;;8714:28;8767:2;8758:12;;8676:100::o;8781:182::-;8910:19;;;8954:2;8945:12;;8900:63::o;8968:312::-;9153:19;;;9197:2;9188:12;;9181:28;;;;9234:2;9225:12;;9218:28;9271:2;9262:12;;9143:137::o;9285:226::-;-1:-1:-1;;;;;9449:55:28;;;;9431:74;;9419:2;9404:18;;9386:125::o;10457:346::-;10659:2;10641:21;;;10698:2;10678:18;;;10671:30;10737:24;10732:2;10717:18;;10710:52;10794:2;10779:18;;10631:172::o;10808:341::-;11010:2;10992:21;;;11049:2;11029:18;;;11022:30;11088:19;11083:2;11068:18;;11061:47;11140:2;11125:18;;10982:167::o;11154:344::-;11356:2;11338:21;;;11395:2;11375:18;;;11368:30;11434:22;11429:2;11414:18;;11407:50;11489:2;11474:18;;11328:170::o;11503:340::-;11705:2;11687:21;;;11744:2;11724:18;;;11717:30;11783:18;11778:2;11763:18;;11756:46;11834:2;11819:18;;11677:166::o;11848:340::-;12050:2;12032:21;;;12089:2;12069:18;;;12062:30;12128:18;12123:2;12108:18;;12101:46;12179:2;12164:18;;12022:166::o;12193:353::-;12395:2;12377:21;;;12434:2;12414:18;;;12407:30;12473:31;12468:2;12453:18;;12446:59;12537:2;12522:18;;12367:179::o;12551:339::-;12753:2;12735:21;;;12792:2;12772:18;;;12765:30;12831:17;12826:2;12811:18;;12804:45;12881:2;12866:18;;12725:165::o;12895:356::-;13097:2;13079:21;;;13116:18;;;13109:30;13175:34;13170:2;13155:18;;13148:62;13242:2;13227:18;;13069:182::o;13256:339::-;13458:2;13440:21;;;13497:2;13477:18;;;13470:30;13536:17;13531:2;13516:18;;13509:45;13586:2;13571:18;;13430:165::o;13600:340::-;13802:2;13784:21;;;13841:2;13821:18;;;13814:30;13880:18;13875:2;13860:18;;13853:46;13931:2;13916:18;;13774:166::o;13945:291::-;14153:13;;14135:32;;14223:4;14211:17;;;14205:24;14183:20;;;14176:54;;;;14123:2;14108:18;;14090:146::o;14423:368::-;14625:25;;;-1:-1:-1;;;;;14686:55:28;;;;14681:2;14666:18;;14659:83;14773:2;14758:18;;14751:34;14613:2;14598:18;;14580:211::o;15049:391::-;15280:25;;;15336:2;15321:18;;15314:34;;;;15379:2;15364:18;;15357:34;15422:2;15407:18;;15400:34;15267:3;15252:19;;15234:206::o;15445:923::-;;15747:3;15736:9;15732:19;15778:6;15767:9;15760:25;15804:2;15842:6;15837:2;15826:9;15822:18;15815:34;15885:6;15880:2;15869:9;15865:18;15858:34;15928:3;15923:2;15912:9;15908:18;15901:31;15952:6;15987;15981:13;16018:6;16010;16003:22;16056:3;16045:9;16041:19;16034:26;;16095:2;16087:6;16083:15;16069:29;;16116:4;16129:169;16143:6;16140:1;16137:13;16129:169;;;16204:13;;16192:26;;16273:15;;;;16238:12;;;;16165:1;16158:9;16129:169;;;16133:3;;16315;16307:11;;;;;16355:6;16349:3;16338:9;16334:19;16327:35;15708:660;;;;;;;;:::o;16373:251::-;16443:2;16437:9;16473:17;;;16520:18;16505:34;;16541:22;;;16502:62;16499:2;;;16567:18;;:::i;:::-;16603:2;16596:22;16417:207;;-1:-1:-1;16417:207:28:o;16629:206::-;;16742:18;16734:6;16731:30;16728:2;;;16764:18;;:::i;:::-;-1:-1:-1;16824:4:28;16805:17;;;16801:28;;16718:117::o;16840:128::-;;16911:1;16907:6;16904:1;16901:13;16898:2;;;16917:18;;:::i;:::-;-1:-1:-1;16953:9:28;;16888:80::o;16973:125::-;;17041:1;17038;17035:8;17032:2;;;17046:18;;:::i;:::-;-1:-1:-1;17083:9:28;;17022:76::o;17103:135::-;;-1:-1:-1;;17163:17:28;;17160:2;;;17183:18;;:::i;:::-;-1:-1:-1;17230:1:28;17219:13;;17150:88::o;17243:184::-;-1:-1:-1;;;17292:1:28;17285:88;17392:4;17389:1;17382:15;17416:4;17413:1;17406:15;17432:184;-1:-1:-1;;;17481:1:28;17474:88;17581:4;17578:1;17571:15;17605:4;17602:1;17595:15;17621:156;-1:-1:-1;;;;;17702:5:28;17698:54;17691:5;17688:65;17678:2;;17767:1;17764;17757:12;17678:2;17668:109;:::o" - }, - "methodIdentifiers": { - "blockManager()": "d9169b32", - "commit(uint256,bytes32)": "f2f03877", - "commitments(uint256,uint256)": "d13e2e60", - "getCommitment(uint256,uint256)": "7164f0d6", - "getTotalStakeRevealed(uint256,uint256)": "a6a145d9", - "getTotalStakeRevealed(uint256,uint256,uint256)": "f322bd7d", - "getVote(uint256,uint256,uint256)": "8ce7ff4a", - "getVoteWeight(uint256,uint256,uint256)": "9c66556f", - "init(address,address,address)": "184b9559", - "reveal(uint256,bytes32,uint256[],bytes32[][],bytes32,address)": "125f68f1", - "stakeManager()": "7542ff95", - "stateManager()": "2e716fb1", - "totalStakeRevealed(uint256,uint256)": "8a757ecc", - "voteWeights(uint256,uint256,uint256)": "8fd5ff00", - "votes(uint256,uint256,uint256)": "283e2905" - } - } - } - }, - "contracts/Core/interface/IBlockManager.sol": { - "IBlockManager": { - "abi": [ - { - "inputs": [], - "name": "confirmBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getHigherCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getLowerCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getNumProposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "sorted", - "type": "uint256[]" - } - ], - "name": "giveSorted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_voteManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_jobManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "isElectedProposer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - } - ], - "name": "propose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "resetDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "confirmBlock()": "9b87f644", - "getBlock(uint256)": "04c07569", - "getBlockMedians(uint256)": "378ab9a9", - "getHigherCutoffs(uint256)": "fae4425d", - "getLowerCutoffs(uint256)": "d2a4669a", - "getNumProposedBlocks(uint256)": "e38c7c42", - "getProposedBlockMedians(uint256,uint256)": "d1a4a43d", - "giveSorted(uint256,uint256,uint256[])": "4e6753b7", - "init(address,address,address,address)": "06552ff3", - "isElectedProposer(uint256,uint256,uint256)": "1d69ff9b", - "propose(uint256,uint256[],uint256[],uint256[],uint256[],uint256,uint256)": "17d99c04", - "resetDispute(uint256)": "5ce8772f" - } - } - } - }, - "contracts/Core/interface/IJobManager.sol": { - "IJobManager": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - } - ], - "name": "createJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "jobId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "fulfillJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "createJob(string,string,bool)": "25d10c3f", - "fulfillJob(uint256,uint256)": "56350bdf", - "getJob(uint256)": "bf22c457", - "getResult(uint256)": "995e4339" - } - } - } - }, - "contracts/Core/interface/IStakeManager.sol": { - "IStakeManager": { - "abi": [ - { - "inputs": [], - "name": "getNumStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getStaker", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "internalType": "struct Structs.Staker", - "name": "staker", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getStakerId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "givePenalties", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_schAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_voteManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_blockManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_epochLastRevealed", - "type": "uint256" - } - ], - "name": "setStakerEpochLastRevealed", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "bountyHunter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "updateCommitmentEpoch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "getNumStakers()": "bc788d46", - "getRewardPool()": "1b8b13a7", - "getStakeGettingReward()": "1ad54991", - "getStaker(uint256)": "e3c998fe", - "getStakerId(address)": "6022a485", - "giveBlockReward(uint256,uint256)": "746c8b65", - "givePenalties(uint256,uint256)": "54eae15e", - "giveRewards(uint256,uint256)": "fabb9890", - "init(address,address,address,address)": "06552ff3", - "setStakerEpochLastRevealed(uint256,uint256)": "9864f70a", - "slash(uint256,address,uint256)": "0f91ce19", - "stake(uint256,uint256)": "7b0472f0", - "unstake(uint256)": "2e17de78", - "updateCommitmentEpoch(uint256)": "188dc83b", - "withdraw(uint256)": "2e1a7d4d" - } - } - } - }, - "contracts/Core/interface/IStateManager.sol": { - "IStateManager": { - "abi": [ - { - "inputs": [], - "name": "getEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getState", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "getEpoch()": "757991a8", - "getState()": "1865c57d" - } - } - } - }, - "contracts/Core/interface/IVoteManager.sol": { - "IVoteManager": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - } - ], - "name": "commit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "getCommitment", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getVote", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "internalType": "struct Structs.Vote", - "name": "vote", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getVoteWeight", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_blockManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "root", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes32[][]", - "name": "proofs", - "type": "bytes32[][]" - }, - { - "internalType": "bytes32", - "name": "secret", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "stakerAddress", - "type": "address" - } - ], - "name": "reveal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "commit(uint256,bytes32)": "f2f03877", - "getCommitment(uint256,uint256)": "7164f0d6", - "getTotalStakeRevealed(uint256,uint256)": "a6a145d9", - "getTotalStakeRevealed(uint256,uint256,uint256)": "f322bd7d", - "getVote(uint256,uint256,uint256)": "8ce7ff4a", - "getVoteWeight(uint256,uint256,uint256)": "9c66556f", - "init(address,address)": "f09a4016", - "reveal(uint256,bytes32,uint256[],bytes32[][],bytes32,address)": "125f68f1" - } - } - } - }, - "contracts/Core/storage/BlockStorage.sol": { - "BlockStorage": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "blocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "disputes", - "outputs": [ - { - "internalType": "uint256", - "name": "accWeight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "median", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lowerCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "higherCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastVisited", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50610255806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063828496d61461004657806392b4841114610074578063f25b3f9914610097575b600080fd5b610059610054366004610172565b6100aa565b60405161006b969594939291906101f7565b60405180910390f35b6100876100823660046101b9565b6100e7565b60405161006b94939291906101da565b6100876100a536600461015a565b610130565b6000602081815292815260408082209093529081522080546001820154600283015460038401546004850154600590950154939492939192909186565b6001602052816000526040600020818154811061010357600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60026020526000908152604090208054600582015460068301546007909301549192909160ff1684565b60006020828403121561016b578081fd5b5035919050565b60008060408385031215610184578081fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146101ae578182fd5b809150509250929050565b600080604083850312156101cb578182fd5b50508035926020909101359150565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c0019056fea2646970667358221220f5b8cd1e09410e6c4da2dbd27b1920804e740c9ed1c6489fd074234b0d2258cd64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x255 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x828496D6 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x92B48411 EQ PUSH2 0x74 JUMPI DUP1 PUSH4 0xF25B3F99 EQ PUSH2 0x97 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0x172 JUMP JUMPDEST PUSH2 0xAA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6B SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x87 PUSH2 0x82 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9 JUMP JUMPDEST PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x87 PUSH2 0xA5 CALLDATASIZE PUSH1 0x4 PUSH2 0x15A JUMP JUMPDEST PUSH2 0x130 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 DUP2 MSTORE SWAP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 MSTORE SWAP1 DUP2 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16B JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x184 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1AE JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CB JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x40 DUP6 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE2 0xB8 0xCD 0x1E MULMOD COINBASE 0xE PUSH13 0x4DA2DBD27B1920804E740C9ED1 0xC6 0x48 SWAP16 0xD0 PUSH21 0x234B0D2258CD64736F6C6343000800003300000000 ", - "sourceMap": "98:306:18:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1817:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "132:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "132:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:28" - }, - "nodeType": "YulIf", - "src": "94:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "165:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "188:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "175:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "175:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "165:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:28", - "type": "" - } - ], - "src": "14:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "296:310:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "342:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "351:6:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "359:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "344:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "344:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "344:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "317:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "326:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "313:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "313:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "338:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "309:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "309:32:28" - }, - "nodeType": "YulIf", - "src": "306:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "377:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "400:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "387:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "387:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "377:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "419:45:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "449:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "460:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "445:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "445:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "432:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "432:32:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "423:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "550:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "559:6:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "567:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "552:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "552:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "552:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "486:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "497:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "504:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "493:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "493:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "483:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "483:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "476:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "476:73:28" - }, - "nodeType": "YulIf", - "src": "473:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "585:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "595:5:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "585:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "254:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "265:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "277:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "285:6:28", - "type": "" - } - ], - "src": "209:397:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "698:171:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "744:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "753:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "761:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "746:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "746:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "746:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "719:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "728:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "715:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "715:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "740:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "711:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "711:32:28" - }, - "nodeType": "YulIf", - "src": "708:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "779:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "802:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "789:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "789:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "779:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "821:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "848:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "859:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "844:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "844:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "831:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "831:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "821:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "656:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "667:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "679:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "687:6:28", - "type": "" - } - ], - "src": "611:258:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1053:222:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1063:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1075:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1086:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1071:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1071:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1063:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1106:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1117:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1099:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1099:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1099:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1144:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1155:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1140:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1140:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1160:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1133:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1133:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1133:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1187:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1198:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1183:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1183:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1203:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1176:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1176:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1176:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1230:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1241:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1226:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1226:18:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1260:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1253:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1253:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1246:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1246:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1219:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1219:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1219:50:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_bool__to_t_uint256_t_uint256_t_uint256_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "998:9:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1009:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1017:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1025:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1033:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1044:4:28", - "type": "" - } - ], - "src": "874:401:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1521:294:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1531:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1543:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1554:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1539:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1539:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1531:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1574:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1585:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1567:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1567:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1567:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1612:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1623:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1608:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1608:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1628:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1601:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1601:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1601:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1655:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1666:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1651:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1651:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1671:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1644:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1644:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1644:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1698:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1709:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1694:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1694:18:28" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1714:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1687:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1687:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1687:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1741:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1752:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1737:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1737:19:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1758:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1730:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1730:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1730:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1785:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1796:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1781:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1781:19:28" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "1802:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1774:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1774:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1774:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1450:9:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "1461:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "1469:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1477:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1485:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1493:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1501:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1512:4:28", - "type": "" - } - ], - "src": "1280:535:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value1, value1) }\n value1 := value\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_bool__to_t_uint256_t_uint256_t_uint256_t_bool__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), iszero(iszero(value3)))\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 192)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c8063828496d61461004657806392b4841114610074578063f25b3f9914610097575b600080fd5b610059610054366004610172565b6100aa565b60405161006b969594939291906101f7565b60405180910390f35b6100876100823660046101b9565b6100e7565b60405161006b94939291906101da565b6100876100a536600461015a565b610130565b6000602081815292815260408082209093529081522080546001820154600283015460038401546004850154600590950154939492939192909186565b6001602052816000526040600020818154811061010357600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60026020526000908152604090208054600582015460068301546007909301549192909160ff1684565b60006020828403121561016b578081fd5b5035919050565b60008060408385031215610184578081fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146101ae578182fd5b809150509250929050565b600080604083850312156101cb578182fd5b50508035926020909101359150565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c0019056fea2646970667358221220f5b8cd1e09410e6c4da2dbd27b1920804e740c9ed1c6489fd074234b0d2258cd64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x828496D6 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x92B48411 EQ PUSH2 0x74 JUMPI DUP1 PUSH4 0xF25B3F99 EQ PUSH2 0x97 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0x172 JUMP JUMPDEST PUSH2 0xAA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6B SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x87 PUSH2 0x82 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9 JUMP JUMPDEST PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x87 PUSH2 0xA5 CALLDATASIZE PUSH1 0x4 PUSH2 0x15A JUMP JUMPDEST PUSH2 0x130 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 DUP2 MSTORE SWAP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 MSTORE SWAP1 DUP2 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16B JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x184 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1AE JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CB JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x40 DUP6 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE2 0xB8 0xCD 0x1E MULMOD COINBASE 0xE PUSH13 0x4DA2DBD27B1920804E740C9ED1 0xC6 0x48 SWAP16 0xD0 PUSH21 0x234B0D2258CD64736F6C6343000800003300000000 ", - "sourceMap": "98:306:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;171:73;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;289:58;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;353:48::-;;;;;;:::i;:::-;;:::i;171:73::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;289:58::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;289:58:18;-1:-1:-1;289:58:18;;;:::o;353:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:190:28:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;-1:-1:-1;175:23:28;;84:120;-1:-1:-1;84:120:28:o;209:397::-;;;338:2;326:9;317:7;313:23;309:32;306:2;;;359:6;351;344:22;306:2;400:9;387:23;377:33;;460:2;449:9;445:18;432:32;504:42;497:5;493:54;486:5;483:65;473:2;;567:6;559;552:22;473:2;595:5;585:15;;;296:310;;;;;:::o;611:258::-;;;740:2;728:9;719:7;715:23;711:32;708:2;;;761:6;753;746:22;708:2;-1:-1:-1;;789:23:28;;;859:2;844:18;;;831:32;;-1:-1:-1;698:171:28:o;874:401::-;1099:25;;;1155:2;1140:18;;1133:34;;;;1198:2;1183:18;;1176:34;1253:14;1246:22;1241:2;1226:18;;1219:50;1086:3;1071:19;;1053:222::o;1280:535::-;1567:25;;;1623:2;1608:18;;1601:34;;;;1666:2;1651:18;;1644:34;;;;1709:2;1694:18;;1687:34;1752:3;1737:19;;1730:35;1796:3;1781:19;;1774:35;1554:3;1539:19;;1521:294::o" - }, - "methodIdentifiers": { - "blocks(uint256)": "f25b3f99", - "disputes(uint256,address)": "828496d6", - "proposedBlocks(uint256,uint256)": "92b48411" - } - } - } - }, - "contracts/Core/storage/JobStorage.sol": { - "JobStorage": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "jobs", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50610413806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063180aedf31461003b5780639212051c1461006d575b600080fd5b61004e61004936600461028d565b610082565b6040516100649a999897969594939291906102f9565b60405180910390f35b610075610287565b60405161006491906102f0565b60016020819052600091825260409091208054918101546002820180549192916100ab90610389565b80601f01602080910402602001604051908101604052809291908181526020018280546100d790610389565b80156101245780601f106100f957610100808354040283529160200191610124565b820191906000526020600020905b81548152906001019060200180831161010757829003601f168201915b50505050509080600301805461013990610389565b80601f016020809104026020016040519081016040528092919081815260200182805461016590610389565b80156101b25780601f10610187576101008083540402835291602001916101b2565b820191906000526020600020905b81548152906001019060200180831161019557829003601f168201915b5050505050908060040180546101c790610389565b80601f01602080910402602001604051908101604052809291908181526020018280546101f390610389565b80156102405780601f1061021557610100808354040283529160200191610240565b820191906000526020600020905b81548152906001019060200180831161022357829003601f168201915b50505050600583015460068401546007850154600890950154939460ff8084169561010090940473ffffffffffffffffffffffffffffffffffffffff16945091929116908a565b60005481565b60006020828403121561029e578081fd5b5035919050565b60008151808452815b818110156102ca576020818501810151868301820152016102ae565b818111156102db5782602083870101525b50601f01601f19169290920160200192915050565b90815260200190565b60006101408c83528b60208401528060408401526103198184018c6102a5565b9050828103606084015261032d818b6102a5565b90508281036080840152610341818a6102a5565b97151560a0840152505073ffffffffffffffffffffffffffffffffffffffff9490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60028104600182168061039d57607f821691505b602082108114156103d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122046f6bdef400eef2035b17377e470a7a0437737166f43c8dad80dc4b98474622164736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x413 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x180AEDF3 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x9212051C EQ PUSH2 0x6D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x49 CALLDATASIZE PUSH1 0x4 PUSH2 0x28D JUMP JUMPDEST PUSH2 0x82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x64 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x75 PUSH2 0x287 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x64 SWAP2 SWAP1 PUSH2 0x2F0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD SWAP2 DUP2 ADD SLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0xAB SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD7 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x124 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x124 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x107 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x139 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x165 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x187 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x195 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x1C7 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1F3 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x240 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x215 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x240 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x223 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x8 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0xFF DUP1 DUP5 AND SWAP6 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP5 POP SWAP2 SWAP3 SWAP2 AND SWAP1 DUP11 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29E JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE DUP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2CA JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x2AE JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2DB JUMPI DUP3 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP13 DUP4 MSTORE DUP12 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x319 DUP2 DUP5 ADD DUP13 PUSH2 0x2A5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x32D DUP2 DUP12 PUSH2 0x2A5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x341 DUP2 DUP11 PUSH2 0x2A5 JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 SWAP1 SWAP5 AND PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x39D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x3D7 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CHAINID 0xF6 0xBD 0xEF BLOCKHASH 0xE 0xEF KECCAK256 CALLDATALOAD 0xB1 PUSH20 0x77E470A7A0437737166F43C8DAD80DC4B9847462 0x21 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "98:101:19:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2464:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "132:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "132:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:28" - }, - "nodeType": "YulIf", - "src": "94:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "165:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "188:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "175:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "175:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "165:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:28", - "type": "" - } - ], - "src": "14:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "261:426:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "271:26:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "291:5:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "285:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "285:12:28" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "275:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "313:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "318:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "306:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "306:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "306:19:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "334:12:28", - "value": { - "name": "end", - "nodeType": "YulIdentifier", - "src": "343:3:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "338:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "407:110:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "421:14:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "431:4:28", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "425:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "463:3:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "468:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "459:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "459:11:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "472:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "455:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "455:20:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "491:5:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "498:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "487:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "487:13:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "502:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "483:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "483:22:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "477:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "477:29:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "448:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "448:59:28" - }, - "nodeType": "YulExpressionStatement", - "src": "448:59:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "366:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "369:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "363:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "363:13:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "377:21:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "379:17:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "388:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "391:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "384:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "384:12:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "379:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "359:3:28", - "statements": [] - }, - "src": "355:162:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "551:64:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "580:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "585:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "576:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "576:16:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "594:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "572:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "572:27:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "601:3:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "565:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "565:40:28" - }, - "nodeType": "YulExpressionStatement", - "src": "565:40:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "532:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "535:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "529:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "529:13:28" - }, - "nodeType": "YulIf", - "src": "526:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "624:57:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "639:3:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "652:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "660:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "648:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "648:15:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "669:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "665:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "665:7:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "644:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "644:29:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "635:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "635:39:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "676:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "631:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "631:50:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "624:3:28" - } - ] - } - ] - }, - "name": "abi_encode_t_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "238:5:28", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "245:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "253:3:28", - "type": "" - } - ], - "src": "209:478:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "793:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "803:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "815:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "826:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "811:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "811:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "803:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "845:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "856:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "838:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "838:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "838:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "762:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "773:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "784:4:28", - "type": "" - } - ], - "src": "692:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1275:745:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1285:13:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1295:3:28", - "type": "", - "value": "320" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1289:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1314:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1325:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1307:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1307:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1307:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1352:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1363:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1348:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1348:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1368:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1341:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1341:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1341:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1395:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1406:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1391:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1391:18:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1411:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1384:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1384:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1384:30:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1423:61:28", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1457:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1469:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1480:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1465:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1465:18:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "1437:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "1437:47:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "1427:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1504:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1515:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1500:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1500:18:28" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "1524:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1532:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1520:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1520:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1493:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1493:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1493:50:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1552:49:28", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1586:6:28" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "1594:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "1566:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "1566:35:28" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "1556:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1621:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1632:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1617:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1617:19:28" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "1642:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1650:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1638:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1638:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1610:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1610:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1610:51:28" - }, - { - "nodeType": "YulAssignment", - "src": "1670:43:28", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1698:6:28" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "1706:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "1678:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "1678:35:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1670:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1733:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1744:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1729:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1729:19:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "1764:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1757:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1757:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1750:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1750:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1722:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1722:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1722:51:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1793:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1804:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1789:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1789:19:28" - }, - { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "1814:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1822:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1810:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1810:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1782:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1782:84:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1782:84:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1886:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1897:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1882:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1882:19:28" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "1903:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1875:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1875:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1875:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1930:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1941:3:28", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1926:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1926:19:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "1961:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1954:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1954:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1947:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1947:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1919:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1919:51:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1919:51:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1990:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2001:3:28", - "type": "", - "value": "288" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1986:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1986:19:28" - }, - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "2007:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1979:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1979:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1979:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1172:9:28", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "1183:6:28", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "1191:6:28", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "1199:6:28", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "1207:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "1215:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "1223:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1231:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1239:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1247:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1255:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1266:4:28", - "type": "" - } - ], - "src": "874:1146:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2080:382:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2090:22:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2104:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2110:1:28", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2100:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2100:12:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2090:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2121:38:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2151:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2157:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2147:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2147:12:28" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2125:18:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2198:31:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2200:27:28", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2214:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2222:4:28", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2210:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2210:17:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2200:6:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2178:18:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2171:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2171:26:28" - }, - "nodeType": "YulIf", - "src": "2168:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2288:168:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2309:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2312:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2302:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2302:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2302:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2410:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2413:4:28", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2403:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2403:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2403:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2438:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2441:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2431:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2431:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2431:15:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2244:18:28" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2267:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2275:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2264:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2264:14:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2241:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2241:38:28" - }, - "nodeType": "YulIf", - "src": "2238:2:28" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2060:4:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2069:6:28", - "type": "" - } - ], - "src": "2025:437:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_t_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := end\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(pos, length), 0x20), end)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed(headStart, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 320\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_t_string(value2, add(headStart, _1))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string(value3, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_t_string(value4, tail_2)\n mstore(add(headStart, 160), iszero(iszero(value5)))\n mstore(add(headStart, 192), and(value6, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 224), value7)\n mstore(add(headStart, 256), iszero(iszero(value8)))\n mstore(add(headStart, 288), value9)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063180aedf31461003b5780639212051c1461006d575b600080fd5b61004e61004936600461028d565b610082565b6040516100649a999897969594939291906102f9565b60405180910390f35b610075610287565b60405161006491906102f0565b60016020819052600091825260409091208054918101546002820180549192916100ab90610389565b80601f01602080910402602001604051908101604052809291908181526020018280546100d790610389565b80156101245780601f106100f957610100808354040283529160200191610124565b820191906000526020600020905b81548152906001019060200180831161010757829003601f168201915b50505050509080600301805461013990610389565b80601f016020809104026020016040519081016040528092919081815260200182805461016590610389565b80156101b25780601f10610187576101008083540402835291602001916101b2565b820191906000526020600020905b81548152906001019060200180831161019557829003601f168201915b5050505050908060040180546101c790610389565b80601f01602080910402602001604051908101604052809291908181526020018280546101f390610389565b80156102405780601f1061021557610100808354040283529160200191610240565b820191906000526020600020905b81548152906001019060200180831161022357829003601f168201915b50505050600583015460068401546007850154600890950154939460ff8084169561010090940473ffffffffffffffffffffffffffffffffffffffff16945091929116908a565b60005481565b60006020828403121561029e578081fd5b5035919050565b60008151808452815b818110156102ca576020818501810151868301820152016102ae565b818111156102db5782602083870101525b50601f01601f19169290920160200192915050565b90815260200190565b60006101408c83528b60208401528060408401526103198184018c6102a5565b9050828103606084015261032d818b6102a5565b90508281036080840152610341818a6102a5565b97151560a0840152505073ffffffffffffffffffffffffffffffffffffffff9490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60028104600182168061039d57607f821691505b602082108114156103d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122046f6bdef400eef2035b17377e470a7a0437737166f43c8dad80dc4b98474622164736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x180AEDF3 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x9212051C EQ PUSH2 0x6D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x49 CALLDATASIZE PUSH1 0x4 PUSH2 0x28D JUMP JUMPDEST PUSH2 0x82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x64 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x75 PUSH2 0x287 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x64 SWAP2 SWAP1 PUSH2 0x2F0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD SWAP2 DUP2 ADD SLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0xAB SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD7 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x124 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x124 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x107 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x139 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x165 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x187 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x195 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x1C7 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1F3 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x240 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x215 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x240 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x223 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x8 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0xFF DUP1 DUP5 AND SWAP6 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP5 POP SWAP2 SWAP3 SWAP2 AND SWAP1 DUP11 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29E JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE DUP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2CA JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x2AE JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2DB JUMPI DUP3 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP13 DUP4 MSTORE DUP12 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x319 DUP2 DUP5 ADD DUP13 PUSH2 0x2A5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x32D DUP2 DUP12 PUSH2 0x2A5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x341 DUP2 DUP11 PUSH2 0x2A5 JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 SWAP1 SWAP5 AND PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x39D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x3D7 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CHAINID 0xF6 0xBD 0xEF BLOCKHASH 0xE 0xEF KECCAK256 CALLDATALOAD 0xB1 PUSH20 0x77E470A7A0437737166F43C8DAD80DC4B9847462 0x21 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "98:101:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:44;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;124:22;;;:::i;:::-;;;;;;;:::i;152:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;152:44:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;152:44:19;;;;;;:::o;124:22::-;;;;:::o;14:190:28:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;-1:-1:-1;175:23:28;;84:120;-1:-1:-1;84:120:28:o;209:478::-;;291:5;285:12;318:6;313:3;306:19;343:3;355:162;369:6;366:1;363:13;355:162;;;431:4;487:13;;;483:22;;477:29;459:11;;;455:20;;448:59;384:12;355:162;;;535:6;532:1;529:13;526:2;;;601:3;594:4;585:6;580:3;576:16;572:27;565:40;526:2;-1:-1:-1;669:2:28;648:15;-1:-1:-1;;644:29:28;635:39;;;;676:4;631:50;;261:426;-1:-1:-1;;261:426:28:o;692:177::-;838:25;;;826:2;811:18;;793:76::o;874:1146::-;;1295:3;1325:6;1314:9;1307:25;1368:6;1363:2;1352:9;1348:18;1341:34;1411:2;1406;1395:9;1391:18;1384:30;1437:47;1480:2;1469:9;1465:18;1457:6;1437:47;:::i;:::-;1423:61;;1532:9;1524:6;1520:22;1515:2;1504:9;1500:18;1493:50;1566:35;1594:6;1586;1566:35;:::i;:::-;1552:49;;1650:9;1642:6;1638:22;1632:3;1621:9;1617:19;1610:51;1678:35;1706:6;1698;1678:35;:::i;:::-;1757:14;;1750:22;1744:3;1729:19;;1722:51;-1:-1:-1;;1822:42:28;1810:55;;;;1804:3;1789:19;;1782:84;1897:3;1882:19;;1875:35;;;;1954:14;1947:22;1941:3;1926:19;;1919:51;2001:3;1986:19;;;1979:35;1670:43;1275:745;-1:-1:-1;;;;;1275:745:28:o;2025:437::-;2110:1;2100:12;;2157:1;2147:12;;;2168:2;;2222:4;2214:6;2210:17;2200:27;;2168:2;2275;2267:6;2264:14;2244:18;2241:38;2238:2;;;2312:77;2309:1;2302:88;2413:4;2410:1;2403:15;2441:4;2438:1;2431:15;2238:2;;2080:382;;;:::o" - }, - "methodIdentifiers": { - "jobs(uint256)": "180aedf3", - "numJobs()": "9212051c" - } - } - } - }, - "contracts/Core/storage/StakeStorage.sol": { - "StakeStorage": { - "abi": [ - { - "inputs": [], - "name": "blockReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakerIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "stakers", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5061024a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80636c8b052a116100505780636c8b052a146100a5578063c8ae0d7d146100ad578063fd5e6dd1146100c057610072565b80630ac168a1146100775780630ec88d3f1461009557806366666aa91461009d575b600080fd5b61007f6100e7565b60405161008c91906101bf565b60405180910390f35b61007f6100ed565b61007f6100f3565b61007f6100f9565b61007f6100bb36600461016c565b6100ff565b6100d36100ce3660046101a7565b610111565b60405161008c9897969594939291906101c8565b60005481565b60035481565b60025481565b60015481565b60046020526000908152604090205481565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600790960154949673ffffffffffffffffffffffffffffffffffffffff909416959294919392909188565b60006020828403121561017d578081fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101a0578182fd5b9392505050565b6000602082840312156101b8578081fd5b5035919050565b90815260200190565b97885273ffffffffffffffffffffffffffffffffffffffff96909616602088015260408701949094526060860192909252608085015260a084015260c083015260e0820152610100019056fea2646970667358221220c513f32e92b796ce202cf6ed9eba611795112221d2b5c12b7a1fe7830e1fc19164736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x72 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6C8B052A GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x6C8B052A EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0xC8AE0D7D EQ PUSH2 0xAD JUMPI DUP1 PUSH4 0xFD5E6DD1 EQ PUSH2 0xC0 JUMPI PUSH2 0x72 JUMP JUMPDEST DUP1 PUSH4 0xAC168A1 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0xEC88D3F EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0x66666AA9 EQ PUSH2 0x9D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7F PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x1BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7F PUSH2 0xED JUMP JUMPDEST PUSH2 0x7F PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x7F PUSH2 0xF9 JUMP JUMPDEST PUSH2 0x7F PUSH2 0xBB CALLDATASIZE PUSH1 0x4 PUSH2 0x16C JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST PUSH2 0xD3 PUSH2 0xCE CALLDATASIZE PUSH1 0x4 PUSH2 0x1A7 JUMP JUMPDEST PUSH2 0x111 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD SWAP6 DUP6 ADD SLOAD PUSH1 0x6 DUP7 ADD SLOAD PUSH1 0x7 SWAP1 SWAP7 ADD SLOAD SWAP5 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP5 AND SWAP6 SWAP3 SWAP5 SWAP2 SWAP4 SWAP3 SWAP1 SWAP2 DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1A0 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP8 DUP9 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 SWAP1 SWAP7 AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x60 DUP7 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC5 SGT RETURN 0x2E SWAP3 0xB7 SWAP7 0xCE KECCAK256 0x2C 0xF6 0xED SWAP15 0xBA PUSH2 0x1795 GT 0x22 0x21 0xD2 0xB5 0xC1 0x2B PUSH27 0x1FE7830E1FC19164736F6C63430008000033000000000000000000 ", - "sourceMap": "97:267:20:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1455:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:259:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "132:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "132:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:28" - }, - "nodeType": "YulIf", - "src": "94:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "165:36:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "191:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "178:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "178:23:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "169:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "287:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "296:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "304:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "289:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "289:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "289:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "223:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "234:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "241:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "230:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "230:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "220:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "220:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "213:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "213:73:28" - }, - "nodeType": "YulIf", - "src": "210:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "322:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "332:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "322:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:28", - "type": "" - } - ], - "src": "14:329:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "418:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "464:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "473:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "481:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "466:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "466:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "466:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "439:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "448:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "435:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "435:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "460:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "431:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "431:32:28" - }, - "nodeType": "YulIf", - "src": "428:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "499:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "522:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "509:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "509:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "499:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "384:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "395:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "407:6:28", - "type": "" - } - ], - "src": "348:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "644:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "654:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "666:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "677:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "662:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "662:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "654:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "696:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "707:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "689:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "689:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "689:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "613:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "624:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "635:4:28", - "type": "" - } - ], - "src": "543:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1022:431:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1032:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1044:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1055:3:28", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1040:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1040:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1032:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1075:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1086:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1068:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1068:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1068:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1113:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1124:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1109:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1109:18:28" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1133:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1141:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1129:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1129:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1102:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1102:83:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1102:83:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1205:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1216:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1201:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1201:18:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1221:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1194:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1194:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1194:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1248:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1259:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1244:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1244:18:28" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1264:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1237:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1237:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1237:34:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1291:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1302:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1287:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1287:19:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1308:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1280:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1280:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1280:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1335:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1346:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1331:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1331:19:28" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "1352:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1324:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1324:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1324:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1379:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1390:3:28", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1375:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1375:19:28" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "1396:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1368:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1368:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1368:35:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1423:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1434:3:28", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1419:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1419:19:28" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "1440:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1412:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1412:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1412:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "935:9:28", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "946:6:28", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "954:6:28", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "962:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "970:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "978:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "986:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "994:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1002:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1013:4:28", - "type": "" - } - ], - "src": "725:728:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 256)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), value6)\n mstore(add(headStart, 224), value7)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100725760003560e01c80636c8b052a116100505780636c8b052a146100a5578063c8ae0d7d146100ad578063fd5e6dd1146100c057610072565b80630ac168a1146100775780630ec88d3f1461009557806366666aa91461009d575b600080fd5b61007f6100e7565b60405161008c91906101bf565b60405180910390f35b61007f6100ed565b61007f6100f3565b61007f6100f9565b61007f6100bb36600461016c565b6100ff565b6100d36100ce3660046101a7565b610111565b60405161008c9897969594939291906101c8565b60005481565b60035481565b60025481565b60015481565b60046020526000908152604090205481565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600790960154949673ffffffffffffffffffffffffffffffffffffffff909416959294919392909188565b60006020828403121561017d578081fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101a0578182fd5b9392505050565b6000602082840312156101b8578081fd5b5035919050565b90815260200190565b97885273ffffffffffffffffffffffffffffffffffffffff96909616602088015260408701949094526060860192909252608085015260a084015260c083015260e0820152610100019056fea2646970667358221220c513f32e92b796ce202cf6ed9eba611795112221d2b5c12b7a1fe7830e1fc19164736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x72 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6C8B052A GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x6C8B052A EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0xC8AE0D7D EQ PUSH2 0xAD JUMPI DUP1 PUSH4 0xFD5E6DD1 EQ PUSH2 0xC0 JUMPI PUSH2 0x72 JUMP JUMPDEST DUP1 PUSH4 0xAC168A1 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0xEC88D3F EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0x66666AA9 EQ PUSH2 0x9D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7F PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x1BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7F PUSH2 0xED JUMP JUMPDEST PUSH2 0x7F PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x7F PUSH2 0xF9 JUMP JUMPDEST PUSH2 0x7F PUSH2 0xBB CALLDATASIZE PUSH1 0x4 PUSH2 0x16C JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST PUSH2 0xD3 PUSH2 0xCE CALLDATASIZE PUSH1 0x4 PUSH2 0x1A7 JUMP JUMPDEST PUSH2 0x111 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD SWAP6 DUP6 ADD SLOAD PUSH1 0x6 DUP7 ADD SLOAD PUSH1 0x7 SWAP1 SWAP7 ADD SLOAD SWAP5 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP5 AND SWAP6 SWAP3 SWAP5 SWAP2 SWAP4 SWAP3 SWAP1 SWAP2 DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1A0 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP8 DUP9 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 SWAP1 SWAP7 AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x60 DUP7 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC5 SGT RETURN 0x2E SWAP3 0xB7 SWAP7 0xCE KECCAK256 0x2C 0xF6 0xED SWAP15 0xBA PUSH2 0x1795 GT 0x22 0x21 0xD2 0xB5 0xC1 0x2B PUSH27 0x1FE7830E1FC19164736F6C63430008000033000000000000000000 ", - "sourceMap": "97:267:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;126:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;220:33;;;:::i;189:25::-;;;:::i;158:::-;;;:::i;260:45::-;;;;;;:::i;:::-;;:::i;311:50::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;126:26::-;;;;:::o;220:33::-;;;;:::o;189:25::-;;;;:::o;158:::-;;;;:::o;260:45::-;;;;;;;;;;;;;:::o;311:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:329:28:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;241:42;234:5;230:54;223:5;220:65;210:2;;304:6;296;289:22;210:2;332:5;84:259;-1:-1:-1;;;84:259:28:o;348:190::-;;460:2;448:9;439:7;435:23;431:32;428:2;;;481:6;473;466:22;428:2;-1:-1:-1;509:23:28;;418:120;-1:-1:-1;418:120:28:o;543:177::-;689:25;;;677:2;662:18;;644:76::o;725:728::-;1068:25;;;1141:42;1129:55;;;;1124:2;1109:18;;1102:83;1216:2;1201:18;;1194:34;;;;1259:2;1244:18;;1237:34;;;;1302:3;1287:19;;1280:35;1346:3;1331:19;;1324:35;1390:3;1375:19;;1368:35;1434:3;1419:19;;1412:35;1055:3;1040:19;;1022:431::o" - }, - "methodIdentifiers": { - "blockReward()": "0ac168a1", - "numStakers()": "6c8b052a", - "rewardPool()": "66666aa9", - "stakeGettingReward()": "0ec88d3f", - "stakerIds(address)": "c8ae0d7d", - "stakers(uint256)": "fd5e6dd1" - } - } - } - }, - "contracts/Core/storage/VoteStorage.sol": { - "VoteStorage": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "commitments", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "voteWeights", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "votes", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506101dc806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063283e2905146100515780638a757ecc1461007b5780638fd5ff001461009b578063d13e2e60146100ae575b600080fd5b61006461005f366004610164565b6100c1565b604051610072929190610198565b60405180910390f35b61008e610089366004610143565b6100e9565b604051610072919061018f565b61008e6100a9366004610164565b610106565b61008e6100bc366004610143565b610129565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b600260209081526000928352604080842090915290825290205481565b600360209081526000938452604080852082529284528284209052825290205481565b600060208181529281526040808220909352908152205481565b60008060408385031215610155578182fd5b50508035926020909101359150565b600080600060608486031215610178578081fd5b505081359360208301359350604090920135919050565b90815260200190565b91825260208201526040019056fea2646970667358221220b012e634c3a4d0c8952171cb34b9e517585de625e92bdfefcf77582c8988922864736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x283E2905 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8A757ECC EQ PUSH2 0x7B JUMPI DUP1 PUSH4 0x8FD5FF00 EQ PUSH2 0x9B JUMPI DUP1 PUSH4 0xD13E2E60 EQ PUSH2 0xAE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x5F CALLDATASIZE PUSH1 0x4 PUSH2 0x164 JUMP JUMPDEST PUSH2 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP3 SWAP2 SWAP1 PUSH2 0x198 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8E PUSH2 0x89 CALLDATASIZE PUSH1 0x4 PUSH2 0x143 JUMP JUMPDEST PUSH2 0xE9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP2 SWAP1 PUSH2 0x18F JUMP JUMPDEST PUSH2 0x8E PUSH2 0xA9 CALLDATASIZE PUSH1 0x4 PUSH2 0x164 JUMP JUMPDEST PUSH2 0x106 JUMP JUMPDEST PUSH2 0x8E PUSH2 0xBC CALLDATASIZE PUSH1 0x4 PUSH2 0x143 JUMP JUMPDEST PUSH2 0x129 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 DUP3 MSTORE SWAP4 DUP6 MSTORE DUP4 DUP6 KECCAK256 SWAP1 MSTORE SWAP1 DUP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP3 MSTORE SWAP3 DUP5 MSTORE DUP3 DUP5 KECCAK256 SWAP1 MSTORE DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 DUP2 MSTORE SWAP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 MSTORE SWAP1 DUP2 MSTORE KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x155 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x178 JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB0 SLT 0xE6 CALLVALUE 0xC3 LOG4 0xD0 0xC8 SWAP6 0x21 PUSH18 0xCB34B9E517585DE625E92BDFEFCF77582C89 DUP9 SWAP3 0x28 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "98:535:21:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1222:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "101:171:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "147:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "156:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "164:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "149:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "149:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "149:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "122:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "131:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "118:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "118:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "143:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "114:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "114:32:28" - }, - "nodeType": "YulIf", - "src": "111:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "182:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "205:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "192:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "192:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "182:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "224:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "251:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "262:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "247:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "247:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "234:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "234:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "224:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "59:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "70:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "82:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "90:6:28", - "type": "" - } - ], - "src": "14:258:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "381:222:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "427:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "436:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "444:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "429:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "429:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "429:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "402:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "411:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "398:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "398:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "423:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "394:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "394:32:28" - }, - "nodeType": "YulIf", - "src": "391:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "462:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "485:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "472:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "472:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "462:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "504:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "531:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "542:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "527:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "527:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "514:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "514:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "504:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "555:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "582:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "593:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "578:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "578:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "565:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "565:32:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "555:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "331:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "342:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "354:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "362:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "370:6:28", - "type": "" - } - ], - "src": "277:326:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "709:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "719:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "731:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "742:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "727:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "727:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "719:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "761:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "772:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "754:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "754:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "754:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "678:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "689:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "700:4:28", - "type": "" - } - ], - "src": "608:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "891:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "901:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "913:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "924:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "909:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "909:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "901:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "943:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "954:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "936:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "936:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "936:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "860:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "871:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "882:4:28", - "type": "" - } - ], - "src": "790:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1101:119:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1111:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1123:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1134:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1119:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1119:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1111:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1153:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1164:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1146:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1146:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1146:25:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1191:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1202:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1187:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1187:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1207:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1180:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1180:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1180:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1062:9:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1073:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1081:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1092:4:28", - "type": "" - } - ], - "src": "972:248:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c8063283e2905146100515780638a757ecc1461007b5780638fd5ff001461009b578063d13e2e60146100ae575b600080fd5b61006461005f366004610164565b6100c1565b604051610072929190610198565b60405180910390f35b61008e610089366004610143565b6100e9565b604051610072919061018f565b61008e6100a9366004610164565b610106565b61008e6100bc366004610143565b610129565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b600260209081526000928352604080842090915290825290205481565b600360209081526000938452604080852082529284528284209052825290205481565b600060208181529281526040808220909352908152205481565b60008060408385031215610155578182fd5b50508035926020909101359150565b600080600060608486031215610178578081fd5b505081359360208301359350604090920135919050565b90815260200190565b91825260208201526040019056fea2646970667358221220b012e634c3a4d0c8952171cb34b9e517585de625e92bdfefcf77582c8988922864736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x283E2905 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8A757ECC EQ PUSH2 0x7B JUMPI DUP1 PUSH4 0x8FD5FF00 EQ PUSH2 0x9B JUMPI DUP1 PUSH4 0xD13E2E60 EQ PUSH2 0xAE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x5F CALLDATASIZE PUSH1 0x4 PUSH2 0x164 JUMP JUMPDEST PUSH2 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP3 SWAP2 SWAP1 PUSH2 0x198 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8E PUSH2 0x89 CALLDATASIZE PUSH1 0x4 PUSH2 0x143 JUMP JUMPDEST PUSH2 0xE9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP2 SWAP1 PUSH2 0x18F JUMP JUMPDEST PUSH2 0x8E PUSH2 0xA9 CALLDATASIZE PUSH1 0x4 PUSH2 0x164 JUMP JUMPDEST PUSH2 0x106 JUMP JUMPDEST PUSH2 0x8E PUSH2 0xBC CALLDATASIZE PUSH1 0x4 PUSH2 0x143 JUMP JUMPDEST PUSH2 0x129 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 DUP3 MSTORE SWAP4 DUP6 MSTORE DUP4 DUP6 KECCAK256 SWAP1 MSTORE SWAP1 DUP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP3 MSTORE SWAP3 DUP5 MSTORE DUP3 DUP5 KECCAK256 SWAP1 MSTORE DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 DUP2 MSTORE SWAP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 MSTORE SWAP1 DUP2 MSTORE KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x155 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x178 JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB0 SLT 0xE6 CALLVALUE 0xC3 LOG4 0xD0 0xC8 SWAP6 0x21 PUSH18 0xCB34B9E517585DE625E92BDFEFCF77582C89 DUP9 SWAP3 0x28 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "98:535:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;280:89;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;412:76;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;540:90::-;;;;;;:::i;:::-;;:::i;163:68::-;;;;;;:::i;:::-;;:::i;280:89::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;412:76::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;540:90::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;163:68::-;;;;;;;;;;;;;;;;;;;;;;:::o;14:258:28:-;;;143:2;131:9;122:7;118:23;114:32;111:2;;;164:6;156;149:22;111:2;-1:-1:-1;;192:23:28;;;262:2;247:18;;;234:32;;-1:-1:-1;101:171:28:o;277:326::-;;;;423:2;411:9;402:7;398:23;394:32;391:2;;;444:6;436;429:22;391:2;-1:-1:-1;;472:23:28;;;542:2;527:18;;514:32;;-1:-1:-1;593:2:28;578:18;;;565:32;;381:222;-1:-1:-1;381:222:28:o;608:177::-;754:25;;;742:2;727:18;;709:76::o;972:248::-;1146:25;;;1202:2;1187:18;;1180:34;1134:2;1119:18;;1101:119::o" - }, - "methodIdentifiers": { - "commitments(uint256,uint256)": "d13e2e60", - "totalStakeRevealed(uint256,uint256)": "8a757ecc", - "voteWeights(uint256,uint256,uint256)": "8fd5ff00", - "votes(uint256,uint256,uint256)": "283e2905" - } - } - } - }, - "contracts/Delegator.sol": { - "Delegator": { - "abi": [ - { - "inputs": [], - "name": "delegate", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "jobManager", - "outputs": [ - { - "internalType": "contract IJobManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newDelegateAddress", - "type": "address" - } - ], - "name": "upgradeDelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "6080604052600180546001600160a01b0319163317905534801561002257600080fd5b506105fd806100326000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063995e433911610050578063995e4339146100b2578063bf22c457146100d2578063c89e4361146100f657610072565b80632da4e75c146100775780633df395a31461008c5780638da5cb5b146100aa575b600080fd5b61008a610085366004610395565b6100fe565b005b61009461018f565b6040516100a191906104c6565b60405180910390f35b61009461019e565b6100c56100c036600461046a565b6101ad565b6040516100a1919061055f565b6100e56100e036600461046a565b61024d565b6040516100a19594939291906104da565b610094610306565b6001546001600160a01b0316331461014b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014290610528565b60405180910390fd5b600080546001600160a01b039092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790915560028054909216179055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6002546040517f995e43390000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063995e4339906101f790859060040161055f565b60206040518083038186803b15801561020f57600080fd5b505afa158015610223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102479190610482565b92915050565b6002546040517fbf22c4570000000000000000000000000000000000000000000000000000000081526060918291829160009182916001600160a01b03169063bf22c457906102a090899060040161055f565b60006040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f491908101906103c3565b939a9299509097509550909350915050565b6000546001600160a01b031681565b600082601f830112610325578081fd5b815167ffffffffffffffff8082111561034057610340610598565b604051601f8301601f19168101602001828111828210171561036457610364610598565b60405282815284830160200186101561037b578384fd5b61038c836020830160208801610568565b95945050505050565b6000602082840312156103a6578081fd5b81356001600160a01b03811681146103bc578182fd5b9392505050565b600080600080600060a086880312156103da578081fd5b855167ffffffffffffffff808211156103f1578283fd5b6103fd89838a01610315565b96506020880151915080821115610412578283fd5b61041e89838a01610315565b95506040880151915080821115610433578283fd5b5061044088828901610315565b93505060608601518015158114610455578182fd5b80925050608086015190509295509295909350565b60006020828403121561047b578081fd5b5035919050565b600060208284031215610493578081fd5b5051919050565b600081518084526104b2816020860160208601610568565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060a082526104ed60a083018861049a565b82810360208401526104ff818861049a565b90508281036040840152610513818761049a565b94151560608401525050608001529392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b90815260200190565b60005b8381101561058357818101518382015260200161056b565b83811115610592576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212202b4f74bce8a4ea2a7f82c1d06c64ef70cd5c06a785a8dea5c37a43f298d3e01a64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5FD DUP1 PUSH2 0x32 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x72 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x995E4339 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x995E4339 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xBF22C457 EQ PUSH2 0xD2 JUMPI DUP1 PUSH4 0xC89E4361 EQ PUSH2 0xF6 JUMPI PUSH2 0x72 JUMP JUMPDEST DUP1 PUSH4 0x2DA4E75C EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x3DF395A3 EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xAA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8A PUSH2 0x85 CALLDATASIZE PUSH1 0x4 PUSH2 0x395 JUMP JUMPDEST PUSH2 0xFE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x94 PUSH2 0x18F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP2 SWAP1 PUSH2 0x4C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH2 0x19E JUMP JUMPDEST PUSH2 0xC5 PUSH2 0xC0 CALLDATASIZE PUSH1 0x4 PUSH2 0x46A JUMP JUMPDEST PUSH2 0x1AD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP2 SWAP1 PUSH2 0x55F JUMP JUMPDEST PUSH2 0xE5 PUSH2 0xE0 CALLDATASIZE PUSH1 0x4 PUSH2 0x46A JUMP JUMPDEST PUSH2 0x24D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4DA JUMP JUMPDEST PUSH2 0x94 PUSH2 0x306 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x14B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x142 SWAP1 PUSH2 0x528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x2 DUP1 SLOAD SWAP1 SWAP3 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH32 0x995E433900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x995E4339 SWAP1 PUSH2 0x1F7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x55F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x20F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x223 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x247 SWAP2 SWAP1 PUSH2 0x482 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH32 0xBF22C45700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x60 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xBF22C457 SWAP1 PUSH2 0x2A0 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x55F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2CC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2F4 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x3C3 JUMP JUMPDEST SWAP4 SWAP11 SWAP3 SWAP10 POP SWAP1 SWAP8 POP SWAP6 POP SWAP1 SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x325 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x340 JUMPI PUSH2 0x340 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x20 ADD DUP3 DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x364 JUMPI PUSH2 0x364 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP5 DUP4 ADD PUSH1 0x20 ADD DUP7 LT ISZERO PUSH2 0x37B JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x38C DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x568 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A6 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3BC JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x3DA JUMPI DUP1 DUP2 REVERT JUMPDEST DUP6 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3F1 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x3FD DUP10 DUP4 DUP11 ADD PUSH2 0x315 JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x412 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x41E DUP10 DUP4 DUP11 ADD PUSH2 0x315 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x433 JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH2 0x440 DUP9 DUP3 DUP10 ADD PUSH2 0x315 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x455 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP3 POP POP PUSH1 0x80 DUP7 ADD MLOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x47B JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x493 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4B2 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x568 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 MSTORE PUSH2 0x4ED PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x49A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4FF DUP2 DUP9 PUSH2 0x49A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x513 DUP2 DUP8 PUSH2 0x49A JUMP JUMPDEST SWAP5 ISZERO ISZERO PUSH1 0x60 DUP5 ADD MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x17 SWAP1 DUP3 ADD MSTORE PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x583 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x56B JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x592 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2B 0x4F PUSH21 0xBCE8A4EA2A7F82C1D06C64EF70CD5C06A785A8DEA5 0xC3 PUSH27 0x43F298D3E01A64736F6C6343000800003300000000000000000000 ", - "sourceMap": "110:777:22:-:0;;;165:33;;;-1:-1:-1;;;;;;165:33:22;188:10;165:33;;;110:777;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:4909:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "80:610:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "129:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "138:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "145:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "131:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "131:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "131:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "108:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "116:4:28", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "104:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "104:17:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "123:3:28" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "100:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "100:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "93:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "93:35:28" - }, - "nodeType": "YulIf", - "src": "90:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "162:23:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "178:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "172:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "172:13:28" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "166:2:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "194:28:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "204:18:28", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "198:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "245:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "247:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "247:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "247:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "237:2:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "241:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "234:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "234:10:28" - }, - "nodeType": "YulIf", - "src": "231:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "276:23:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "296:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "290:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "290:9:28" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "280:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "308:69:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "334:6:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "350:2:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "354:4:28", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "346:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "346:13:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "365:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "361:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "361:7:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "342:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "342:27:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "330:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "330:40:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "372:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "326:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "326:51:28" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "312:10:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "436:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "438:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "438:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "438:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "395:10:28" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "407:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "392:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "392:18:28" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "415:10:28" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "427:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "412:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "412:22:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "389:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "389:46:28" - }, - "nodeType": "YulIf", - "src": "386:2:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "474:2:28", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "478:10:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "467:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "467:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "467:22:28" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "505:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "513:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "498:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "498:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "498:18:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "564:24:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "573:5:28" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "580:5:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "566:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "566:20:28" - }, - "nodeType": "YulExpressionStatement", - "src": "566:20:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "539:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "547:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "535:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "535:15:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "552:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "531:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "531:26:28" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "559:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "528:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "528:35:28" - }, - "nodeType": "YulIf", - "src": "525:2:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "623:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "631:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "619:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "619:17:28" - }, - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "642:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "650:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "638:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "638:17:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "657:2:28" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "597:21:28" - }, - "nodeType": "YulFunctionCall", - "src": "597:63:28" - }, - "nodeType": "YulExpressionStatement", - "src": "597:63:28" - }, - { - "nodeType": "YulAssignment", - "src": "669:15:28", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "678:6:28" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "669:5:28" - } - ] - } - ] - }, - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "54:6:28", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "62:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "70:5:28", - "type": "" - } - ], - "src": "14:676:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "765:259:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "811:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "820:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "828:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "813:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "813:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "813:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "786:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "795:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "782:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "782:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "807:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "778:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "778:32:28" - }, - "nodeType": "YulIf", - "src": "775:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "846:36:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "872:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "859:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "859:23:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "850:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "968:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "977:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "985:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "970:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "970:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "970:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "904:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "915:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "922:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "911:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "911:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "901:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "901:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "894:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "894:73:28" - }, - "nodeType": "YulIf", - "src": "891:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1003:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1013:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1003:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "731:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "742:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "754:6:28", - "type": "" - } - ], - "src": "695:329:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1205:863:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1252:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1261:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1269:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1254:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1254:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1254:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1226:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1235:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1222:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1222:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1247:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1218:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1218:33:28" - }, - "nodeType": "YulIf", - "src": "1215:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1287:30:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1307:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1301:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1301:16:28" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1291:6:28", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1326:28:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1336:18:28", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1330:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1381:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1390:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1398:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1383:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1383:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1383:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1369:6:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1377:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1366:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1366:14:28" - }, - "nodeType": "YulIf", - "src": "1363:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1416:73:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1461:9:28" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1472:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1457:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1457:22:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1481:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1426:30:28" - }, - "nodeType": "YulFunctionCall", - "src": "1426:63:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1416:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1498:41:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1524:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1535:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1520:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1520:18:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1514:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1514:25:28" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1502:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1568:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1577:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1585:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1570:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1570:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1570:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1554:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1564:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1551:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1551:16:28" - }, - "nodeType": "YulIf", - "src": "1548:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1603:75:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1648:9:28" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1659:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1644:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1644:24:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1670:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1613:30:28" - }, - "nodeType": "YulFunctionCall", - "src": "1613:65:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1603:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1687:41:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1713:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1724:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1709:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1709:18:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1703:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1703:25:28" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "1691:8:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1757:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1766:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1774:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1759:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1759:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1759:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "1743:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1753:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1740:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1740:16:28" - }, - "nodeType": "YulIf", - "src": "1737:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1792:75:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1837:9:28" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "1848:8:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1833:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1833:24:28" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1859:7:28" - } - ], - "functionName": { - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1802:30:28" - }, - "nodeType": "YulFunctionCall", - "src": "1802:65:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1792:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1876:38:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1899:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1910:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1895:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1895:18:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1889:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "1889:25:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1880:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1967:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1976:6:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1984:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1969:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1969:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1969:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1936:5:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1957:5:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1950:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1950:13:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1943:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1943:21:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1933:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1933:32:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1926:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1926:40:28" - }, - "nodeType": "YulIf", - "src": "1923:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2002:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2012:5:28" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "2002:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2026:36:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2046:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2057:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2042:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2042:19:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2036:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "2036:26:28" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2026:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_boolt_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1139:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1150:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1162:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1170:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1178:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1186:6:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "1194:6:28", - "type": "" - } - ], - "src": "1029:1039:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2143:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2189:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2198:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2206:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2191:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2191:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2191:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2164:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2173:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2160:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2160:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2185:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2156:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2156:32:28" - }, - "nodeType": "YulIf", - "src": "2153:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2224:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2247:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2234:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "2234:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2224:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2109:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2120:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2132:6:28", - "type": "" - } - ], - "src": "2073:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2349:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2395:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2404:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2412:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2397:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2397:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2397:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2370:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2379:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2366:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2366:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2391:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2362:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2362:32:28" - }, - "nodeType": "YulIf", - "src": "2359:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2430:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2446:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2440:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "2440:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2430:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2315:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2326:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2338:6:28", - "type": "" - } - ], - "src": "2268:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2519:208:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2529:26:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2549:5:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2543:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "2543:12:28" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2533:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2571:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2576:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2564:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2564:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2564:19:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2618:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2625:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2614:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2614:16:28" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2636:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2641:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2632:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2632:14:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2648:6:28" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "2592:21:28" - }, - "nodeType": "YulFunctionCall", - "src": "2592:63:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2592:63:28" - }, - { - "nodeType": "YulAssignment", - "src": "2664:57:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2679:3:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2692:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2700:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2688:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2688:15:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2709:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2705:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2705:7:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2684:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2684:29:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2675:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2675:39:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2716:4:28", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2671:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2671:50:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2664:3:28" - } - ] - } - ] - }, - "name": "abi_encode_t_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2496:5:28", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2503:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2511:3:28", - "type": "" - } - ], - "src": "2467:260:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2833:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2843:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2855:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2866:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2851:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2851:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2843:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2885:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2900:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2908:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2896:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2896:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2878:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2878:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2878:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2802:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2813:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2824:4:28", - "type": "" - } - ], - "src": "2732:226:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3084:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3094:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3106:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3117:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3102:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3102:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3094:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3136:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3151:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3159:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3147:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3147:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3129:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3129:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3129:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IJobManager_$4681__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3053:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3064:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3075:4:28", - "type": "" - } - ], - "src": "2963:246:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3481:440:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3498:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3509:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3491:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3491:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3491:22:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3522:62:28", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3556:6:28" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3568:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3579:3:28", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3564:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3564:19:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "3536:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "3536:48:28" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "3526:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3604:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3615:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3600:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3600:18:28" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "3624:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3632:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3620:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3620:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3593:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3593:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3593:50:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3652:49:28", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3686:6:28" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "3694:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "3666:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "3666:35:28" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "3656:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3721:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3732:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3717:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3717:18:28" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "3741:6:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3749:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3737:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3737:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3710:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3710:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3710:50:28" - }, - { - "nodeType": "YulAssignment", - "src": "3769:43:28", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3797:6:28" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "3805:6:28" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "3777:19:28" - }, - "nodeType": "YulFunctionCall", - "src": "3777:35:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3769:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3832:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3843:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3828:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3828:18:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "3862:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3855:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3855:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3848:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3848:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3821:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3821:50:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3821:50:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3891:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3902:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3887:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3887:19:28" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "3908:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3880:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3880:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3880:35:28" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3418:9:28", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "3429:6:28", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3437:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3445:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3453:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3461:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3472:4:28", - "type": "" - } - ], - "src": "3214:707:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4100:173:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4117:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4128:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4110:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4110:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4110:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4151:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4162:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4147:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4147:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4167:2:28", - "type": "", - "value": "23" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4140:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4140:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4140:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4190:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4201:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4186:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4186:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4206:25:28", - "type": "", - "value": "caller is not the owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4179:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4179:53:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4179:53:28" - }, - { - "nodeType": "YulAssignment", - "src": "4241:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4253:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4264:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4249:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4249:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4241:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4077:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4091:4:28", - "type": "" - } - ], - "src": "3926:347:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4379:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4389:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4401:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4412:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4397:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4397:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4389:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4431:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4442:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4424:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4424:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4424:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4348:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4359:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4370:4:28", - "type": "" - } - ], - "src": "4278:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4513:205:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4523:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4532:1:28", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4527:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4592:63:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "4617:3:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4622:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4613:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4613:11:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "4636:3:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4641:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4632:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4632:11:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4626:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "4626:18:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4606:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4606:39:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4606:39:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4553:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4556:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4550:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4550:13:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4564:19:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4566:15:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4575:1:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4578:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4571:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4571:10:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4566:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4546:3:28", - "statements": [] - }, - "src": "4542:113:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4681:31:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "4694:3:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4699:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4690:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4690:16:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4708:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4683:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4683:27:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4683:27:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4670:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4673:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4667:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "4667:13:28" - }, - "nodeType": "YulIf", - "src": "4664:2:28" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "4491:3:28", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "4496:3:28", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "4501:6:28", - "type": "" - } - ], - "src": "4460:258:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4755:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4772:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4775:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4765:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4765:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4765:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4872:4:28", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4862:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4862:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4862:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4893:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4896:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4886:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4886:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4886:15:28" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "4723:184:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := mload(offset)\n let _2 := 0xffffffffffffffff\n if gt(_1, _2) { panic_error_0x41() }\n let memPtr := mload(64)\n let newFreePtr := add(add(memPtr, and(add(_1, 0x1f), not(31))), 0x20)\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(array, array) }\n copy_memory_to_memory(add(offset, 0x20), add(memPtr, 0x20), _1)\n array := memPtr\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_boolt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(value4, value4) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(value4, value4) }\n value0 := abi_decode_t_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(value4, value4) }\n value1 := abi_decode_t_string_fromMemory(add(headStart, offset_1), dataEnd)\n let offset_2 := mload(add(headStart, 64))\n if gt(offset_2, _1) { revert(value4, value4) }\n value2 := abi_decode_t_string_fromMemory(add(headStart, offset_2), dataEnd)\n let value := mload(add(headStart, 96))\n if iszero(eq(value, iszero(iszero(value)))) { revert(value4, value4) }\n value3 := value\n value4 := mload(add(headStart, 128))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_encode_t_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IJobManager_$4681__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 160)\n let tail_1 := abi_encode_t_string(value0, add(headStart, 160))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_t_string(value2, tail_2)\n mstore(add(headStart, 96), iszero(iszero(value3)))\n mstore(add(headStart, 128), value4)\n }\n function abi_encode_tuple_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function copy_memory_to_memory(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100725760003560e01c8063995e433911610050578063995e4339146100b2578063bf22c457146100d2578063c89e4361146100f657610072565b80632da4e75c146100775780633df395a31461008c5780638da5cb5b146100aa575b600080fd5b61008a610085366004610395565b6100fe565b005b61009461018f565b6040516100a191906104c6565b60405180910390f35b61009461019e565b6100c56100c036600461046a565b6101ad565b6040516100a1919061055f565b6100e56100e036600461046a565b61024d565b6040516100a19594939291906104da565b610094610306565b6001546001600160a01b0316331461014b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014290610528565b60405180910390fd5b600080546001600160a01b039092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790915560028054909216179055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6002546040517f995e43390000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063995e4339906101f790859060040161055f565b60206040518083038186803b15801561020f57600080fd5b505afa158015610223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102479190610482565b92915050565b6002546040517fbf22c4570000000000000000000000000000000000000000000000000000000081526060918291829160009182916001600160a01b03169063bf22c457906102a090899060040161055f565b60006040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f491908101906103c3565b939a9299509097509550909350915050565b6000546001600160a01b031681565b600082601f830112610325578081fd5b815167ffffffffffffffff8082111561034057610340610598565b604051601f8301601f19168101602001828111828210171561036457610364610598565b60405282815284830160200186101561037b578384fd5b61038c836020830160208801610568565b95945050505050565b6000602082840312156103a6578081fd5b81356001600160a01b03811681146103bc578182fd5b9392505050565b600080600080600060a086880312156103da578081fd5b855167ffffffffffffffff808211156103f1578283fd5b6103fd89838a01610315565b96506020880151915080821115610412578283fd5b61041e89838a01610315565b95506040880151915080821115610433578283fd5b5061044088828901610315565b93505060608601518015158114610455578182fd5b80925050608086015190509295509295909350565b60006020828403121561047b578081fd5b5035919050565b600060208284031215610493578081fd5b5051919050565b600081518084526104b2816020860160208601610568565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060a082526104ed60a083018861049a565b82810360208401526104ff818861049a565b90508281036040840152610513818761049a565b94151560608401525050608001529392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b90815260200190565b60005b8381101561058357818101518382015260200161056b565b83811115610592576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212202b4f74bce8a4ea2a7f82c1d06c64ef70cd5c06a785a8dea5c37a43f298d3e01a64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x72 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x995E4339 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x995E4339 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xBF22C457 EQ PUSH2 0xD2 JUMPI DUP1 PUSH4 0xC89E4361 EQ PUSH2 0xF6 JUMPI PUSH2 0x72 JUMP JUMPDEST DUP1 PUSH4 0x2DA4E75C EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x3DF395A3 EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xAA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8A PUSH2 0x85 CALLDATASIZE PUSH1 0x4 PUSH2 0x395 JUMP JUMPDEST PUSH2 0xFE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x94 PUSH2 0x18F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP2 SWAP1 PUSH2 0x4C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH2 0x19E JUMP JUMPDEST PUSH2 0xC5 PUSH2 0xC0 CALLDATASIZE PUSH1 0x4 PUSH2 0x46A JUMP JUMPDEST PUSH2 0x1AD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP2 SWAP1 PUSH2 0x55F JUMP JUMPDEST PUSH2 0xE5 PUSH2 0xE0 CALLDATASIZE PUSH1 0x4 PUSH2 0x46A JUMP JUMPDEST PUSH2 0x24D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4DA JUMP JUMPDEST PUSH2 0x94 PUSH2 0x306 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x14B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x142 SWAP1 PUSH2 0x528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x2 DUP1 SLOAD SWAP1 SWAP3 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH32 0x995E433900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x995E4339 SWAP1 PUSH2 0x1F7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x55F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x20F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x223 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x247 SWAP2 SWAP1 PUSH2 0x482 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH32 0xBF22C45700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x60 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xBF22C457 SWAP1 PUSH2 0x2A0 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x55F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2CC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2F4 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x3C3 JUMP JUMPDEST SWAP4 SWAP11 SWAP3 SWAP10 POP SWAP1 SWAP8 POP SWAP6 POP SWAP1 SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x325 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x340 JUMPI PUSH2 0x340 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x20 ADD DUP3 DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x364 JUMPI PUSH2 0x364 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP5 DUP4 ADD PUSH1 0x20 ADD DUP7 LT ISZERO PUSH2 0x37B JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x38C DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x568 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A6 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3BC JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x3DA JUMPI DUP1 DUP2 REVERT JUMPDEST DUP6 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3F1 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x3FD DUP10 DUP4 DUP11 ADD PUSH2 0x315 JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x412 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x41E DUP10 DUP4 DUP11 ADD PUSH2 0x315 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x433 JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH2 0x440 DUP9 DUP3 DUP10 ADD PUSH2 0x315 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x455 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP3 POP POP PUSH1 0x80 DUP7 ADD MLOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x47B JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x493 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4B2 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x568 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 MSTORE PUSH2 0x4ED PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x49A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4FF DUP2 DUP9 PUSH2 0x49A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x513 DUP2 DUP8 PUSH2 0x49A JUMP JUMPDEST SWAP5 ISZERO ISZERO PUSH1 0x60 DUP5 ADD MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x17 SWAP1 DUP3 ADD MSTORE PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x583 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x56B JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x592 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2B 0x4F PUSH21 0xBCE8A4EA2A7F82C1D06C64EF70CD5C06A785A8DEA5 0xC3 PUSH27 0x43F298D3E01A64736F6C6343000800003300000000000000000000 ", - "sourceMap": "110:777:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;546:225;;;;;;:::i;:::-;;:::i;:::-;;204:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;165:33;;;:::i;777:108::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;240:300::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;136:23::-;;;:::i;546:225::-;638:5;;-1:-1:-1;;;;;638:5:22;624:10;:19;616:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;681:8;:29;;-1:-1:-1;;;;;681:29:22;;;;;;;;;;;;720:10;:44;;;;;;;;546:225::o;204:29::-;;;-1:-1:-1;;;;;204:29:22;;:::o;165:33::-;;;-1:-1:-1;;;;;165:33:22;;:::o;777:108::-;854:10;;:24;;;;;828:7;;-1:-1:-1;;;;;854:10:22;;:20;;:24;;875:2;;854:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;847:31;777:108;-1:-1:-1;;777:108:22:o;240:300::-;512:10;;:21;;;;;342:17;;;;;;441:11;;;;-1:-1:-1;;;;;512:10:22;;:17;;:21;;530:2;;512:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;512:21:22;;;;;;;;;;;;:::i;:::-;505:28;;;;-1:-1:-1;505:28:22;;-1:-1:-1;505:28:22;-1:-1:-1;505:28:22;;-1:-1:-1;240:300:22;-1:-1:-1;;240:300:22:o;136:23::-;;;-1:-1:-1;;;;;136:23:22;;:::o;14:676:28:-;;123:3;116:4;108:6;104:17;100:27;90:2;;145:5;138;131:20;90:2;178:6;172:13;204:18;241:2;237;234:10;231:2;;;247:18;;:::i;:::-;296:2;290:9;365:2;346:13;;-1:-1:-1;;342:27:28;330:40;;372:4;326:51;392:18;;;412:22;;;389:46;386:2;;;438:18;;:::i;:::-;474:2;467:22;498:18;;;535:15;;;552:4;531:26;528:35;-1:-1:-1;525:2:28;;;580:5;573;566:20;525:2;597:63;657:2;650:4;642:6;638:17;631:4;623:6;619:17;597:63;:::i;:::-;678:6;80:610;-1:-1:-1;;;;;80:610:28:o;695:329::-;;807:2;795:9;786:7;782:23;778:32;775:2;;;828:6;820;813:22;775:2;872:9;859:23;-1:-1:-1;;;;;915:5:28;911:54;904:5;901:65;891:2;;985:6;977;970:22;891:2;1013:5;765:259;-1:-1:-1;;;765:259:28:o;1029:1039::-;;;;;;1247:3;1235:9;1226:7;1222:23;1218:33;1215:2;;;1269:6;1261;1254:22;1215:2;1307:9;1301:16;1336:18;1377:2;1369:6;1366:14;1363:2;;;1398:6;1390;1383:22;1363:2;1426:63;1481:7;1472:6;1461:9;1457:22;1426:63;:::i;:::-;1416:73;;1535:2;1524:9;1520:18;1514:25;1498:41;;1564:2;1554:8;1551:16;1548:2;;;1585:6;1577;1570:22;1548:2;1613:65;1670:7;1659:8;1648:9;1644:24;1613:65;:::i;:::-;1603:75;;1724:2;1713:9;1709:18;1703:25;1687:41;;1753:2;1743:8;1740:16;1737:2;;;1774:6;1766;1759:22;1737:2;;1802:65;1859:7;1848:8;1837:9;1833:24;1802:65;:::i;:::-;1792:75;;;1910:2;1899:9;1895:18;1889:25;1957:5;1950:13;1943:21;1936:5;1933:32;1923:2;;1984:6;1976;1969:22;1923:2;2012:5;2002:15;;;2057:3;2046:9;2042:19;2036:26;2026:36;;1205:863;;;;;;;;:::o;2073:190::-;;2185:2;2173:9;2164:7;2160:23;2156:32;2153:2;;;2206:6;2198;2191:22;2153:2;-1:-1:-1;2234:23:28;;2143:120;-1:-1:-1;2143:120:28:o;2268:194::-;;2391:2;2379:9;2370:7;2366:23;2362:32;2359:2;;;2412:6;2404;2397:22;2359:2;-1:-1:-1;2440:16:28;;2349:113;-1:-1:-1;2349:113:28:o;2467:260::-;;2549:5;2543:12;2576:6;2571:3;2564:19;2592:63;2648:6;2641:4;2636:3;2632:14;2625:4;2618:5;2614:16;2592:63;:::i;:::-;2709:2;2688:15;-1:-1:-1;;2684:29:28;2675:39;;;;2716:4;2671:50;;2519:208;-1:-1:-1;;2519:208:28:o;2732:226::-;-1:-1:-1;;;;;2896:55:28;;;;2878:74;;2866:2;2851:18;;2833:125::o;3214:707::-;;3509:3;3498:9;3491:22;3536:48;3579:3;3568:9;3564:19;3556:6;3536:48;:::i;:::-;3632:9;3624:6;3620:22;3615:2;3604:9;3600:18;3593:50;3666:35;3694:6;3686;3666:35;:::i;:::-;3652:49;;3749:9;3741:6;3737:22;3732:2;3721:9;3717:18;3710:50;3777:35;3805:6;3797;3777:35;:::i;:::-;3855:14;;3848:22;3843:2;3828:18;;3821:50;-1:-1:-1;;3902:3:28;3887:19;3880:35;3769:43;3481:440;-1:-1:-1;;;3481:440:28:o;3926:347::-;4128:2;4110:21;;;4167:2;4147:18;;;4140:30;4206:25;4201:2;4186:18;;4179:53;4264:2;4249:18;;4100:173::o;4278:177::-;4424:25;;;4412:2;4397:18;;4379:76::o;4460:258::-;4532:1;4542:113;4556:6;4553:1;4550:13;4542:113;;;4632:11;;;4626:18;4613:11;;;4606:39;4578:2;4571:10;4542:113;;;4673:6;4670:1;4667:13;4664:2;;;4708:1;4699:6;4694:3;4690:16;4683:27;4664:2;;4513:205;;;:::o;4723:184::-;4775:77;4772:1;4765:88;4872:4;4869:1;4862:15;4896:4;4893:1;4886:15" - }, - "methodIdentifiers": { - "delegate()": "c89e4361", - "getJob(uint256)": "bf22c457", - "getResult(uint256)": "995e4339", - "jobManager()": "3df395a3", - "owner()": "8da5cb5b", - "upgradeDelegate(address)": "2da4e75c" - } - } - } - }, - "contracts/Faucet.sol": { - "Faucet": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Donate", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "faucet", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "requested", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:326:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "95:229:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "141:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "150:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "158:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "143:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "143:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "143:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "116:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "125:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "112:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "112:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "137:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "108:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "108:32:28" - }, - "nodeType": "YulIf", - "src": "105:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "176:29:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "195:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "189:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "189:16:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "180:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "268:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "277:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "285:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "270:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "270:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "270:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "227:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "238:5:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "253:3:28", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "258:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "249:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "249:11:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "262:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "245:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "245:19:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "234:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "234:31:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "224:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "224:42:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "217:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "217:50:28" - }, - "nodeType": "YulIf", - "src": "214:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "303:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "313:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "303:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "61:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "72:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "84:6:28", - "type": "" - } - ], - "src": "14:310:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(value0, value0) }\n value0 := value\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5060405161038438038061038483398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b6102f3806100916000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b86d1d6314610046578063eecf0b4f1461005b578063fc0c546a14610084575b600080fd5b610059610054366004610210565b610099565b005b61006e610069366004610210565b6101df565b60405161007b9190610291565b60405180910390f35b61008c6101f4565b60405161007b919061029c565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166101dc5773ffffffffffffffffffffffffffffffffffffffff8082166000908152600160208190526040808320805460ff1916909217909155905490517fa9059cbb00000000000000000000000000000000000000000000000000000000815291169063a9059cbb9061014590849069021e19e0c9bab24000009060040161026b565b602060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610197919061024b565b507f0553260a2e46b0577270d8992db02d30856ca880144c72d6e9503760946aef138169021e19e0c9bab24000006040516101d392919061026b565b60405180910390a15b50565b60016020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600060208284031215610221578081fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610244578182fd5b9392505050565b60006020828403121561025c578081fd5b81518015158114610244578182fd5b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b73ffffffffffffffffffffffffffffffffffffffff9190911681526020019056fea2646970667358221220ca27a8a44ee1b689dab9748a741617da9237bfa890c0db483e2b21182624c36064736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x384 CODESIZE SUB DUP1 PUSH2 0x384 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x54 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x82 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x65 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x7B JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x2F3 DUP1 PUSH2 0x91 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB86D1D63 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xEECF0B4F EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x84 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0x210 JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6E PUSH2 0x69 CALLDATASIZE PUSH1 0x4 PUSH2 0x210 JUMP JUMPDEST PUSH2 0x1DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x291 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8C PUSH2 0x1F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x29C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1DC JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE SWAP1 SLOAD SWAP1 MLOAD PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x145 SWAP1 DUP5 SWAP1 PUSH10 0x21E19E0C9BAB2400000 SWAP1 PUSH1 0x4 ADD PUSH2 0x26B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x173 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x197 SWAP2 SWAP1 PUSH2 0x24B JUMP JUMPDEST POP PUSH32 0x553260A2E46B0577270D8992DB02D30856CA880144C72D6E9503760946AEF13 DUP2 PUSH10 0x21E19E0C9BAB2400000 PUSH1 0x40 MLOAD PUSH2 0x1D3 SWAP3 SWAP2 SWAP1 PUSH2 0x26B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x221 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x244 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25C JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x244 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCA 0x27 0xA8 LOG4 0x4E 0xE1 0xB6 DUP10 0xDA 0xB9 PUSH21 0x8A741617DA9237BFA890C0DB483E2B21182624C360 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "121:610:23:-:0;;;272:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;316:5;:28;;-1:-1:-1;;;;;;316:28:23;-1:-1:-1;;;;;316:28:23;;;;;;;;;;121:610;;14:310:28;;137:2;125:9;116:7;112:23;108:32;105:2;;;158:6;150;143:22;105:2;189:16;;-1:-1:-1;;;;;234:31:28;;224:42;;214:2;;285:6;277;270:22;214:2;313:5;95:229;-1:-1:-1;;;95:229:28:o;:::-;121:610:23;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1415:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:259:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "132:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "132:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:28" - }, - "nodeType": "YulIf", - "src": "94:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "165:36:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "191:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "178:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "178:23:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "169:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "287:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "296:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "304:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "289:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "289:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "289:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "223:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "234:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "241:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "230:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "230:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "220:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "220:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "213:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "213:73:28" - }, - "nodeType": "YulIf", - "src": "210:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "322:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "332:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "322:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:28", - "type": "" - } - ], - "src": "14:329:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "426:219:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "472:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "481:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "489:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "474:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "474:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "474:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "447:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "456:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "443:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "443:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "468:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "439:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "439:32:28" - }, - "nodeType": "YulIf", - "src": "436:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "507:29:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "526:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "520:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "520:16:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "511:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "589:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "598:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "606:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "591:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "591:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "591:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "558:5:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "579:5:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "572:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "572:13:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "565:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "565:21:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "555:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "555:32:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "548:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "548:40:28" - }, - "nodeType": "YulIf", - "src": "545:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "624:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "634:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "624:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "392:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "403:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "415:6:28", - "type": "" - } - ], - "src": "348:297:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "809:168:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "819:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "831:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "842:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "827:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "827:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "819:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "861:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "876:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "884:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "872:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "872:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "854:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "854:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "854:74:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "948:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "959:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "944:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "944:18:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "964:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "937:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "937:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "937:34:28" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_rational_10000000000000000000000_by_1__to_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "770:9:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "781:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "789:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "800:4:28", - "type": "" - } - ], - "src": "650:327:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1077:92:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1087:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1099:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1110:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1095:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1095:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1087:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1129:9:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1154:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1147:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1147:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1140:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1140:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1122:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1122:41:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1122:41:28" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1046:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1057:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1068:4:28", - "type": "" - } - ], - "src": "982:187:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1288:125:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1298:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1310:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1321:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1306:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1306:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1298:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1340:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1355:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1363:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1351:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1351:55:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1333:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1333:74:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1333:74:28" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_ERC20_$823__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1257:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1268:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1279:4:28", - "type": "" - } - ], - "src": "1174:239:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_t_address_t_rational_10000000000000000000000_by_1__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_contract$_ERC20_$823__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c8063b86d1d6314610046578063eecf0b4f1461005b578063fc0c546a14610084575b600080fd5b610059610054366004610210565b610099565b005b61006e610069366004610210565b6101df565b60405161007b9190610291565b60405180910390f35b61008c6101f4565b60405161007b919061029c565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166101dc5773ffffffffffffffffffffffffffffffffffffffff8082166000908152600160208190526040808320805460ff1916909217909155905490517fa9059cbb00000000000000000000000000000000000000000000000000000000815291169063a9059cbb9061014590849069021e19e0c9bab24000009060040161026b565b602060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610197919061024b565b507f0553260a2e46b0577270d8992db02d30856ca880144c72d6e9503760946aef138169021e19e0c9bab24000006040516101d392919061026b565b60405180910390a15b50565b60016020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600060208284031215610221578081fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610244578182fd5b9392505050565b60006020828403121561025c578081fd5b81518015158114610244578182fd5b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b73ffffffffffffffffffffffffffffffffffffffff9190911681526020019056fea2646970667358221220ca27a8a44ee1b689dab9748a741617da9237bfa890c0db483e2b21182624c36064736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB86D1D63 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xEECF0B4F EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x84 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0x210 JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6E PUSH2 0x69 CALLDATASIZE PUSH1 0x4 PUSH2 0x210 JUMP JUMPDEST PUSH2 0x1DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x291 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8C PUSH2 0x1F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x29C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1DC JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE SWAP1 SLOAD SWAP1 MLOAD PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x145 SWAP1 DUP5 SWAP1 PUSH10 0x21E19E0C9BAB2400000 SWAP1 PUSH1 0x4 ADD PUSH2 0x26B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x173 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x197 SWAP2 SWAP1 PUSH2 0x24B JUMP JUMPDEST POP PUSH32 0x553260A2E46B0577270D8992DB02D30856CA880144C72D6E9503760946AEF13 DUP2 PUSH10 0x21E19E0C9BAB2400000 PUSH1 0x40 MLOAD PUSH2 0x1D3 SWAP3 SWAP2 SWAP1 PUSH2 0x26B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x221 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x244 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25C JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x244 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCA 0x27 0xA8 LOG4 0x4E 0xE1 0xB6 DUP10 0xDA 0xB9 PUSH21 0x8A741617DA9237BFA890C0DB483E2B21182624C360 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "121:610:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;443:286;;;;;;:::i;:::-;;:::i;:::-;;168:41;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;144:18;;;:::i;:::-;;;;;;;:::i;443:286::-;501:19;;;;;;;:9;:19;;;;;;;;496:227;;536:19;;;;;;;;558:4;536:19;;;;;;;;:26;;-1:-1:-1;;536:26:23;;;;;;;613:5;;:44;;;;;:5;;;:14;;:44;;546:8;;638:18;;613:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;676:36;683:8;693:18;676:36;;;;;;;:::i;:::-;;;;;;;;496:227;443:286;:::o;168:41::-;;;;;;;;;;;;;;;:::o;144:18::-;;;;;;:::o;14:329:28:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;241:42;234:5;230:54;223:5;220:65;210:2;;304:6;296;289:22;210:2;332:5;84:259;-1:-1:-1;;;84:259:28:o;348:297::-;;468:2;456:9;447:7;443:23;439:32;436:2;;;489:6;481;474:22;436:2;526:9;520:16;579:5;572:13;565:21;558:5;555:32;545:2;;606:6;598;591:22;650:327;884:42;872:55;;;;854:74;;959:2;944:18;;937:34;842:2;827:18;;809:168::o;982:187::-;1147:14;;1140:22;1122:41;;1110:2;1095:18;;1077:92::o;1174:239::-;1363:42;1351:55;;;;1333:74;;1321:2;1306:18;;1288:125::o" - }, - "methodIdentifiers": { - "faucet(address)": "b86d1d63", - "requested(address)": "eecf0b4f", - "token()": "fc0c546a" - } - } - } - }, - "contracts/SchellingCoin.sol": { - "SchellingCoin": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "minter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "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": [], - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INITIAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINTER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addMinter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": "amount", - "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": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "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": "removeMinter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:3636:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "95:229:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "141:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "150:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "158:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "143:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "143:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "143:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "116:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "125:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "112:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "112:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "137:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "108:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "108:32:28" - }, - "nodeType": "YulIf", - "src": "105:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "176:29:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "195:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "189:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "189:16:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "180:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "268:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "277:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "285:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "270:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "270:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "270:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "227:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "238:5:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "253:3:28", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "258:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "249:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "249:11:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "262:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "245:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "245:19:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "234:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "234:31:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "224:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "224:42:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "217:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "217:50:28" - }, - "nodeType": "YulIf", - "src": "214:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "303:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "313:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "303:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "61:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "72:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "84:6:28", - "type": "" - } - ], - "src": "14:310:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "503:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "520:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "531:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "513:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "513:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "513:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "554:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "565:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "550:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "550:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "570:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "543:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "543:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "543:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "593:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "604:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "589:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "589:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "609:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "582:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "582:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "582:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "664:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "675:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "660:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "660:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "680:17:28", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "653:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "653:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "653:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "707:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "719:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "730:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "715:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "715:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "707:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "480:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "494:4:28", - "type": "" - } - ], - "src": "329:411:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "919:181:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "936:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "947:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "929:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "929:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "929:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "970:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "981:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "966:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "966:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "986:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "959:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "959:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "959:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1009:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1020:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1005:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1005:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "1025:33:28", - "type": "", - "value": "ERC20: mint to the zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "998:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "998:61:28" - }, - "nodeType": "YulExpressionStatement", - "src": "998:61:28" - }, - { - "nodeType": "YulAssignment", - "src": "1068:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1080:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1091:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1076:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1076:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1068:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "896:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "910:4:28", - "type": "" - } - ], - "src": "745:355:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1206:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1216:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1228:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1239:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1224:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1224:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1216:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1258:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1269:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1251:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1251:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1251:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1175:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1186:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1197:4:28", - "type": "" - } - ], - "src": "1105:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1335:80:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1362:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1364:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "1364:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1364:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "1351:1:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "1358:1:28" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1354:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1354:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1348:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1348:13:28" - }, - "nodeType": "YulIf", - "src": "1345:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1393:16:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "1404:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "1407:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1400:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1400:9:28" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "1393:3:28" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "1318:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "1321:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "1327:3:28", - "type": "" - } - ], - "src": "1287:128:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1497:376:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1507:15:28", - "value": { - "name": "_power", - "nodeType": "YulIdentifier", - "src": "1516:6:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1507:5:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1531:13:28", - "value": { - "name": "_base", - "nodeType": "YulIdentifier", - "src": "1539:5:28" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1531:4:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1578:289:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1592:11:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1602:1:28", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1596:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1644:9:28", - "statements": [ - { - "nodeType": "YulBreak", - "src": "1646:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1629:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1639:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1626:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1626:16:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1619:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1619:24:28" - }, - "nodeType": "YulIf", - "src": "1616:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1694:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1696:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "1696:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1696:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1672:4:28" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "1682:3:28" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1687:4:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "1678:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1678:14:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1669:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1669:24:28" - }, - "nodeType": "YulIf", - "src": "1666:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1750:29:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1752:25:28", - "value": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1765:5:28" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1772:4:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "1761:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1761:16:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1752:5:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1736:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1746:2:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1732:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1732:17:28" - }, - "nodeType": "YulIf", - "src": "1729:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1792:23:28", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1804:4:28" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1810:4:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "1800:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1800:15:28" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1792:4:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1828:29:28", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1844:2:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1848:8:28" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1840:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1840:17:28" - }, - "variableNames": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1828:8:28" - } - ] - } - ] - }, - "condition": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "1561:4:28", - "type": "", - "value": "true" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1566:3:28", - "statements": [] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1557:3:28", - "statements": [] - }, - "src": "1553:314:28" - } - ] - }, - "name": "checked_exp_helper", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "_power", - "nodeType": "YulTypedName", - "src": "1448:6:28", - "type": "" - }, - { - "name": "_base", - "nodeType": "YulTypedName", - "src": "1456:5:28", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "1463:8:28", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "1473:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "1481:5:28", - "type": "" - }, - { - "name": "base", - "nodeType": "YulTypedName", - "src": "1488:4:28", - "type": "" - } - ], - "src": "1420:453:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1948:69:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1958:53:28", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1988:4:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1994:8:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2008:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2004:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2004:6:28" - } - ], - "functionName": { - "name": "checked_exp_unsigned", - "nodeType": "YulIdentifier", - "src": "1967:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1967:44:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1958:5:28" - } - ] - } - ] - }, - "name": "checked_exp_t_uint256_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "1919:4:28", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "1925:8:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "1938:5:28", - "type": "" - } - ], - "src": "1878:139:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2086:858:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2124:52:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2138:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2147:1:28", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2138:5:28" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "2161:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "2106:8:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2099:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2099:16:28" - }, - "nodeType": "YulIf", - "src": "2096:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2209:52:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2223:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2232:1:28", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2223:5:28" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "2246:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "2195:4:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2188:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2188:12:28" - }, - "nodeType": "YulIf", - "src": "2185:2:28" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2297:52:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2311:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2320:1:28", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2311:5:28" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "2334:5:28" - } - ] - }, - "nodeType": "YulCase", - "src": "2290:59:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2295:1:28", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2365:176:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2400:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2402:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "2402:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2402:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "2385:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2395:3:28", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2382:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2382:17:28" - }, - "nodeType": "YulIf", - "src": "2379:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2435:25:28", - "value": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "2448:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2458:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2444:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2444:16:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2435:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2491:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2493:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "2493:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2493:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2479:5:28" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "2486:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2476:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2476:14:28" - }, - "nodeType": "YulIf", - "src": "2473:2:28" - }, - { - "nodeType": "YulLeave", - "src": "2526:5:28" - } - ] - }, - "nodeType": "YulCase", - "src": "2358:183:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2363:1:28", - "type": "", - "value": "2" - } - } - ], - "expression": { - "name": "base", - "nodeType": "YulIdentifier", - "src": "2277:4:28" - }, - "nodeType": "YulSwitch", - "src": "2270:271:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2639:123:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2653:28:28", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "2666:4:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "2672:8:28" - } - ], - "functionName": { - "name": "exp", - "nodeType": "YulIdentifier", - "src": "2662:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2662:19:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2653:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2712:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2714:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "2714:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2714:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2700:5:28" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "2707:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2697:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2697:14:28" - }, - "nodeType": "YulIf", - "src": "2694:2:28" - }, - { - "nodeType": "YulLeave", - "src": "2747:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "2563:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2569:2:28", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2560:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2560:12:28" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "2577:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2587:2:28", - "type": "", - "value": "78" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2574:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2574:16:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2556:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2556:35:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "2600:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2606:3:28", - "type": "", - "value": "307" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2597:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2597:13:28" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "2615:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2625:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2612:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2612:16:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2593:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2593:36:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "2553:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2553:77:28" - }, - "nodeType": "YulIf", - "src": "2550:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2771:65:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2813:1:28", - "type": "", - "value": "1" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "2816:4:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "2822:8:28" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "2832:3:28" - } - ], - "functionName": { - "name": "checked_exp_helper", - "nodeType": "YulIdentifier", - "src": "2794:18:28" - }, - "nodeType": "YulFunctionCall", - "src": "2794:42:28" - }, - "variables": [ - { - "name": "power_1", - "nodeType": "YulTypedName", - "src": "2775:7:28", - "type": "" - }, - { - "name": "base_1", - "nodeType": "YulTypedName", - "src": "2784:6:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2878:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2880:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "2880:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2880:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "2851:7:28" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "2864:3:28" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "2869:6:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2860:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2860:16:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2848:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2848:29:28" - }, - "nodeType": "YulIf", - "src": "2845:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2909:29:28", - "value": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "2922:7:28" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "2931:6:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2918:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2918:20:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2909:5:28" - } - ] - } - ] - }, - "name": "checked_exp_unsigned", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "2052:4:28", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "2058:8:28", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "2068:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "2076:5:28", - "type": "" - } - ], - "src": "2022:922:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3001:116:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3060:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "3062:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "3062:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3062:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3032:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3025:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3025:9:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3018:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3018:17:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3040:1:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3051:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3047:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3047:6:28" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3055:1:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "3043:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3043:14:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3037:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3037:21:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3014:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3014:45:28" - }, - "nodeType": "YulIf", - "src": "3011:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "3091:20:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3106:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3109:1:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "3102:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3102:9:28" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "3091:7:28" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "2980:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "2983:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "2989:7:28", - "type": "" - } - ], - "src": "2949:168:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3177:325:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3187:22:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3201:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3207:1:28", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "3197:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3197:12:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3187:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3218:38:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3248:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3254:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3244:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3244:12:28" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "3222:18:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3295:31:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3297:27:28", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3311:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3319:4:28", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3307:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3307:17:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3297:6:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "3275:18:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3268:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3268:26:28" - }, - "nodeType": "YulIf", - "src": "3265:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3385:111:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3406:1:28", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3413:3:28", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3418:10:28", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3409:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3409:20:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3399:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3399:31:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3399:31:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3450:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3453:4:28", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3443:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3443:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3443:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3478:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3481:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3471:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3471:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3471:15:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "3341:18:28" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3364:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3372:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3361:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3361:14:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3338:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "3338:38:28" - }, - "nodeType": "YulIf", - "src": "3335:2:28" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "3157:4:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "3166:6:28", - "type": "" - } - ], - "src": "3122:380:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3539:95:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3556:1:28", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3563:3:28", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3568:10:28", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3559:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3559:20:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3549:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3549:31:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3549:31:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3596:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3599:4:28", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3589:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3589:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3589:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3620:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3623:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3613:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3613:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3613:15:28" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "3507:127:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_exp_helper(_power, _base, exponent, max) -> power, base\n {\n power := _power\n base := _base\n for { } true { }\n {\n let _1 := 1\n if iszero(gt(exponent, _1)) { break }\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, _1) { power := mul(power, base) }\n base := mul(base, base)\n exponent := shr(_1, exponent)\n }\n }\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power\n {\n power := checked_exp_unsigned(base, exponent, not(0))\n }\n function checked_exp_unsigned(base, exponent, max) -> power\n {\n if iszero(exponent)\n {\n power := 1\n leave\n }\n if iszero(base)\n {\n power := 0\n leave\n }\n switch base\n case 1 {\n power := 1\n leave\n }\n case 2 {\n if gt(exponent, 255) { panic_error_0x11() }\n power := shl(exponent, 1)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n let power_1, base_1 := checked_exp_helper(1, base, exponent, max)\n if gt(power_1, div(max, base_1)) { panic_error_0x11() }\n power := mul(power_1, base_1)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b5060405162001a0238038062001a028339810160408190526200003491620003af565b6040518060400160405280600d81526020016c29b1b432b63634b733a1b7b4b760991b815250604051806040016040528060038152602001620a686960eb1b81525081600390805190602001906200008e92919062000309565b508051620000a490600490602084019062000309565b50620000b69150600090503362000112565b620000df33620000c96012600a620004d6565b620000d990633b9aca00620005be565b62000122565b6200010b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682620001f6565b5062000633565b6200011e828262000234565b5050565b6001600160a01b038216620001545760405162461bcd60e51b81526004016200014b906200042e565b60405180910390fd5b6200016260008383620002c0565b80600260008282546200017691906200046e565b90915550506001600160a01b03821660009081526020819052604081208054839290620001a59084906200046e565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620001ea90859062000465565b60405180910390a35050565b620002156200020583620002c5565b6200020f620002da565b620002de565b620001125760405162461bcd60e51b81526004016200014b90620003df565b620002408282620002de565b6200011e5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200027c620002da565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b505050565b60009081526005602052604090206001015490565b3390565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8280546200031790620005e0565b90600052602060002090601f0160209004810192826200033b576000855562000386565b82601f106200035657805160ff191683800117855562000386565b8280016001018555821562000386579182015b828111156200038657825182559160200191906001019062000369565b506200039492915062000398565b5090565b5b8082111562000394576000815560010162000399565b600060208284031215620003c1578081fd5b81516001600160a01b0381168114620003d8578182fd5b9392505050565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201526e0818591b5a5b881d1bc819dc985b9d608a1b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b600082198211156200048457620004846200061d565b500190565b80825b60018086116200049d5750620004cd565b818704821115620004b257620004b26200061d565b80861615620004c057918102915b9490941c9380026200048c565b94509492505050565b6000620003d86000198484600082620004f257506001620003d8565b816200050157506000620003d8565b81600181146200051a5760028114620005255762000559565b6001915050620003d8565b60ff8411156200053957620005396200061d565b6001841b9150848211156200055257620005526200061d565b50620003d8565b5060208310610133831016604e8410600b841016171562000591575081810a838111156200058b576200058b6200061d565b620003d8565b620005a0848484600162000489565b808604821115620005b557620005b56200061d565b02949350505050565b6000816000190483118215151615620005db57620005db6200061d565b500290565b600281046001821680620005f557607f821691505b602082108114156200061757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6113bf80620006436000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806339509351116100e3578063a217fddf1161008c578063d539139311610066578063d53913931461031e578063d547741f14610326578063dd62ed3e1461033957610198565b8063a217fddf146102f0578063a457c2d7146102f8578063a9059cbb1461030b57610198565b806391d14854116100bd57806391d14854146102c257806395d89b41146102d5578063983b2d56146102dd57610198565b8063395093511461028957806340c10f191461029c57806370a08231146102af57610198565b80632e0f2625116101455780633092afd51161011f5780633092afd51461024e578063313ce5671461026157806336568abe1461027657610198565b80632e0f2625146102295780632f2ff15d146102315780632ff2e9dc1461024657610198565b806318160ddd1161017657806318160ddd146101ee57806323b872dd14610203578063248a9ca31461021657610198565b806301ffc9a71461019d57806306fdde03146101c6578063095ea7b3146101db575b600080fd5b6101b06101ab366004610d11565b61034c565b6040516101bd9190610d51565b60405180910390f35b6101ce6103aa565b6040516101bd9190610d65565b6101b06101e9366004610cae565b61043c565b6101f6610459565b6040516101bd9190610d5c565b6101b0610211366004610c73565b61045f565b6101f6610224366004610cd7565b610501565b6101f6610516565b61024461023f366004610cef565b61051b565b005b6101f6610559565b61024461025c366004610c27565b610576565b6102696105a3565b6040516101bd91906111c8565b610244610284366004610cef565b6105a8565b6101b0610297366004610cae565b6105ea565b6101b06102aa366004610cae565b610639565b6101f66102bd366004610c27565b61068b565b6101b06102d0366004610cef565b6106a6565b6101ce6106d1565b6102446102eb366004610c27565b6106e0565b6101f661070a565b6101b0610306366004610cae565b61070f565b6101b0610319366004610cae565b61078a565b6101f661079e565b610244610334366004610cef565b6107c2565b6101f6610347366004610c41565b6107ea565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103a257506103a282610815565b90505b919050565b6060600380546103b990611338565b80601f01602080910402602001604051908101604052809291908181526020018280546103e590611338565b80156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b5050505050905090565b600061045061044961085f565b8484610863565b50600192915050565b60025490565b600061046c848484610917565b6001600160a01b03841660009081526001602052604081208161048d61085f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104d95760405162461bcd60e51b81526004016104d090610fc0565b60405180910390fd5b6104f4856104e561085f565b6104ef8685611321565b610863565b60019150505b9392505050565b60009081526005602052604090206001015490565b601281565b61052f61052783610501565b6102d061085f565b61054b5760405162461bcd60e51b81526004016104d090610e15565b6105558282610a3f565b5050565b6105656012600a611234565b61057390633b9aca00611302565b81565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826107c2565b50565b601290565b6105b061085f565b6001600160a01b0316816001600160a01b0316146105e05760405162461bcd60e51b81526004016104d090611134565b6105558282610ac6565b60006104506105f761085f565b84846001600061060561085f565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546104ef91906111d6565b60006106657f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336106a6565b6106815760405162461bcd60e51b81526004016104d090610f89565b6104508383610b4b565b6001600160a01b031660009081526020819052604090205490565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546103b990611338565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261051b565b600081565b6000806001600061071e61085f565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561076a5760405162461bcd60e51b81526004016104d0906110d7565b61078061077561085f565b856104ef8685611321565b5060019392505050565b600061045061079761085f565b8484610917565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6107ce61052783610501565b6105e05760405162461bcd60e51b81526004016104d090610f2c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6001600160a01b0383166108895760405162461bcd60e51b81526004016104d09061107a565b6001600160a01b0382166108af5760405162461bcd60e51b81526004016104d090610e72565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061090a908590610d5c565b60405180910390a3505050565b6001600160a01b03831661093d5760405162461bcd60e51b81526004016104d09061101d565b6001600160a01b0382166109635760405162461bcd60e51b81526004016104d090610db8565b61096e838383610c0b565b6001600160a01b038316600090815260208190526040902054818110156109a75760405162461bcd60e51b81526004016104d090610ecf565b6109b18282611321565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906109e79084906111d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a319190610d5c565b60405180910390a350505050565b610a4982826106a6565b6105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a8261085f565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610ad082826106a6565b156105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19169055610b0761085f565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6001600160a01b038216610b715760405162461bcd60e51b81526004016104d090611191565b610b7d60008383610c0b565b8060026000828254610b8f91906111d6565b90915550506001600160a01b03821660009081526020819052604081208054839290610bbc9084906111d6565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bff908590610d5c565b60405180910390a35050565b505050565b80356001600160a01b03811681146103a557600080fd5b600060208284031215610c38578081fd5b6104fa82610c10565b60008060408385031215610c53578081fd5b610c5c83610c10565b9150610c6a60208401610c10565b90509250929050565b600080600060608486031215610c87578081fd5b610c9084610c10565b9250610c9e60208501610c10565b9150604084013590509250925092565b60008060408385031215610cc0578182fd5b610cc983610c10565b946020939093013593505050565b600060208284031215610ce8578081fd5b5035919050565b60008060408385031215610d01578182fd5b82359150610c6a60208401610c10565b600060208284031215610d22578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104fa578182fd5b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015610d9157858101830151858201604001528201610d75565b81811115610da25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526016908201527f43616c6c6572206973206e6f742061206d696e74657200000000000000000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60ff91909116815260200190565b600082198211156111e9576111e9611373565b500190565b80825b6001808611611200575061122b565b81870482111561121257611212611373565b8086161561121f57918102915b9490941c9380026111f1565b94509492505050565b60006104fa600019848460008261124d575060016104fa565b8161125a575060006104fa565b8160018114611270576002811461127a576112a7565b60019150506104fa565b60ff84111561128b5761128b611373565b6001841b9150848211156112a1576112a1611373565b506104fa565b5060208310610133831016604e8410600b84101617156112da575081810a838111156112d5576112d5611373565b6104fa565b6112e784848460016111ee565b8086048211156112f9576112f9611373565b02949350505050565b600081600019048311821515161561131c5761131c611373565b500290565b60008282101561133357611333611373565b500390565b60028104600182168061134c57607f821691505b6020821081141561136d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea264697066735822122065ed79c46d91ce17585f0357639695a7073d033489041e5d40327525b735b5a664736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1A02 CODESIZE SUB DUP1 PUSH3 0x1A02 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x3AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xD DUP2 MSTORE PUSH1 0x20 ADD PUSH13 0x29B1B432B63634B733A1B7B4B7 PUSH1 0x99 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH3 0xA6869 PUSH1 0xEB SHL DUP2 MSTORE POP DUP2 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x8E SWAP3 SWAP2 SWAP1 PUSH3 0x309 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0xA4 SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x309 JUMP JUMPDEST POP PUSH3 0xB6 SWAP2 POP PUSH1 0x0 SWAP1 POP CALLER PUSH3 0x112 JUMP JUMPDEST PUSH3 0xDF CALLER PUSH3 0xC9 PUSH1 0x12 PUSH1 0xA PUSH3 0x4D6 JUMP JUMPDEST PUSH3 0xD9 SWAP1 PUSH4 0x3B9ACA00 PUSH3 0x5BE JUMP JUMPDEST PUSH3 0x122 JUMP JUMPDEST PUSH3 0x10B PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP3 PUSH3 0x1F6 JUMP JUMPDEST POP PUSH3 0x633 JUMP JUMPDEST PUSH3 0x11E DUP3 DUP3 PUSH3 0x234 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0x154 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x14B SWAP1 PUSH3 0x42E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x162 PUSH1 0x0 DUP4 DUP4 PUSH3 0x2C0 JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH3 0x176 SWAP2 SWAP1 PUSH3 0x46E JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH3 0x1A5 SWAP1 DUP5 SWAP1 PUSH3 0x46E JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH3 0x1EA SWAP1 DUP6 SWAP1 PUSH3 0x465 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH3 0x215 PUSH3 0x205 DUP4 PUSH3 0x2C5 JUMP JUMPDEST PUSH3 0x20F PUSH3 0x2DA JUMP JUMPDEST PUSH3 0x2DE JUMP JUMPDEST PUSH3 0x112 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x14B SWAP1 PUSH3 0x3DF JUMP JUMPDEST PUSH3 0x240 DUP3 DUP3 PUSH3 0x2DE JUMP JUMPDEST PUSH3 0x11E JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0x27C PUSH3 0x2DA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x317 SWAP1 PUSH3 0x5E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x33B JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x386 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x356 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x386 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x386 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x386 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x369 JUMP JUMPDEST POP PUSH3 0x394 SWAP3 SWAP2 POP PUSH3 0x398 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x394 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x399 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x3C1 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x3D8 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH15 0x818591B5A5B881D1BC819DC985B9D PUSH1 0x8A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1F SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH3 0x484 JUMPI PUSH3 0x484 PUSH3 0x61D JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 JUMPDEST PUSH1 0x1 DUP1 DUP7 GT PUSH3 0x49D JUMPI POP PUSH3 0x4CD JUMP JUMPDEST DUP2 DUP8 DIV DUP3 GT ISZERO PUSH3 0x4B2 JUMPI PUSH3 0x4B2 PUSH3 0x61D JUMP JUMPDEST DUP1 DUP7 AND ISZERO PUSH3 0x4C0 JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP5 SWAP1 SWAP5 SHR SWAP4 DUP1 MUL PUSH3 0x48C JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3D8 PUSH1 0x0 NOT DUP5 DUP5 PUSH1 0x0 DUP3 PUSH3 0x4F2 JUMPI POP PUSH1 0x1 PUSH3 0x3D8 JUMP JUMPDEST DUP2 PUSH3 0x501 JUMPI POP PUSH1 0x0 PUSH3 0x3D8 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH3 0x51A JUMPI PUSH1 0x2 DUP2 EQ PUSH3 0x525 JUMPI PUSH3 0x559 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH3 0x3D8 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH3 0x539 JUMPI PUSH3 0x539 PUSH3 0x61D JUMP JUMPDEST PUSH1 0x1 DUP5 SHL SWAP2 POP DUP5 DUP3 GT ISZERO PUSH3 0x552 JUMPI PUSH3 0x552 PUSH3 0x61D JUMP JUMPDEST POP PUSH3 0x3D8 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH3 0x591 JUMPI POP DUP2 DUP2 EXP DUP4 DUP2 GT ISZERO PUSH3 0x58B JUMPI PUSH3 0x58B PUSH3 0x61D JUMP JUMPDEST PUSH3 0x3D8 JUMP JUMPDEST PUSH3 0x5A0 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH3 0x489 JUMP JUMPDEST DUP1 DUP7 DIV DUP3 GT ISZERO PUSH3 0x5B5 JUMPI PUSH3 0x5B5 PUSH3 0x61D JUMP JUMPDEST MUL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH3 0x5DB JUMPI PUSH3 0x5DB PUSH3 0x61D JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5F5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x617 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x13BF DUP1 PUSH3 0x643 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x198 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0xE3 JUMPI DUP1 PUSH4 0xA217FDDF GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xD5391393 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x31E JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x326 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x339 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2F0 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x2F8 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x30B JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2C2 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0x983B2D56 EQ PUSH2 0x2DD JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x289 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2AF JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x2E0F2625 GT PUSH2 0x145 JUMPI DUP1 PUSH4 0x3092AFD5 GT PUSH2 0x11F JUMPI DUP1 PUSH4 0x3092AFD5 EQ PUSH2 0x24E JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x261 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x276 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x2E0F2625 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0x2FF2E9DC EQ PUSH2 0x246 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0x176 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1EE JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x203 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x216 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1DB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B0 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0xD11 JUMP JUMPDEST PUSH2 0x34C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD51 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CE PUSH2 0x3AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD65 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x1E9 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x43C JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x459 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x211 CALLDATASIZE PUSH1 0x4 PUSH2 0xC73 JUMP JUMPDEST PUSH2 0x45F JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x224 CALLDATASIZE PUSH1 0x4 PUSH2 0xCD7 JUMP JUMPDEST PUSH2 0x501 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x516 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x23F CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x51B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F6 PUSH2 0x559 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x25C CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x576 JUMP JUMPDEST PUSH2 0x269 PUSH2 0x5A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0x11C8 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x284 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x297 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x5EA JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x2AA CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x639 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x2BD CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x68B JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x2D0 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x1CE PUSH2 0x6D1 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2EB CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x6E0 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x70A JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x306 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x70F JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x319 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x78A JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x79E JUMP JUMPDEST PUSH2 0x244 PUSH2 0x334 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x7C2 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x347 CALLDATASIZE PUSH1 0x4 PUSH2 0xC41 JUMP JUMPDEST PUSH2 0x7EA JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x3A2 JUMPI POP PUSH2 0x3A2 DUP3 PUSH2 0x815 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x3B9 SWAP1 PUSH2 0x1338 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3E5 SWAP1 PUSH2 0x1338 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x432 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x407 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x432 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x415 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x449 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH2 0x863 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46C DUP5 DUP5 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 PUSH2 0x48D PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x4D9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xFC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4F4 DUP6 PUSH2 0x4E5 PUSH2 0x85F JUMP JUMPDEST PUSH2 0x4EF DUP7 DUP6 PUSH2 0x1321 JUMP JUMPDEST PUSH2 0x863 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH2 0x52F PUSH2 0x527 DUP4 PUSH2 0x501 JUMP JUMPDEST PUSH2 0x2D0 PUSH2 0x85F JUMP JUMPDEST PUSH2 0x54B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xE15 JUMP JUMPDEST PUSH2 0x555 DUP3 DUP3 PUSH2 0xA3F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x565 PUSH1 0x12 PUSH1 0xA PUSH2 0x1234 JUMP JUMPDEST PUSH2 0x573 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x1302 JUMP JUMPDEST DUP2 JUMP JUMPDEST PUSH2 0x5A0 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP3 PUSH2 0x7C2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x12 SWAP1 JUMP JUMPDEST PUSH2 0x5B0 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x5E0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x1134 JUMP JUMPDEST PUSH2 0x555 DUP3 DUP3 PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x5F7 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x605 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP12 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x4EF SWAP2 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x665 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x681 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xF89 JUMP JUMPDEST PUSH2 0x450 DUP4 DUP4 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x3B9 SWAP1 PUSH2 0x1338 JUMP JUMPDEST PUSH2 0x5A0 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP3 PUSH2 0x51B JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x71E PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP9 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x76A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x10D7 JUMP JUMPDEST PUSH2 0x780 PUSH2 0x775 PUSH2 0x85F JUMP JUMPDEST DUP6 PUSH2 0x4EF DUP7 DUP6 PUSH2 0x1321 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x797 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST PUSH2 0x7CE PUSH2 0x527 DUP4 PUSH2 0x501 JUMP JUMPDEST PUSH2 0x5E0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xF2C 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 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x889 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x107A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xE72 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP5 SWAP1 SSTORE MLOAD PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x90A SWAP1 DUP6 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x93D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x101D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x963 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xDB8 JUMP JUMPDEST PUSH2 0x96E DUP4 DUP4 DUP4 PUSH2 0xC0B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x9A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xECF JUMP JUMPDEST PUSH2 0x9B1 DUP3 DUP3 PUSH2 0x1321 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP6 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x9E7 SWAP1 DUP5 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xA31 SWAP2 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH2 0xA49 DUP3 DUP3 PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x555 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xA82 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xAD0 DUP3 DUP3 PUSH2 0x6A6 JUMP JUMPDEST ISZERO PUSH2 0x555 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0xB07 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB71 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x1191 JUMP JUMPDEST PUSH2 0xB7D PUSH1 0x0 DUP4 DUP4 PUSH2 0xC0B JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB8F SWAP2 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xBBC SWAP1 DUP5 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0xBFF SWAP1 DUP6 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC38 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4FA DUP3 PUSH2 0xC10 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC53 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0xC5C DUP4 PUSH2 0xC10 JUMP JUMPDEST SWAP2 POP PUSH2 0xC6A PUSH1 0x20 DUP5 ADD PUSH2 0xC10 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC87 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0xC90 DUP5 PUSH2 0xC10 JUMP JUMPDEST SWAP3 POP PUSH2 0xC9E PUSH1 0x20 DUP6 ADD PUSH2 0xC10 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xCC0 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0xCC9 DUP4 PUSH2 0xC10 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCE8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD01 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0xC6A PUSH1 0x20 DUP5 ADD PUSH2 0xC10 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD22 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x4FA JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xD91 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xD75 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xDA2 JUMPI DUP4 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x22 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x16 SWAP1 DUP3 ADD MSTORE PUSH32 0x43616C6C6572206973206E6F742061206D696E74657200000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732061 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6C6C6F77616E6365000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x24 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1F SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x11E9 JUMPI PUSH2 0x11E9 PUSH2 0x1373 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 JUMPDEST PUSH1 0x1 DUP1 DUP7 GT PUSH2 0x1200 JUMPI POP PUSH2 0x122B JUMP JUMPDEST DUP2 DUP8 DIV DUP3 GT ISZERO PUSH2 0x1212 JUMPI PUSH2 0x1212 PUSH2 0x1373 JUMP JUMPDEST DUP1 DUP7 AND ISZERO PUSH2 0x121F JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP5 SWAP1 SWAP5 SHR SWAP4 DUP1 MUL PUSH2 0x11F1 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FA PUSH1 0x0 NOT DUP5 DUP5 PUSH1 0x0 DUP3 PUSH2 0x124D JUMPI POP PUSH1 0x1 PUSH2 0x4FA JUMP JUMPDEST DUP2 PUSH2 0x125A JUMPI POP PUSH1 0x0 PUSH2 0x4FA JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1270 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x127A JUMPI PUSH2 0x12A7 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x4FA JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128B PUSH2 0x1373 JUMP JUMPDEST PUSH1 0x1 DUP5 SHL SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x12A1 JUMPI PUSH2 0x12A1 PUSH2 0x1373 JUMP JUMPDEST POP PUSH2 0x4FA JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x12DA JUMPI POP DUP2 DUP2 EXP DUP4 DUP2 GT ISZERO PUSH2 0x12D5 JUMPI PUSH2 0x12D5 PUSH2 0x1373 JUMP JUMPDEST PUSH2 0x4FA JUMP JUMPDEST PUSH2 0x12E7 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x11EE JUMP JUMPDEST DUP1 DUP7 DIV DUP3 GT ISZERO PUSH2 0x12F9 JUMPI PUSH2 0x12F9 PUSH2 0x1373 JUMP JUMPDEST MUL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x131C JUMPI PUSH2 0x131C PUSH2 0x1373 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1333 JUMPI PUSH2 0x1333 PUSH2 0x1373 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x134C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x136D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH6 0xED79C46D91CE OR PC 0x5F SUB JUMPI PUSH4 0x9695A707 RETURNDATASIZE SUB CALLVALUE DUP10 DIV 0x1E 0x5D BLOCKHASH ORIGIN PUSH22 0x25B735B5A664736F6C63430008000033000000000000 ", - "sourceMap": "379:951:24:-:0;;;759:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1842:114:1;;;;;;;;;;;;;-1:-1:-1;;;1842:114:1;;;;;;;;;;;;;;;;-1:-1:-1;;;1842:114:1;;;1917:5;1909;:13;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1932:17:1;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;216:42:7;;-1:-1:-1;2408:4:0;;-1:-1:-1;247:10:7;216;:42::i;:::-;828:33:24::1;834:10;570:23;458:2;570;:23;:::i;:::-;556:38;::::0;:10:::1;:38;:::i;:::-;828:5;:33::i;:::-;871:30;638:24;894:6:::0;871:9:::1;:30::i;:::-;759:149:::0;379:951;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;7940:330:1:-;-1:-1:-1;;;;;8023:21:1;;8015:65;;;;-1:-1:-1;;;8015:65:1;;;;;;;:::i;:::-;;;;;;;;;8091:49;8120:1;8124:7;8133:6;8091:20;:49::i;:::-;8167:6;8151:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8183:18:1;;:9;:18;;;;;;;;;;:28;;8205:6;;8183:9;:28;;8205:6;;8183:28;:::i;:::-;;;;-1:-1:-1;;8226:37:1;;-1:-1:-1;;;;;8226:37:1;;;8243:1;;8226:37;;;;8256:6;;8226:37;:::i;:::-;;;;;;;;7940:330;;:::o;4556:228:0:-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;:::-;4648:7;:41::i;:::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;6952:224::-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;10423:92:1:-;;;;:::o;4185:121:0:-;4251:7;4277:12;;;:6;:12;;;;;:22;;;;4185:121::o;586:96:3:-;665:10;586:96;:::o;3867:137:0:-;3945:4;3968:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;379:951:24:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:951:24;;;-1:-1:-1;379:951:24;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:310:28;;137:2;125:9;116:7;112:23;108:32;105:2;;;158:6;150;143:22;105:2;189:16;;-1:-1:-1;;;;;234:31:28;;224:42;;214:2;;285:6;277;270:22;214:2;313:5;95:229;-1:-1:-1;;;95:229:28:o;329:411::-;531:2;513:21;;;570:2;550:18;;;543:30;609:34;604:2;589:18;;582:62;-1:-1:-1;;;675:2:28;660:18;;653:45;730:3;715:19;;503:237::o;745:355::-;947:2;929:21;;;986:2;966:18;;;959:30;1025:33;1020:2;1005:18;;998:61;1091:2;1076:18;;919:181::o;1105:177::-;1251:25;;;1239:2;1224:18;;1206:76::o;1287:128::-;;1358:1;1354:6;1351:1;1348:13;1345:2;;;1364:18;;:::i;:::-;-1:-1:-1;1400:9:28;;1335:80::o;1420:453::-;1516:6;1539:5;1553:314;1602:1;1639:2;1629:8;1626:16;1616:2;;1646:5;;;1616:2;1687:4;1682:3;1678:14;1672:4;1669:24;1666:2;;;1696:18;;:::i;:::-;1746:2;1736:8;1732:17;1729:2;;;1761:16;;;;1729:2;1840:17;;;;;1800:15;;1553:314;;;1497:376;;;;;;;:::o;1878:139::-;;1967:44;-1:-1:-1;;1994:8:28;1988:4;2022:922;2106:8;2096:2;;-1:-1:-1;2147:1:28;2161:5;;2096:2;2195:4;2185:2;;-1:-1:-1;2232:1:28;2246:5;;2185:2;2277:4;2295:1;2290:59;;;;2363:1;2358:183;;;;2270:271;;2290:59;2320:1;2311:10;;2334:5;;;2358:183;2395:3;2385:8;2382:17;2379:2;;;2402:18;;:::i;:::-;2458:1;2448:8;2444:16;2435:25;;2486:3;2479:5;2476:14;2473:2;;;2493:18;;:::i;:::-;2526:5;;;2270:271;;2625:2;2615:8;2612:16;2606:3;2600:4;2597:13;2593:36;2587:2;2577:8;2574:16;2569:2;2563:4;2560:12;2556:35;2553:77;2550:2;;;-1:-1:-1;2662:19:28;;;2697:14;;;2694:2;;;2714:18;;:::i;:::-;2747:5;;2550:2;2794:42;2832:3;2822:8;2816:4;2813:1;2794:42;:::i;:::-;2869:6;2864:3;2860:16;2851:7;2848:29;2845:2;;;2880:18;;:::i;:::-;2918:20;;2086:858;-1:-1:-1;;;;2086:858:28:o;2949:168::-;;3055:1;3051;3047:6;3043:14;3040:1;3037:21;3032:1;3025:9;3018:17;3014:45;3011:2;;;3062:18;;:::i;:::-;-1:-1:-1;3102:9:28;;3001:116::o;3122:380::-;3207:1;3197:12;;3254:1;3244:12;;;3265:2;;3319:4;3311:6;3307:17;3297:27;;3265:2;3372;3364:6;3361:14;3341:18;3338:38;3335:2;;;3418:10;3413:3;3409:20;3406:1;3399:31;3453:4;3450:1;3443:15;3481:4;3478:1;3471:15;3335:2;;3177:325;;;:::o;3507:127::-;3568:10;3563:3;3559:20;3556:1;3549:31;3599:4;3596:1;3589:15;3623:4;3620:1;3613:15;3539:95;379:951:24;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:10886:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "65:147:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "75:29:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "97:6:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "84:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "84:20:28" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "75:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "190:16:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "199:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "202:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "192:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "192:12:28" - }, - "nodeType": "YulExpressionStatement", - "src": "192:12:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "126:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "137:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "144:42:28", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "133:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "133:54:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "123:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "123:65:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "116:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "116:73:28" - }, - "nodeType": "YulIf", - "src": "113:2:28" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "44:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "55:5:28", - "type": "" - } - ], - "src": "14:198:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "287:128:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "333:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "342:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "350:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "335:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "335:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "335:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "308:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "317:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "304:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "304:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "329:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "300:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "300:32:28" - }, - "nodeType": "YulIf", - "src": "297:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "368:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "399:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "378:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "378:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "368:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "253:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "264:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "276:6:28", - "type": "" - } - ], - "src": "217:198:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "507:187:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "553:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "562:6:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "570:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "555:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "555:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "555:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "528:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "537:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "524:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "524:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "549:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "520:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "520:32:28" - }, - "nodeType": "YulIf", - "src": "517:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "588:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "619:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "598:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "598:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "588:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "638:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "673:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "684:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "669:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "669:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "648:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "648:40:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "638:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "465:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "476:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "488:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "496:6:28", - "type": "" - } - ], - "src": "420:274:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "803:238:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "849:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "858:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "866:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "851:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "851:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "851:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "824:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "833:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "820:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "820:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "845:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "816:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "816:32:28" - }, - "nodeType": "YulIf", - "src": "813:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "884:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "915:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "894:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "894:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "884:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "934:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "969:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "980:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "965:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "965:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "944:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "944:40:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "934:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "993:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1020:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1031:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1016:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1016:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1003:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1003:32:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "993:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "753:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "764:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "776:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "784:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "792:6:28", - "type": "" - } - ], - "src": "699:342:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1133:179:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1179:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1188:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1196:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1181:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1181:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1181:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1154:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1163:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1150:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1150:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1175:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1146:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1146:32:28" - }, - "nodeType": "YulIf", - "src": "1143:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1214:41:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1245:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1224:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1224:31:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1214:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1264:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1291:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1302:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1287:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1287:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1274:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1274:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1264:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1091:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1102:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1114:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1122:6:28", - "type": "" - } - ], - "src": "1046:266:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1387:120:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1433:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1442:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1450:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1435:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1435:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1435:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1408:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1417:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1404:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1404:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1429:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1400:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1400:32:28" - }, - "nodeType": "YulIf", - "src": "1397:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1468:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1491:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1478:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1478:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1468:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1353:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1364:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1376:6:28", - "type": "" - } - ], - "src": "1317:190:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1599:179:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1645:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1654:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1662:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1647:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1647:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1647:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1620:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1629:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1616:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1616:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1641:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1612:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1612:32:28" - }, - "nodeType": "YulIf", - "src": "1609:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1680:33:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1703:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1690:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1690:23:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1680:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1722:50:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1757:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1768:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1753:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1753:18:28" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1732:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1732:40:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1722:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1557:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1568:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1580:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1588:6:28", - "type": "" - } - ], - "src": "1512:266:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1852:283:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1898:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1907:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1915:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1900:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1900:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1900:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1873:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1882:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1869:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1869:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1894:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1865:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1865:32:28" - }, - "nodeType": "YulIf", - "src": "1862:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1933:36:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1959:9:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1946:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1946:23:28" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1937:5:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2079:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2088:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2096:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2081:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2081:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2081:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1991:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2002:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2009:66:28", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1998:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1998:78:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1988:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1988:89:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1981:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1981:97:28" - }, - "nodeType": "YulIf", - "src": "1978:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2114:15:28", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2124:5:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2114:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1818:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1829:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1841:6:28", - "type": "" - } - ], - "src": "1783:352:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2235:92:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2245:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2257:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2268:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2253:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2253:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2245:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2287:9:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2312:6:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2305:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2305:14:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2298:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2298:22:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2280:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2280:41:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2280:41:28" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2204:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2215:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2226:4:28", - "type": "" - } - ], - "src": "2140:187:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2433:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2443:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2455:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2466:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2451:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2451:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2443:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2485:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2496:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2478:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2478:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2478:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2402:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2413:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2424:4:28", - "type": "" - } - ], - "src": "2332:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2635:482:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2645:12:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2655:2:28", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "2649:2:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2673:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2684:2:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2666:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2666:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2666:21:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2696:27:28", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2716:6:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2710:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "2710:13:28" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2700:6:28", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2743:9:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2754:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2739:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2739:18:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2759:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2732:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2732:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2732:34:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2775:13:28", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2784:4:28" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "2779:1:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2847:90:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2876:9:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2887:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2872:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2872:17:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2891:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2868:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2868:26:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2910:6:28" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2918:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2906:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2906:14:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2922:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2902:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2902:23:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2896:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "2896:30:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2861:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2861:66:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2861:66:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2808:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2811:6:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2805:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2805:13:28" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "2819:19:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2821:15:28", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2830:1:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2833:2:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2826:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2826:10:28" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2821:1:28" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "2801:3:28", - "statements": [] - }, - "src": "2797:140:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2971:69:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3000:9:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3011:6:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2996:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2996:22:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3020:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2992:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2992:31:28" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3025:4:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2985:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2985:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2985:45:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2952:1:28" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2955:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2949:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2949:13:28" - }, - "nodeType": "YulIf", - "src": "2946:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "3049:62:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3065:9:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3084:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3092:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3080:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3080:15:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3101:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3097:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3097:7:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3076:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3076:29:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3061:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3061:45:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3108:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3057:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3057:54:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3049:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2604:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2615:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2626:4:28", - "type": "" - } - ], - "src": "2514:603:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3296:225:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3313:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3324:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3306:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3306:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3306:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3347:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3358:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3343:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3343:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3363:2:28", - "type": "", - "value": "35" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3336:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3336:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3336:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3386:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3397:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3382:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3382:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3402:34:28", - "type": "", - "value": "ERC20: transfer to the zero addr" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3375:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3375:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3375:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3457:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3468:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3453:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3453:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3473:5:28", - "type": "", - "value": "ess" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3446:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3446:33:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3446:33:28" - }, - { - "nodeType": "YulAssignment", - "src": "3488:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3500:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3511:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3496:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3496:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3488:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3273:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3287:4:28", - "type": "" - } - ], - "src": "3122:399:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3700:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3717:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3728:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3710:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3710:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3710:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3751:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3762:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3747:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3747:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3767:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3740:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3740:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3740:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3790:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3801:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3786:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3786:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3806:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3779:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3779:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3779:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3861:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3872:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3857:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3857:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3877:17:28", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3850:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "3850:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "3850:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "3904:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3916:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3927:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3912:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "3912:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3904:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3677:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3691:4:28", - "type": "" - } - ], - "src": "3526:411:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4116:224:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4133:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4144:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4126:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4126:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4126:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4167:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4178:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4163:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4163:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4183:2:28", - "type": "", - "value": "34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4156:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4156:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4156:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4206:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4217:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4202:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4202:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4222:34:28", - "type": "", - "value": "ERC20: approve to the zero addre" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4195:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4195:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4195:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4277:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4288:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4273:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4273:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4293:4:28", - "type": "", - "value": "ss" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4266:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4266:32:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4266:32:28" - }, - { - "nodeType": "YulAssignment", - "src": "4307:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4319:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4330:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4315:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4315:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4307:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4093:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4107:4:28", - "type": "" - } - ], - "src": "3942:398:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4519:228:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4536:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4547:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4529:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4529:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4529:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4570:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4581:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4566:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4566:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4586:2:28", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4559:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4559:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4559:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4609:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4620:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4605:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4605:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4625:34:28", - "type": "", - "value": "ERC20: transfer amount exceeds b" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4598:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4598:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4598:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4680:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4691:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4676:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4676:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4696:8:28", - "type": "", - "value": "alance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4669:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4669:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4669:36:28" - }, - { - "nodeType": "YulAssignment", - "src": "4714:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4726:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4737:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4722:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4722:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4714:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4496:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4510:4:28", - "type": "" - } - ], - "src": "4345:402:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4926:238:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4943:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4936:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4936:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4936:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4977:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4988:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4973:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "4973:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4993:2:28", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4966:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "4966:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "4966:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5016:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5027:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5012:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5012:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5032:34:28", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5005:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5005:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5005:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5087:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5098:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5083:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5083:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5103:18:28", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5076:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5076:46:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5076:46:28" - }, - { - "nodeType": "YulAssignment", - "src": "5131:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5143:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5154:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5139:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5139:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5131:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4903:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4917:4:28", - "type": "" - } - ], - "src": "4752:412:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5343:172:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5360:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5371:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5353:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5353:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5353:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5394:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5405:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5390:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5390:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5410:2:28", - "type": "", - "value": "22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5383:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5383:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5383:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5433:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5444:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5429:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5429:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5449:24:28", - "type": "", - "value": "Caller is not a minter" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5422:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5422:52:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5422:52:28" - }, - { - "nodeType": "YulAssignment", - "src": "5483:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5495:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5506:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5491:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5491:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5483:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5320:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5334:4:28", - "type": "" - } - ], - "src": "5169:346:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5694:230:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5711:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5722:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5704:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5704:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5704:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5745:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5756:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5741:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5741:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5761:2:28", - "type": "", - "value": "40" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5734:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5734:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5734:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5784:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5795:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5780:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5780:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5800:34:28", - "type": "", - "value": "ERC20: transfer amount exceeds a" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5773:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5773:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5773:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5855:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5866:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5851:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5851:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5871:10:28", - "type": "", - "value": "llowance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5844:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "5844:38:28" - }, - "nodeType": "YulExpressionStatement", - "src": "5844:38:28" - }, - { - "nodeType": "YulAssignment", - "src": "5891:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5903:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5914:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5899:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "5899:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5891:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5671:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5685:4:28", - "type": "" - } - ], - "src": "5520:404:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6103:227:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6120:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6131:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6113:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6113:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6113:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6154:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6165:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6150:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6150:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6170:2:28", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6143:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6143:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6143:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6193:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6204:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6189:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6189:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "6209:34:28", - "type": "", - "value": "ERC20: transfer from the zero ad" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6182:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6182:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6182:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6264:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6275:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6260:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6260:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "6280:7:28", - "type": "", - "value": "dress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6253:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6253:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6253:35:28" - }, - { - "nodeType": "YulAssignment", - "src": "6297:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6309:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6320:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6305:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6305:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6297:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6080:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6094:4:28", - "type": "" - } - ], - "src": "5929:401:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6509:226:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6526:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6537:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6519:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6519:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6519:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6560:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6571:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6556:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6556:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6576:2:28", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6549:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6549:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6549:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6599:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6610:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6595:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6595:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "6615:34:28", - "type": "", - "value": "ERC20: approve from the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6588:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6588:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6588:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6670:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6681:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6666:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6666:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "6686:6:28", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6659:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6659:34:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6659:34:28" - }, - { - "nodeType": "YulAssignment", - "src": "6702:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6714:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6725:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6710:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6710:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6702:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6486:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6500:4:28", - "type": "" - } - ], - "src": "6335:400:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6914:227:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6931:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6942:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6924:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6924:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6924:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6965:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6976:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6961:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "6961:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6981:2:28", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6954:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6954:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6954:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7004:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7015:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7000:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7000:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7020:34:28", - "type": "", - "value": "ERC20: decreased allowance below" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6993:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "6993:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "6993:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7075:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7086:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7071:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7071:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7091:7:28", - "type": "", - "value": " zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7064:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7064:35:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7064:35:28" - }, - { - "nodeType": "YulAssignment", - "src": "7108:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7120:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7131:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7116:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7116:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7108:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6891:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6905:4:28", - "type": "" - } - ], - "src": "6740:401:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7320:237:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7337:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7348:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7330:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7330:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7330:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7371:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7382:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7367:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7367:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7387:2:28", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7360:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7360:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7360:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7410:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7421:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7406:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7406:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7426:34:28", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7399:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7399:62:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7399:62:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7481:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7492:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7477:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7477:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7497:17:28", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7470:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7470:45:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7470:45:28" - }, - { - "nodeType": "YulAssignment", - "src": "7524:27:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7536:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7547:3:28", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7532:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7532:19:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7524:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7297:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7311:4:28", - "type": "" - } - ], - "src": "7146:411:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7736:181:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7753:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7764:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7746:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7746:21:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7746:21:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7787:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7798:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7783:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7783:18:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7803:2:28", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7776:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7776:30:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7776:30:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7826:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7837:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7822:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7822:18:28" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7842:33:28", - "type": "", - "value": "ERC20: mint to the zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7815:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "7815:61:28" - }, - "nodeType": "YulExpressionStatement", - "src": "7815:61:28" - }, - { - "nodeType": "YulAssignment", - "src": "7885:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7897:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7908:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7893:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "7893:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7885:4:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7713:9:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7727:4:28", - "type": "" - } - ], - "src": "7562:355:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8023:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8033:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8045:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8056:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8041:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8041:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8033:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8075:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8086:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8068:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8068:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8068:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7992:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8003:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8014:4:28", - "type": "" - } - ], - "src": "7922:177:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8201:87:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8211:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8223:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8234:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8219:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8219:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8211:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8253:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8268:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8276:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8264:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8264:17:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8246:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8246:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8246:36:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8170:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8181:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8192:4:28", - "type": "" - } - ], - "src": "8104:184:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8341:80:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8368:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "8370:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "8370:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8370:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "8357:1:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "8364:1:28" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "8360:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8360:6:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8354:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "8354:13:28" - }, - "nodeType": "YulIf", - "src": "8351:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "8399:16:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "8410:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "8413:1:28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8406:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8406:9:28" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "8399:3:28" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "8324:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "8327:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "8333:3:28", - "type": "" - } - ], - "src": "8293:128:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8503:376:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8513:15:28", - "value": { - "name": "_power", - "nodeType": "YulIdentifier", - "src": "8522:6:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "8513:5:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8537:13:28", - "value": { - "name": "_base", - "nodeType": "YulIdentifier", - "src": "8545:5:28" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8537:4:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8584:289:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8598:11:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8608:1:28", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "8602:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8650:9:28", - "statements": [ - { - "nodeType": "YulBreak", - "src": "8652:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "8635:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8645:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8632:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "8632:16:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8625:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "8625:24:28" - }, - "nodeType": "YulIf", - "src": "8622:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8700:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "8702:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "8702:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "8702:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8678:4:28" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "8688:3:28" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8693:4:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "8684:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8684:14:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8675:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "8675:24:28" - }, - "nodeType": "YulIf", - "src": "8672:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8756:29:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8758:25:28", - "value": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "8771:5:28" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8778:4:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "8767:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8767:16:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "8758:5:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "8742:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8752:2:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8738:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8738:17:28" - }, - "nodeType": "YulIf", - "src": "8735:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "8798:23:28", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8810:4:28" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8816:4:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "8806:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8806:15:28" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8798:4:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8834:29:28", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8850:2:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "8854:8:28" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "8846:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "8846:17:28" - }, - "variableNames": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "8834:8:28" - } - ] - } - ] - }, - "condition": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "8567:4:28", - "type": "", - "value": "true" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "8572:3:28", - "statements": [] - }, - "pre": { - "nodeType": "YulBlock", - "src": "8563:3:28", - "statements": [] - }, - "src": "8559:314:28" - } - ] - }, - "name": "checked_exp_helper", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "_power", - "nodeType": "YulTypedName", - "src": "8454:6:28", - "type": "" - }, - { - "name": "_base", - "nodeType": "YulTypedName", - "src": "8462:5:28", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "8469:8:28", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "8479:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "8487:5:28", - "type": "" - }, - { - "name": "base", - "nodeType": "YulTypedName", - "src": "8494:4:28", - "type": "" - } - ], - "src": "8426:453:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8954:69:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8964:53:28", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8994:4:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9000:8:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9014:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "9010:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9010:6:28" - } - ], - "functionName": { - "name": "checked_exp_unsigned", - "nodeType": "YulIdentifier", - "src": "8973:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "8973:44:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "8964:5:28" - } - ] - } - ] - }, - "name": "checked_exp_t_uint256_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "8925:4:28", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "8931:8:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "8944:5:28", - "type": "" - } - ], - "src": "8884:139:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9092:858:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9130:52:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9144:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9153:1:28", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9144:5:28" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "9167:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9112:8:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9105:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9105:16:28" - }, - "nodeType": "YulIf", - "src": "9102:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9215:52:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9229:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9238:1:28", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9229:5:28" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "9252:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9201:4:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9194:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "9194:12:28" - }, - "nodeType": "YulIf", - "src": "9191:2:28" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9303:52:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9317:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9326:1:28", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9317:5:28" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "9340:5:28" - } - ] - }, - "nodeType": "YulCase", - "src": "9296:59:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9301:1:28", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9371:176:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9406:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9408:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "9408:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9408:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9391:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9401:3:28", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9388:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "9388:17:28" - }, - "nodeType": "YulIf", - "src": "9385:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "9441:25:28", - "value": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9454:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9464:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "9450:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9450:16:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9441:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9497:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9499:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "9499:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9499:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9485:5:28" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "9492:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9482:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "9482:14:28" - }, - "nodeType": "YulIf", - "src": "9479:2:28" - }, - { - "nodeType": "YulLeave", - "src": "9532:5:28" - } - ] - }, - "nodeType": "YulCase", - "src": "9364:183:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9369:1:28", - "type": "", - "value": "2" - } - } - ], - "expression": { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9283:4:28" - }, - "nodeType": "YulSwitch", - "src": "9276:271:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9645:123:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9659:28:28", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9672:4:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9678:8:28" - } - ], - "functionName": { - "name": "exp", - "nodeType": "YulIdentifier", - "src": "9668:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9668:19:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9659:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9718:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9720:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "9720:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9720:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9706:5:28" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "9713:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9703:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "9703:14:28" - }, - "nodeType": "YulIf", - "src": "9700:2:28" - }, - { - "nodeType": "YulLeave", - "src": "9753:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9569:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9575:2:28", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9566:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "9566:12:28" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9583:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9593:2:28", - "type": "", - "value": "78" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9580:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "9580:16:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9562:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9562:35:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9606:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9612:3:28", - "type": "", - "value": "307" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9603:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "9603:13:28" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9621:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9631:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9618:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "9618:16:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9599:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9599:36:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "9559:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "9559:77:28" - }, - "nodeType": "YulIf", - "src": "9556:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9777:65:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9819:1:28", - "type": "", - "value": "1" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9822:4:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9828:8:28" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "9838:3:28" - } - ], - "functionName": { - "name": "checked_exp_helper", - "nodeType": "YulIdentifier", - "src": "9800:18:28" - }, - "nodeType": "YulFunctionCall", - "src": "9800:42:28" - }, - "variables": [ - { - "name": "power_1", - "nodeType": "YulTypedName", - "src": "9781:7:28", - "type": "" - }, - { - "name": "base_1", - "nodeType": "YulTypedName", - "src": "9790:6:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9884:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9886:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "9886:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "9886:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "9857:7:28" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "9870:3:28" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "9875:6:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "9866:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9866:16:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9854:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "9854:29:28" - }, - "nodeType": "YulIf", - "src": "9851:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "9915:29:28", - "value": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "9928:7:28" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "9937:6:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "9924:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "9924:20:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9915:5:28" - } - ] - } - ] - }, - "name": "checked_exp_unsigned", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "9058:4:28", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "9064:8:28", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "9074:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "9082:5:28", - "type": "" - } - ], - "src": "9028:922:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10007:116:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10066:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "10068:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "10068:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10068:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10038:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10031:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10031:9:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10024:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10024:17:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10046:1:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10057:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "10053:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10053:6:28" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10061:1:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "10049:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10049:14:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10043:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "10043:21:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10020:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10020:45:28" - }, - "nodeType": "YulIf", - "src": "10017:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "10097:20:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10112:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10115:1:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "10108:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10108:9:28" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "10097:7:28" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "9986:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "9989:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "9995:7:28", - "type": "" - } - ], - "src": "9955:168:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10177:76:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10199:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "10201:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "10201:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10201:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10193:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10196:1:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "10190:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "10190:8:28" - }, - "nodeType": "YulIf", - "src": "10187:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "10230:17:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10242:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10245:1:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10238:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10238:9:28" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "10230:4:28" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "10159:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "10162:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "10168:4:28", - "type": "" - } - ], - "src": "10128:125:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10313:382:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10323:22:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "10337:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10343:1:28", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "10333:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10333:12:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10323:6:28" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10354:38:28", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "10384:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10390:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10380:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10380:12:28" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "10358:18:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10431:31:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10433:27:28", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10447:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10455:4:28", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10443:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "10443:17:28" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10433:6:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "10411:18:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10404:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10404:26:28" - }, - "nodeType": "YulIf", - "src": "10401:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10521:168:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10542:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10545:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10535:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10535:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10535:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10643:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10646:4:28", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10636:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10636:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10636:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10671:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10674:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10664:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10664:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10664:15:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "10477:18:28" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10500:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10508:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "10497:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "10497:14:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "10474:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "10474:38:28" - }, - "nodeType": "YulIf", - "src": "10471:2:28" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "10293:4:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10302:6:28", - "type": "" - } - ], - "src": "10258:437:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10732:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10749:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10752:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10742:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10742:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10742:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10846:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10849:4:28", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10839:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10839:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10839:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10870:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10873:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10863:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "10863:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "10863:15:28" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "10700:184:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := abi_decode_t_address(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := abi_decode_t_address(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := tail\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 64), tail)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"Caller is not a minter\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds a\")\n mstore(add(headStart, 96), \"llowance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_exp_helper(_power, _base, exponent, max) -> power, base\n {\n power := _power\n base := _base\n for { } true { }\n {\n let _1 := 1\n if iszero(gt(exponent, _1)) { break }\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, _1) { power := mul(power, base) }\n base := mul(base, base)\n exponent := shr(_1, exponent)\n }\n }\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power\n {\n power := checked_exp_unsigned(base, exponent, not(0))\n }\n function checked_exp_unsigned(base, exponent, max) -> power\n {\n if iszero(exponent)\n {\n power := 1\n leave\n }\n if iszero(base)\n {\n power := 0\n leave\n }\n switch base\n case 1 {\n power := 1\n leave\n }\n case 2 {\n if gt(exponent, 255) { panic_error_0x11() }\n power := shl(exponent, 1)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n let power_1, base_1 := checked_exp_helper(1, base, exponent, max)\n if gt(power_1, div(max, base_1)) { panic_error_0x11() }\n power := mul(power_1, base_1)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106101985760003560e01c806339509351116100e3578063a217fddf1161008c578063d539139311610066578063d53913931461031e578063d547741f14610326578063dd62ed3e1461033957610198565b8063a217fddf146102f0578063a457c2d7146102f8578063a9059cbb1461030b57610198565b806391d14854116100bd57806391d14854146102c257806395d89b41146102d5578063983b2d56146102dd57610198565b8063395093511461028957806340c10f191461029c57806370a08231146102af57610198565b80632e0f2625116101455780633092afd51161011f5780633092afd51461024e578063313ce5671461026157806336568abe1461027657610198565b80632e0f2625146102295780632f2ff15d146102315780632ff2e9dc1461024657610198565b806318160ddd1161017657806318160ddd146101ee57806323b872dd14610203578063248a9ca31461021657610198565b806301ffc9a71461019d57806306fdde03146101c6578063095ea7b3146101db575b600080fd5b6101b06101ab366004610d11565b61034c565b6040516101bd9190610d51565b60405180910390f35b6101ce6103aa565b6040516101bd9190610d65565b6101b06101e9366004610cae565b61043c565b6101f6610459565b6040516101bd9190610d5c565b6101b0610211366004610c73565b61045f565b6101f6610224366004610cd7565b610501565b6101f6610516565b61024461023f366004610cef565b61051b565b005b6101f6610559565b61024461025c366004610c27565b610576565b6102696105a3565b6040516101bd91906111c8565b610244610284366004610cef565b6105a8565b6101b0610297366004610cae565b6105ea565b6101b06102aa366004610cae565b610639565b6101f66102bd366004610c27565b61068b565b6101b06102d0366004610cef565b6106a6565b6101ce6106d1565b6102446102eb366004610c27565b6106e0565b6101f661070a565b6101b0610306366004610cae565b61070f565b6101b0610319366004610cae565b61078a565b6101f661079e565b610244610334366004610cef565b6107c2565b6101f6610347366004610c41565b6107ea565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103a257506103a282610815565b90505b919050565b6060600380546103b990611338565b80601f01602080910402602001604051908101604052809291908181526020018280546103e590611338565b80156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b5050505050905090565b600061045061044961085f565b8484610863565b50600192915050565b60025490565b600061046c848484610917565b6001600160a01b03841660009081526001602052604081208161048d61085f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104d95760405162461bcd60e51b81526004016104d090610fc0565b60405180910390fd5b6104f4856104e561085f565b6104ef8685611321565b610863565b60019150505b9392505050565b60009081526005602052604090206001015490565b601281565b61052f61052783610501565b6102d061085f565b61054b5760405162461bcd60e51b81526004016104d090610e15565b6105558282610a3f565b5050565b6105656012600a611234565b61057390633b9aca00611302565b81565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826107c2565b50565b601290565b6105b061085f565b6001600160a01b0316816001600160a01b0316146105e05760405162461bcd60e51b81526004016104d090611134565b6105558282610ac6565b60006104506105f761085f565b84846001600061060561085f565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546104ef91906111d6565b60006106657f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336106a6565b6106815760405162461bcd60e51b81526004016104d090610f89565b6104508383610b4b565b6001600160a01b031660009081526020819052604090205490565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546103b990611338565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261051b565b600081565b6000806001600061071e61085f565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561076a5760405162461bcd60e51b81526004016104d0906110d7565b61078061077561085f565b856104ef8685611321565b5060019392505050565b600061045061079761085f565b8484610917565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6107ce61052783610501565b6105e05760405162461bcd60e51b81526004016104d090610f2c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6001600160a01b0383166108895760405162461bcd60e51b81526004016104d09061107a565b6001600160a01b0382166108af5760405162461bcd60e51b81526004016104d090610e72565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061090a908590610d5c565b60405180910390a3505050565b6001600160a01b03831661093d5760405162461bcd60e51b81526004016104d09061101d565b6001600160a01b0382166109635760405162461bcd60e51b81526004016104d090610db8565b61096e838383610c0b565b6001600160a01b038316600090815260208190526040902054818110156109a75760405162461bcd60e51b81526004016104d090610ecf565b6109b18282611321565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906109e79084906111d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a319190610d5c565b60405180910390a350505050565b610a4982826106a6565b6105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a8261085f565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610ad082826106a6565b156105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19169055610b0761085f565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6001600160a01b038216610b715760405162461bcd60e51b81526004016104d090611191565b610b7d60008383610c0b565b8060026000828254610b8f91906111d6565b90915550506001600160a01b03821660009081526020819052604081208054839290610bbc9084906111d6565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bff908590610d5c565b60405180910390a35050565b505050565b80356001600160a01b03811681146103a557600080fd5b600060208284031215610c38578081fd5b6104fa82610c10565b60008060408385031215610c53578081fd5b610c5c83610c10565b9150610c6a60208401610c10565b90509250929050565b600080600060608486031215610c87578081fd5b610c9084610c10565b9250610c9e60208501610c10565b9150604084013590509250925092565b60008060408385031215610cc0578182fd5b610cc983610c10565b946020939093013593505050565b600060208284031215610ce8578081fd5b5035919050565b60008060408385031215610d01578182fd5b82359150610c6a60208401610c10565b600060208284031215610d22578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104fa578182fd5b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015610d9157858101830151858201604001528201610d75565b81811115610da25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526016908201527f43616c6c6572206973206e6f742061206d696e74657200000000000000000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60ff91909116815260200190565b600082198211156111e9576111e9611373565b500190565b80825b6001808611611200575061122b565b81870482111561121257611212611373565b8086161561121f57918102915b9490941c9380026111f1565b94509492505050565b60006104fa600019848460008261124d575060016104fa565b8161125a575060006104fa565b8160018114611270576002811461127a576112a7565b60019150506104fa565b60ff84111561128b5761128b611373565b6001841b9150848211156112a1576112a1611373565b506104fa565b5060208310610133831016604e8410600b84101617156112da575081810a838111156112d5576112d5611373565b6104fa565b6112e784848460016111ee565b8086048211156112f9576112f9611373565b02949350505050565b600081600019048311821515161561131c5761131c611373565b500290565b60008282101561133357611333611373565b500390565b60028104600182168061134c57607f821691505b6020821081141561136d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea264697066735822122065ed79c46d91ce17585f0357639695a7073d033489041e5d40327525b735b5a664736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x198 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0xE3 JUMPI DUP1 PUSH4 0xA217FDDF GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xD5391393 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x31E JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x326 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x339 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2F0 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x2F8 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x30B JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2C2 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0x983B2D56 EQ PUSH2 0x2DD JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x289 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2AF JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x2E0F2625 GT PUSH2 0x145 JUMPI DUP1 PUSH4 0x3092AFD5 GT PUSH2 0x11F JUMPI DUP1 PUSH4 0x3092AFD5 EQ PUSH2 0x24E JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x261 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x276 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x2E0F2625 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0x2FF2E9DC EQ PUSH2 0x246 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0x176 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1EE JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x203 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x216 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1DB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B0 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0xD11 JUMP JUMPDEST PUSH2 0x34C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD51 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CE PUSH2 0x3AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD65 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x1E9 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x43C JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x459 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x211 CALLDATASIZE PUSH1 0x4 PUSH2 0xC73 JUMP JUMPDEST PUSH2 0x45F JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x224 CALLDATASIZE PUSH1 0x4 PUSH2 0xCD7 JUMP JUMPDEST PUSH2 0x501 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x516 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x23F CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x51B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F6 PUSH2 0x559 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x25C CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x576 JUMP JUMPDEST PUSH2 0x269 PUSH2 0x5A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0x11C8 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x284 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x297 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x5EA JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x2AA CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x639 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x2BD CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x68B JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x2D0 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x1CE PUSH2 0x6D1 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2EB CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x6E0 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x70A JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x306 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x70F JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x319 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x78A JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x79E JUMP JUMPDEST PUSH2 0x244 PUSH2 0x334 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x7C2 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x347 CALLDATASIZE PUSH1 0x4 PUSH2 0xC41 JUMP JUMPDEST PUSH2 0x7EA JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x3A2 JUMPI POP PUSH2 0x3A2 DUP3 PUSH2 0x815 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x3B9 SWAP1 PUSH2 0x1338 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3E5 SWAP1 PUSH2 0x1338 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x432 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x407 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x432 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x415 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x449 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH2 0x863 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46C DUP5 DUP5 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 PUSH2 0x48D PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x4D9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xFC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4F4 DUP6 PUSH2 0x4E5 PUSH2 0x85F JUMP JUMPDEST PUSH2 0x4EF DUP7 DUP6 PUSH2 0x1321 JUMP JUMPDEST PUSH2 0x863 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH2 0x52F PUSH2 0x527 DUP4 PUSH2 0x501 JUMP JUMPDEST PUSH2 0x2D0 PUSH2 0x85F JUMP JUMPDEST PUSH2 0x54B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xE15 JUMP JUMPDEST PUSH2 0x555 DUP3 DUP3 PUSH2 0xA3F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x565 PUSH1 0x12 PUSH1 0xA PUSH2 0x1234 JUMP JUMPDEST PUSH2 0x573 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x1302 JUMP JUMPDEST DUP2 JUMP JUMPDEST PUSH2 0x5A0 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP3 PUSH2 0x7C2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x12 SWAP1 JUMP JUMPDEST PUSH2 0x5B0 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x5E0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x1134 JUMP JUMPDEST PUSH2 0x555 DUP3 DUP3 PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x5F7 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x605 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP12 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x4EF SWAP2 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x665 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x681 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xF89 JUMP JUMPDEST PUSH2 0x450 DUP4 DUP4 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x3B9 SWAP1 PUSH2 0x1338 JUMP JUMPDEST PUSH2 0x5A0 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP3 PUSH2 0x51B JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x71E PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP9 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x76A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x10D7 JUMP JUMPDEST PUSH2 0x780 PUSH2 0x775 PUSH2 0x85F JUMP JUMPDEST DUP6 PUSH2 0x4EF DUP7 DUP6 PUSH2 0x1321 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x797 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST PUSH2 0x7CE PUSH2 0x527 DUP4 PUSH2 0x501 JUMP JUMPDEST PUSH2 0x5E0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xF2C 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 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x889 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x107A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xE72 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP5 SWAP1 SSTORE MLOAD PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x90A SWAP1 DUP6 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x93D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x101D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x963 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xDB8 JUMP JUMPDEST PUSH2 0x96E DUP4 DUP4 DUP4 PUSH2 0xC0B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x9A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xECF JUMP JUMPDEST PUSH2 0x9B1 DUP3 DUP3 PUSH2 0x1321 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP6 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x9E7 SWAP1 DUP5 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xA31 SWAP2 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH2 0xA49 DUP3 DUP3 PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x555 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xA82 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xAD0 DUP3 DUP3 PUSH2 0x6A6 JUMP JUMPDEST ISZERO PUSH2 0x555 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0xB07 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB71 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x1191 JUMP JUMPDEST PUSH2 0xB7D PUSH1 0x0 DUP4 DUP4 PUSH2 0xC0B JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB8F SWAP2 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xBBC SWAP1 DUP5 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0xBFF SWAP1 DUP6 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC38 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4FA DUP3 PUSH2 0xC10 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC53 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0xC5C DUP4 PUSH2 0xC10 JUMP JUMPDEST SWAP2 POP PUSH2 0xC6A PUSH1 0x20 DUP5 ADD PUSH2 0xC10 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC87 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0xC90 DUP5 PUSH2 0xC10 JUMP JUMPDEST SWAP3 POP PUSH2 0xC9E PUSH1 0x20 DUP6 ADD PUSH2 0xC10 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xCC0 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0xCC9 DUP4 PUSH2 0xC10 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCE8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD01 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0xC6A PUSH1 0x20 DUP5 ADD PUSH2 0xC10 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD22 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x4FA JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xD91 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xD75 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xDA2 JUMPI DUP4 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x22 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x16 SWAP1 DUP3 ADD MSTORE PUSH32 0x43616C6C6572206973206E6F742061206D696E74657200000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732061 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6C6C6F77616E6365000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x24 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1F SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x11E9 JUMPI PUSH2 0x11E9 PUSH2 0x1373 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 JUMPDEST PUSH1 0x1 DUP1 DUP7 GT PUSH2 0x1200 JUMPI POP PUSH2 0x122B JUMP JUMPDEST DUP2 DUP8 DIV DUP3 GT ISZERO PUSH2 0x1212 JUMPI PUSH2 0x1212 PUSH2 0x1373 JUMP JUMPDEST DUP1 DUP7 AND ISZERO PUSH2 0x121F JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP5 SWAP1 SWAP5 SHR SWAP4 DUP1 MUL PUSH2 0x11F1 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FA PUSH1 0x0 NOT DUP5 DUP5 PUSH1 0x0 DUP3 PUSH2 0x124D JUMPI POP PUSH1 0x1 PUSH2 0x4FA JUMP JUMPDEST DUP2 PUSH2 0x125A JUMPI POP PUSH1 0x0 PUSH2 0x4FA JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1270 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x127A JUMPI PUSH2 0x12A7 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x4FA JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128B PUSH2 0x1373 JUMP JUMPDEST PUSH1 0x1 DUP5 SHL SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x12A1 JUMPI PUSH2 0x12A1 PUSH2 0x1373 JUMP JUMPDEST POP PUSH2 0x4FA JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x12DA JUMPI POP DUP2 DUP2 EXP DUP4 DUP2 GT ISZERO PUSH2 0x12D5 JUMPI PUSH2 0x12D5 PUSH2 0x1373 JUMP JUMPDEST PUSH2 0x4FA JUMP JUMPDEST PUSH2 0x12E7 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x11EE JUMP JUMPDEST DUP1 DUP7 DIV DUP3 GT ISZERO PUSH2 0x12F9 JUMPI PUSH2 0x12F9 PUSH2 0x1373 JUMP JUMPDEST MUL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x131C JUMPI PUSH2 0x131C PUSH2 0x1373 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1333 JUMPI PUSH2 0x1333 PUSH2 0x1373 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x134C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x136D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH6 0xED79C46D91CE OR PC 0x5F SUB JUMPI PUSH4 0x9695A707 RETURNDATASIZE SUB CALLVALUE DUP10 DIV 0x1E 0x5D BLOCKHASH ORIGIN PUSH22 0x25B735B5A664736F6C63430008000033000000000000 ", - "sourceMap": "379:951:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2021:89:1;;;:::i;:::-;;;;;;;:::i;4091:166::-;;;;;;:::i;:::-;;:::i;3082:106::-;;;:::i;:::-;;;;;;;:::i;4724:414::-;;;;;;:::i;:::-;;:::i;4185:121:0:-;;;;;;:::i;:::-;;:::i;423:37:24:-;;;:::i;4556:228:0:-;;;;;;:::i;:::-;;:::i;:::-;;515:79:24;;;:::i;1017:97::-;;;;;;:::i;:::-;;:::i;2940:82:1:-;;;:::i;:::-;;;;;;;:::i;5740:214:0:-;;;;;;:::i;:::-;;:::i;5533:212:1:-;;;;;;:::i;:::-;;:::i;1120:208:24:-;;;;;;:::i;:::-;;:::i;3246:125:1:-;;;;;;:::i;:::-;;:::i;3867:137:0:-;;;;;;:::i;:::-;;:::i;2223:93:1:-;;;:::i;918::24:-;;;;;;:::i;:::-;;:::i;2363:49:0:-;;;:::i;6232:371:1:-;;;;;;:::i;:::-;;:::i;3574:172::-;;;;;;:::i;:::-;;:::i;600:62:24:-;;;:::i;5018:231:0:-;;;;;;:::i;:::-;;:::i;3804:149:1:-;;;;;;:::i;:::-;;:::i;3566:214:0:-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;;3566:214;;;;:::o;2021:89:1:-;2066:13;2098:5;2091:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:89;:::o;4091:166::-;4174:4;4190:39;4199:12;:10;:12::i;:::-;4213:7;4222:6;4190:8;:39::i;:::-;-1:-1:-1;4246:4:1;4091:166;;;;:::o;3082:106::-;3169:12;;3082:106;:::o;4724:414::-;4830:4;4846:36;4856:6;4864:9;4875:6;4846:9;:36::i;:::-;-1:-1:-1;;;;;4920:19:1;;4893:24;4920:19;;;:11;:19;;;;;4893:24;4940:12;:10;:12::i;:::-;-1:-1:-1;;;;;4920:33:1;-1:-1:-1;;;;;4920:33:1;;;;;;;;;;;;;4893:60;;4991:6;4971:16;:26;;4963:79;;;;-1:-1:-1;;;4963:79:1;;;;;;;:::i;:::-;;;;;;;;;5052:57;5061:6;5069:12;:10;:12::i;:::-;5083:25;5102:6;5083:16;:25;:::i;:::-;5052:8;:57::i;:::-;5127:4;5120:11;;;4724:414;;;;;;:::o;4185:121:0:-;4251:7;4277:12;;;:6;:12;;;;;:22;;;;4185:121::o;423:37:24:-;458:2;423:37;:::o;4556:228:0:-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;515:79:24:-;570:23;458:2;570;:23;:::i;:::-;556:38;;:10;:38;:::i;:::-;515:79;:::o;1017:97::-;1075:32;638:24;1099:7;1075:10;:32::i;:::-;1017:97;:::o;2940:82:1:-;3013:2;2940:82;:::o;5740:214:0:-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;5533:212:1:-;5621:4;5637:80;5646:12;:10;:12::i;:::-;5660:7;5706:10;5669:11;:25;5681:12;:10;:12::i;:::-;-1:-1:-1;;;;;5669:25:1;;;;;;;;;;;;;;;;;-1:-1:-1;5669:25:1;;;:34;;;;;;;;;;:47;;;;:::i;1120:208:24:-;1185:4;1209:32;638:24;1230:10;1209:7;:32::i;:::-;1201:67;;;;-1:-1:-1;;;1201:67:24;;;;;;;:::i;:::-;1278:22;1284:7;1293:6;1278:5;:22::i;3246:125:1:-;-1:-1:-1;;;;;3346:18:1;3320:7;3346:18;;;;;;;;;;;;3246:125::o;3867:137:0:-;3945:4;3968:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;2223:93:1:-;2270:13;2302:7;2295:14;;;;;:::i;918:93:24:-;973:31;638:24;996:7;973:9;:31::i;2363:49:0:-;2408:4;2363:49;:::o;6232:371:1:-;6325:4;6341:24;6368:11;:25;6380:12;:10;:12::i;:::-;-1:-1:-1;;;;;6368:25:1;;;;;;;;;;;;;;;;;-1:-1:-1;6368:25:1;;;:34;;;;;;;;;;;-1:-1:-1;6420:35:1;;;;6412:85;;;;-1:-1:-1;;;6412:85:1;;;;;;;:::i;:::-;6507:67;6516:12;:10;:12::i;:::-;6530:7;6539:34;6558:15;6539:16;:34;:::i;6507:67::-;-1:-1:-1;6592:4:1;;6232:371;-1:-1:-1;;;6232:371:1:o;3574:172::-;3660:4;3676:42;3686:12;:10;:12::i;:::-;3700:9;3711:6;3676:9;:42::i;600:62:24:-;638:24;600:62;:::o;5018:231:0:-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;3804:149:1:-;-1:-1:-1;;;;;3919:18:1;;;3893:7;3919:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3804:149::o;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;586:96:3:-;665:10;586:96;:::o;9496:340:1:-;-1:-1:-1;;;;;9597:19:1;;9589:68;;;;-1:-1:-1;;;9589:68:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;9675:21:1;;9667:68;;;;-1:-1:-1;;;9667:68:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;9746:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;9797:32;;;;;9776:6;;9797:32;:::i;:::-;;;;;;;;9496:340;;;:::o;7077:592::-;-1:-1:-1;;;;;7182:20:1;;7174:70;;;;-1:-1:-1;;;7174:70:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;7262:23:1;;7254:71;;;;-1:-1:-1;;;7254:71:1;;;;;;;:::i;:::-;7336:47;7357:6;7365:9;7376:6;7336:20;:47::i;:::-;-1:-1:-1;;;;;7418:17:1;;7394:21;7418:17;;;;;;;;;;;7453:23;;;;7445:74;;;;-1:-1:-1;;;7445:74:1;;;;;;;:::i;:::-;7549:22;7565:6;7549:13;:22;:::i;:::-;-1:-1:-1;;;;;7529:17:1;;;:9;:17;;;;;;;;;;;:42;;;;7581:20;;;;;;;;:30;;7605:6;;7529:9;7581:30;;7605:6;;7581:30;:::i;:::-;;;;;;;;7644:9;-1:-1:-1;;;;;7627:35:1;7636:6;-1:-1:-1;;;;;7627:35:1;;7655:6;7627:35;;;;;;:::i;:::-;;;;;;;;7077:592;;;;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;7940:330:1:-;-1:-1:-1;;;;;8023:21:1;;8015:65;;;;-1:-1:-1;;;8015:65:1;;;;;;;:::i;:::-;8091:49;8120:1;8124:7;8133:6;8091:20;:49::i;:::-;8167:6;8151:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8183:18:1;;:9;:18;;;;;;;;;;:28;;8205:6;;8183:9;:28;;8205:6;;8183:28;:::i;:::-;;;;-1:-1:-1;;8226:37:1;;-1:-1:-1;;;;;8226:37:1;;;8243:1;;8226:37;;;;8256:6;;8226:37;:::i;:::-;;;;;;;;7940:330;;:::o;10423:92::-;;;;:::o;14:198:28:-;84:20;;-1:-1:-1;;;;;133:54:28;;123:65;;113:2;;202:1;199;192:12;217:198;;329:2;317:9;308:7;304:23;300:32;297:2;;;350:6;342;335:22;297:2;378:31;399:9;378:31;:::i;420:274::-;;;549:2;537:9;528:7;524:23;520:32;517:2;;;570:6;562;555:22;517:2;598:31;619:9;598:31;:::i;:::-;588:41;;648:40;684:2;673:9;669:18;648:40;:::i;:::-;638:50;;507:187;;;;;:::o;699:342::-;;;;845:2;833:9;824:7;820:23;816:32;813:2;;;866:6;858;851:22;813:2;894:31;915:9;894:31;:::i;:::-;884:41;;944:40;980:2;969:9;965:18;944:40;:::i;:::-;934:50;;1031:2;1020:9;1016:18;1003:32;993:42;;803:238;;;;;:::o;1046:266::-;;;1175:2;1163:9;1154:7;1150:23;1146:32;1143:2;;;1196:6;1188;1181:22;1143:2;1224:31;1245:9;1224:31;:::i;:::-;1214:41;1302:2;1287:18;;;;1274:32;;-1:-1:-1;;;1133:179:28:o;1317:190::-;;1429:2;1417:9;1408:7;1404:23;1400:32;1397:2;;;1450:6;1442;1435:22;1397:2;-1:-1:-1;1478:23:28;;1387:120;-1:-1:-1;1387:120:28:o;1512:266::-;;;1641:2;1629:9;1620:7;1616:23;1612:32;1609:2;;;1662:6;1654;1647:22;1609:2;1703:9;1690:23;1680:33;;1732:40;1768:2;1757:9;1753:18;1732:40;:::i;1783:352::-;;1894:2;1882:9;1873:7;1869:23;1865:32;1862:2;;;1915:6;1907;1900:22;1862:2;1959:9;1946:23;2009:66;2002:5;1998:78;1991:5;1988:89;1978:2;;2096:6;2088;2081:22;2140:187;2305:14;;2298:22;2280:41;;2268:2;2253:18;;2235:92::o;2332:177::-;2478:25;;;2466:2;2451:18;;2433:76::o;2514:603::-;;2655:2;2684;2673:9;2666:21;2716:6;2710:13;2759:6;2754:2;2743:9;2739:18;2732:34;2784:4;2797:140;2811:6;2808:1;2805:13;2797:140;;;2906:14;;;2902:23;;2896:30;2872:17;;;2891:2;2868:26;2861:66;2826:10;;2797:140;;;2955:6;2952:1;2949:13;2946:2;;;3025:4;3020:2;3011:6;3000:9;2996:22;2992:31;2985:45;2946:2;-1:-1:-1;3101:2:28;3080:15;-1:-1:-1;;3076:29:28;3061:45;;;;3108:2;3057:54;;2635:482;-1:-1:-1;;;2635:482:28:o;3122:399::-;3324:2;3306:21;;;3363:2;3343:18;;;3336:30;3402:34;3397:2;3382:18;;3375:62;3473:5;3468:2;3453:18;;3446:33;3511:3;3496:19;;3296:225::o;3526:411::-;3728:2;3710:21;;;3767:2;3747:18;;;3740:30;3806:34;3801:2;3786:18;;3779:62;3877:17;3872:2;3857:18;;3850:45;3927:3;3912:19;;3700:237::o;3942:398::-;4144:2;4126:21;;;4183:2;4163:18;;;4156:30;4222:34;4217:2;4202:18;;4195:62;4293:4;4288:2;4273:18;;4266:32;4330:3;4315:19;;4116:224::o;4345:402::-;4547:2;4529:21;;;4586:2;4566:18;;;4559:30;4625:34;4620:2;4605:18;;4598:62;4696:8;4691:2;4676:18;;4669:36;4737:3;4722:19;;4519:228::o;4752:412::-;4954:2;4936:21;;;4993:2;4973:18;;;4966:30;5032:34;5027:2;5012:18;;5005:62;5103:18;5098:2;5083:18;;5076:46;5154:3;5139:19;;4926:238::o;5169:346::-;5371:2;5353:21;;;5410:2;5390:18;;;5383:30;5449:24;5444:2;5429:18;;5422:52;5506:2;5491:18;;5343:172::o;5520:404::-;5722:2;5704:21;;;5761:2;5741:18;;;5734:30;5800:34;5795:2;5780:18;;5773:62;5871:10;5866:2;5851:18;;5844:38;5914:3;5899:19;;5694:230::o;5929:401::-;6131:2;6113:21;;;6170:2;6150:18;;;6143:30;6209:34;6204:2;6189:18;;6182:62;6280:7;6275:2;6260:18;;6253:35;6320:3;6305:19;;6103:227::o;6335:400::-;6537:2;6519:21;;;6576:2;6556:18;;;6549:30;6615:34;6610:2;6595:18;;6588:62;6686:6;6681:2;6666:18;;6659:34;6725:3;6710:19;;6509:226::o;6740:401::-;6942:2;6924:21;;;6981:2;6961:18;;;6954:30;7020:34;7015:2;7000:18;;6993:62;7091:7;7086:2;7071:18;;7064:35;7131:3;7116:19;;6914:227::o;7146:411::-;7348:2;7330:21;;;7387:2;7367:18;;;7360:30;7426:34;7421:2;7406:18;;7399:62;7497:17;7492:2;7477:18;;7470:45;7547:3;7532:19;;7320:237::o;7562:355::-;7764:2;7746:21;;;7803:2;7783:18;;;7776:30;7842:33;7837:2;7822:18;;7815:61;7908:2;7893:18;;7736:181::o;8104:184::-;8276:4;8264:17;;;;8246:36;;8234:2;8219:18;;8201:87::o;8293:128::-;;8364:1;8360:6;8357:1;8354:13;8351:2;;;8370:18;;:::i;:::-;-1:-1:-1;8406:9:28;;8341:80::o;8426:453::-;8522:6;8545:5;8559:314;8608:1;8645:2;8635:8;8632:16;8622:2;;8652:5;;;8622:2;8693:4;8688:3;8684:14;8678:4;8675:24;8672:2;;;8702:18;;:::i;:::-;8752:2;8742:8;8738:17;8735:2;;;8767:16;;;;8735:2;8846:17;;;;;8806:15;;8559:314;;;8503:376;;;;;;;:::o;8884:139::-;;8973:44;-1:-1:-1;;9000:8:28;8994:4;9028:922;9112:8;9102:2;;-1:-1:-1;9153:1:28;9167:5;;9102:2;9201:4;9191:2;;-1:-1:-1;9238:1:28;9252:5;;9191:2;9283:4;9301:1;9296:59;;;;9369:1;9364:183;;;;9276:271;;9296:59;9326:1;9317:10;;9340:5;;;9364:183;9401:3;9391:8;9388:17;9385:2;;;9408:18;;:::i;:::-;9464:1;9454:8;9450:16;9441:25;;9492:3;9485:5;9482:14;9479:2;;;9499:18;;:::i;:::-;9532:5;;;9276:271;;9631:2;9621:8;9618:16;9612:3;9606:4;9603:13;9599:36;9593:2;9583:8;9580:16;9575:2;9569:4;9566:12;9562:35;9559:77;9556:2;;;-1:-1:-1;9668:19:28;;;9703:14;;;9700:2;;;9720:18;;:::i;:::-;9753:5;;9556:2;9800:42;9838:3;9828:8;9822:4;9819:1;9800:42;:::i;:::-;9875:6;9870:3;9866:16;9857:7;9854:29;9851:2;;;9886:18;;:::i;:::-;9924:20;;9092:858;-1:-1:-1;;;;9092:858:28:o;9955:168::-;;10061:1;10057;10053:6;10049:14;10046:1;10043:21;10038:1;10031:9;10024:17;10020:45;10017:2;;;10068:18;;:::i;:::-;-1:-1:-1;10108:9:28;;10007:116::o;10128:125::-;;10196:1;10193;10190:8;10187:2;;;10201:18;;:::i;:::-;-1:-1:-1;10238:9:28;;10177:76::o;10258:437::-;10343:1;10333:12;;10390:1;10380:12;;;10401:2;;10455:4;10447:6;10443:17;10433:27;;10401:2;10508;10500:6;10497:14;10477:18;10474:38;10471:2;;;-1:-1:-1;;;10542:1:28;10535:88;10646:4;10643:1;10636:15;10674:4;10671:1;10664:15;10471:2;;10313:382;;;:::o;10700:184::-;-1:-1:-1;;;10749:1:28;10742:88;10849:4;10846:1;10839:15;10873:4;10870:1;10863:15" - }, - "methodIdentifiers": { - "DECIMALS()": "2e0f2625", - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "INITIAL_SUPPLY()": "2ff2e9dc", - "MINTER_ROLE()": "d5391393", - "addMinter(address)": "983b2d56", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "increaseAllowance(address,uint256)": "39509351", - "mint(address,uint256)": "40c10f19", - "name()": "06fdde03", - "removeMinter(address)": "3092afd5", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - } - } - }, - "contracts/lib/Constants.sol": { - "Constants": { - "abi": [ - { - "inputs": [], - "name": "commit", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "dispute", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "epochLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "exposureDenominator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getBlockConfirmerHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getDefaultAdminHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getJobConfirmerHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeModifierHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getStakerActivityUpdaterHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "maxAltBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "minStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "numStates", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "penaltyNotRevealDenom", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "penaltyNotRevealNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "propose", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "reveal", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "unstakeLockPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawLockPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "61048061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101405760003560e01c80639cec6f8a116100bc578063b1cc45001161008b578063d98b3ced11610070578063d98b3ced146101d0578063f240f7c3146101d8578063f4f29c5b146101e057610140565b8063b1cc4500146101c0578063c198f8ba146101c857610140565b80639cec6f8a146101a8578063a475b5dd146101b0578063a86f5a3f14610145578063b1a62781146101b857610140565b8063379597e01161011357806357d775f8116100f857806357d775f8146101905780637f890b111461019857806380638d42146101a057610140565b8063379597e0146101735780633c7a3aff1461017b57610140565b80632628490f1461014557806326bf1c03146101455780633002c9ac14610163578063375b3c0a1461016b575b600080fd5b61014d6101e8565b60405161015a91906102c5565b60405180910390f35b61014d6101ed565b61014d6101f3565b61014d610211565b610183610216565b60405161015a91906102ce565b61014d61021b565b61014d610220565b61014d610244565b61014d610268565b6101836101e8565b61014d610216565b61014d61028c565b610183610292565b61014d610297565b6101836102bb565b61014d6102c0565b600190565b6103e890565b60006102016012600a610322565b61020c9060646103fc565b905090565b600590565b600090565b602890565b7fbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f90565b7fdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc80490565b7f4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece90565b61271090565b600290565b7f18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f90565b600390565b600490565b90815260200190565b60ff91909116815260200190565b80825b60018086116102ee5750610319565b8187048211156103005761030061041b565b8086161561030d57918102915b9490941c9380026102df565b94509492505050565b60006103316000198484610338565b9392505050565b60008261034757506001610331565b8161035457506000610331565b816001811461036a5760028114610374576103a1565b6001915050610331565b60ff8411156103855761038561041b565b6001841b91508482111561039b5761039b61041b565b50610331565b5060208310610133831016604e8410600b84101617156103d4575081810a838111156103cf576103cf61041b565b610331565b6103e184848460016102dc565b8086048211156103f3576103f361041b565b02949350505050565b60008160001904831182151516156104165761041661041b565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220cdca61c73e198e6ee063fea1dd60e2592d0532720128908c257df814dfa3feef64736f6c63430008000033", - "opcodes": "PUSH2 0x480 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x140 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9CEC6F8A GT PUSH2 0xBC JUMPI DUP1 PUSH4 0xB1CC4500 GT PUSH2 0x8B JUMPI DUP1 PUSH4 0xD98B3CED GT PUSH2 0x70 JUMPI DUP1 PUSH4 0xD98B3CED EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0xF240F7C3 EQ PUSH2 0x1D8 JUMPI DUP1 PUSH4 0xF4F29C5B EQ PUSH2 0x1E0 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0xB1CC4500 EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xC198F8BA EQ PUSH2 0x1C8 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x9CEC6F8A EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0xA475B5DD EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0xA86F5A3F EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0xB1A62781 EQ PUSH2 0x1B8 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x379597E0 GT PUSH2 0x113 JUMPI DUP1 PUSH4 0x57D775F8 GT PUSH2 0xF8 JUMPI DUP1 PUSH4 0x57D775F8 EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x7F890B11 EQ PUSH2 0x198 JUMPI DUP1 PUSH4 0x80638D42 EQ PUSH2 0x1A0 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x379597E0 EQ PUSH2 0x173 JUMPI DUP1 PUSH4 0x3C7A3AFF EQ PUSH2 0x17B JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x2628490F EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0x26BF1C03 EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0x3002C9AC EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x375B3C0A EQ PUSH2 0x16B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14D PUSH2 0x1E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0x2C5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14D PUSH2 0x1ED JUMP JUMPDEST PUSH2 0x14D PUSH2 0x1F3 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x211 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x216 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0x2CE JUMP JUMPDEST PUSH2 0x14D PUSH2 0x21B JUMP JUMPDEST PUSH2 0x14D PUSH2 0x220 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x244 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x268 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x1E8 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x216 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x28C JUMP JUMPDEST PUSH2 0x183 PUSH2 0x292 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x297 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x2BB JUMP JUMPDEST PUSH2 0x14D PUSH2 0x2C0 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x3E8 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x201 PUSH1 0x12 PUSH1 0xA PUSH2 0x322 JUMP JUMPDEST PUSH2 0x20C SWAP1 PUSH1 0x64 PUSH2 0x3FC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x5 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x28 SWAP1 JUMP JUMPDEST PUSH32 0xBE7B58E17BF6ADAA0F209CD0DB8B128282FC68A42F2DD649B4D8EA579F1B078F SWAP1 JUMP JUMPDEST PUSH32 0xDBAAAFF2C3744AA215EBD99971829E1C1B728703A0BF252F96685D29011FC804 SWAP1 JUMP JUMPDEST PUSH32 0x4CD3070AAA07D03AB33731CBABD0CB27EB9E074A9430AD006C96941D71B77ECE SWAP1 JUMP JUMPDEST PUSH2 0x2710 SWAP1 JUMP JUMPDEST PUSH1 0x2 SWAP1 JUMP JUMPDEST PUSH32 0x18797BC7973E1DADEE1895BE2F1003818E30EAE3B0E7A01EB9B2E66F3EA2771F SWAP1 JUMP JUMPDEST PUSH1 0x3 SWAP1 JUMP JUMPDEST PUSH1 0x4 SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 JUMPDEST PUSH1 0x1 DUP1 DUP7 GT PUSH2 0x2EE JUMPI POP PUSH2 0x319 JUMP JUMPDEST DUP2 DUP8 DIV DUP3 GT ISZERO PUSH2 0x300 JUMPI PUSH2 0x300 PUSH2 0x41B JUMP JUMPDEST DUP1 DUP7 AND ISZERO PUSH2 0x30D JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP5 SWAP1 SWAP5 SHR SWAP4 DUP1 MUL PUSH2 0x2DF JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x331 PUSH1 0x0 NOT DUP5 DUP5 PUSH2 0x338 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x347 JUMPI POP PUSH1 0x1 PUSH2 0x331 JUMP JUMPDEST DUP2 PUSH2 0x354 JUMPI POP PUSH1 0x0 PUSH2 0x331 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x36A JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x374 JUMPI PUSH2 0x3A1 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x331 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x385 JUMPI PUSH2 0x385 PUSH2 0x41B JUMP JUMPDEST PUSH1 0x1 DUP5 SHL SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x39B JUMPI PUSH2 0x39B PUSH2 0x41B JUMP JUMPDEST POP PUSH2 0x331 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x3D4 JUMPI POP DUP2 DUP2 EXP DUP4 DUP2 GT ISZERO PUSH2 0x3CF JUMPI PUSH2 0x3CF PUSH2 0x41B JUMP JUMPDEST PUSH2 0x331 JUMP JUMPDEST PUSH2 0x3E1 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x2DC JUMP JUMPDEST DUP1 DUP7 DIV DUP3 GT ISZERO PUSH2 0x3F3 JUMPI PUSH2 0x3F3 PUSH2 0x41B JUMP JUMPDEST MUL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x416 JUMPI PUSH2 0x416 PUSH2 0x41B JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD 0xCA PUSH2 0xC73E NOT DUP15 PUSH15 0xE063FEA1DD60E2592D053272012890 DUP13 0x25 PUSH30 0xF814DFA3FEEF64736F6C6343000800003300000000000000000000000000 ", - "sourceMap": "65:1907:25:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1907:25;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2479:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "123:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "133:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "145:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "156:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "141:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "141:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "133:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "175:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "186:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "168:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "168:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "168:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "92:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "103:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "114:4:28", - "type": "" - } - ], - "src": "14:185:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "313:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "323:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "335:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "346:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "331:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "331:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "323:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "365:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "376:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "358:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "358:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "358:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "282:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "293:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "304:4:28", - "type": "" - } - ], - "src": "204:185:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "499:87:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "509:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "521:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "532:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "517:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "517:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "509:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "551:9:28" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "566:6:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "574:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "562:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "562:17:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "544:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "544:36:28" - }, - "nodeType": "YulExpressionStatement", - "src": "544:36:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "468:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "479:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "490:4:28", - "type": "" - } - ], - "src": "394:192:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "668:376:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "678:15:28", - "value": { - "name": "_power", - "nodeType": "YulIdentifier", - "src": "687:6:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "678:5:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "702:13:28", - "value": { - "name": "_base", - "nodeType": "YulIdentifier", - "src": "710:5:28" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "702:4:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "749:289:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "763:11:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "773:1:28", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "767:2:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "815:9:28", - "statements": [ - { - "nodeType": "YulBreak", - "src": "817:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "800:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "810:2:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "797:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "797:16:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "790:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "790:24:28" - }, - "nodeType": "YulIf", - "src": "787:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "865:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "867:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "867:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "867:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "843:4:28" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "853:3:28" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "858:4:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "849:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "849:14:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "840:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "840:24:28" - }, - "nodeType": "YulIf", - "src": "837:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "921:29:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "923:25:28", - "value": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "936:5:28" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "943:4:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "932:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "932:16:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "923:5:28" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "907:8:28" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "917:2:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "903:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "903:17:28" - }, - "nodeType": "YulIf", - "src": "900:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "963:23:28", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "975:4:28" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "981:4:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "971:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "971:15:28" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "963:4:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "999:29:28", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1015:2:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1019:8:28" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1011:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1011:17:28" - }, - "variableNames": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "999:8:28" - } - ] - } - ] - }, - "condition": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "732:4:28", - "type": "", - "value": "true" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "737:3:28", - "statements": [] - }, - "pre": { - "nodeType": "YulBlock", - "src": "728:3:28", - "statements": [] - }, - "src": "724:314:28" - } - ] - }, - "name": "checked_exp_helper", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "_power", - "nodeType": "YulTypedName", - "src": "619:6:28", - "type": "" - }, - { - "name": "_base", - "nodeType": "YulTypedName", - "src": "627:5:28", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "634:8:28", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "644:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "652:5:28", - "type": "" - }, - { - "name": "base", - "nodeType": "YulTypedName", - "src": "659:4:28", - "type": "" - } - ], - "src": "591:453:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1119:69:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1129:53:28", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1159:4:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1165:8:28" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1179:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1175:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1175:6:28" - } - ], - "functionName": { - "name": "checked_exp_unsigned", - "nodeType": "YulIdentifier", - "src": "1138:20:28" - }, - "nodeType": "YulFunctionCall", - "src": "1138:44:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1129:5:28" - } - ] - } - ] - }, - "name": "checked_exp_t_uint256_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "1090:4:28", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "1096:8:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "1109:5:28", - "type": "" - } - ], - "src": "1049:139:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1257:858:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1295:52:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1309:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1318:1:28", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1309:5:28" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "1332:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1277:8:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1270:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1270:16:28" - }, - "nodeType": "YulIf", - "src": "1267:2:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1380:52:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1394:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1403:1:28", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1394:5:28" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "1417:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1366:4:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1359:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1359:12:28" - }, - "nodeType": "YulIf", - "src": "1356:2:28" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1468:52:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1482:10:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1491:1:28", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1482:5:28" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "1505:5:28" - } - ] - }, - "nodeType": "YulCase", - "src": "1461:59:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1466:1:28", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1536:176:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1571:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1573:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "1573:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1573:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1556:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1566:3:28", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1553:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1553:17:28" - }, - "nodeType": "YulIf", - "src": "1550:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1606:25:28", - "value": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1619:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1629:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1615:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1615:16:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1606:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1662:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1664:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "1664:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1664:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1650:5:28" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "1657:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1647:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1647:14:28" - }, - "nodeType": "YulIf", - "src": "1644:2:28" - }, - { - "nodeType": "YulLeave", - "src": "1697:5:28" - } - ] - }, - "nodeType": "YulCase", - "src": "1529:183:28", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1534:1:28", - "type": "", - "value": "2" - } - } - ], - "expression": { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1448:4:28" - }, - "nodeType": "YulSwitch", - "src": "1441:271:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1810:123:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1824:28:28", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1837:4:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1843:8:28" - } - ], - "functionName": { - "name": "exp", - "nodeType": "YulIdentifier", - "src": "1833:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1833:19:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1824:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1883:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1885:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "1885:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1885:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1871:5:28" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "1878:3:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1868:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1868:14:28" - }, - "nodeType": "YulIf", - "src": "1865:2:28" - }, - { - "nodeType": "YulLeave", - "src": "1918:5:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1734:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1740:2:28", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1731:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1731:12:28" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1748:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1758:2:28", - "type": "", - "value": "78" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1745:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1745:16:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1727:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1727:35:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1771:4:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1777:3:28", - "type": "", - "value": "307" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1768:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1768:13:28" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1786:8:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1796:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1783:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1783:16:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1764:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1764:36:28" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1724:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "1724:77:28" - }, - "nodeType": "YulIf", - "src": "1721:2:28" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1942:65:28", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1984:1:28", - "type": "", - "value": "1" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1987:4:28" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1993:8:28" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "2003:3:28" - } - ], - "functionName": { - "name": "checked_exp_helper", - "nodeType": "YulIdentifier", - "src": "1965:18:28" - }, - "nodeType": "YulFunctionCall", - "src": "1965:42:28" - }, - "variables": [ - { - "name": "power_1", - "nodeType": "YulTypedName", - "src": "1946:7:28", - "type": "" - }, - { - "name": "base_1", - "nodeType": "YulTypedName", - "src": "1955:6:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2049:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2051:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "2051:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2051:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "2022:7:28" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "2035:3:28" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "2040:6:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2031:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2031:16:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2019:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2019:29:28" - }, - "nodeType": "YulIf", - "src": "2016:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2080:29:28", - "value": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "2093:7:28" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "2102:6:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2089:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2089:20:28" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2080:5:28" - } - ] - } - ] - }, - "name": "checked_exp_unsigned", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "1223:4:28", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "1229:8:28", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "1239:3:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "1247:5:28", - "type": "" - } - ], - "src": "1193:922:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2172:116:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2231:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2233:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "2233:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2233:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2203:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2196:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2196:9:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2189:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2189:17:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2211:1:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2222:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2218:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2218:6:28" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2226:1:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2214:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2214:14:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2208:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2208:21:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2185:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2185:45:28" - }, - "nodeType": "YulIf", - "src": "2182:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2262:20:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2277:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2280:1:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2273:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2273:9:28" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "2262:7:28" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "2151:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "2154:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "2160:7:28", - "type": "" - } - ], - "src": "2120:168:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2325:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2342:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2345:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2335:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2335:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2335:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2439:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2442:4:28", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2432:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2432:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2432:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2463:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2466:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2456:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2456:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2456:15:28" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "2293:184:28" - } - ] - }, - "contents": "{\n { }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function checked_exp_helper(_power, _base, exponent, max) -> power, base\n {\n power := _power\n base := _base\n for { } true { }\n {\n let _1 := 1\n if iszero(gt(exponent, _1)) { break }\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, _1) { power := mul(power, base) }\n base := mul(base, base)\n exponent := shr(_1, exponent)\n }\n }\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power\n {\n power := checked_exp_unsigned(base, exponent, not(0))\n }\n function checked_exp_unsigned(base, exponent, max) -> power\n {\n if iszero(exponent)\n {\n power := 1\n leave\n }\n if iszero(base)\n {\n power := 0\n leave\n }\n switch base\n case 1 {\n power := 1\n leave\n }\n case 2 {\n if gt(exponent, 255) { panic_error_0x11() }\n power := shl(exponent, 1)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n let power_1, base_1 := checked_exp_helper(1, base, exponent, max)\n if gt(power_1, div(max, base_1)) { panic_error_0x11() }\n power := mul(power_1, base_1)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600436106101405760003560e01c80639cec6f8a116100bc578063b1cc45001161008b578063d98b3ced11610070578063d98b3ced146101d0578063f240f7c3146101d8578063f4f29c5b146101e057610140565b8063b1cc4500146101c0578063c198f8ba146101c857610140565b80639cec6f8a146101a8578063a475b5dd146101b0578063a86f5a3f14610145578063b1a62781146101b857610140565b8063379597e01161011357806357d775f8116100f857806357d775f8146101905780637f890b111461019857806380638d42146101a057610140565b8063379597e0146101735780633c7a3aff1461017b57610140565b80632628490f1461014557806326bf1c03146101455780633002c9ac14610163578063375b3c0a1461016b575b600080fd5b61014d6101e8565b60405161015a91906102c5565b60405180910390f35b61014d6101ed565b61014d6101f3565b61014d610211565b610183610216565b60405161015a91906102ce565b61014d61021b565b61014d610220565b61014d610244565b61014d610268565b6101836101e8565b61014d610216565b61014d61028c565b610183610292565b61014d610297565b6101836102bb565b61014d6102c0565b600190565b6103e890565b60006102016012600a610322565b61020c9060646103fc565b905090565b600590565b600090565b602890565b7fbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f90565b7fdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc80490565b7f4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece90565b61271090565b600290565b7f18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f90565b600390565b600490565b90815260200190565b60ff91909116815260200190565b80825b60018086116102ee5750610319565b8187048211156103005761030061041b565b8086161561030d57918102915b9490941c9380026102df565b94509492505050565b60006103316000198484610338565b9392505050565b60008261034757506001610331565b8161035457506000610331565b816001811461036a5760028114610374576103a1565b6001915050610331565b60ff8411156103855761038561041b565b6001841b91508482111561039b5761039b61041b565b50610331565b5060208310610133831016604e8410600b84101617156103d4575081810a838111156103cf576103cf61041b565b610331565b6103e184848460016102dc565b8086048211156103f3576103f361041b565b02949350505050565b60008160001904831182151516156104165761041661041b565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220cdca61c73e198e6ee063fea1dd60e2592d0532720128908c257df814dfa3feef64736f6c63430008000033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x140 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9CEC6F8A GT PUSH2 0xBC JUMPI DUP1 PUSH4 0xB1CC4500 GT PUSH2 0x8B JUMPI DUP1 PUSH4 0xD98B3CED GT PUSH2 0x70 JUMPI DUP1 PUSH4 0xD98B3CED EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0xF240F7C3 EQ PUSH2 0x1D8 JUMPI DUP1 PUSH4 0xF4F29C5B EQ PUSH2 0x1E0 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0xB1CC4500 EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xC198F8BA EQ PUSH2 0x1C8 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x9CEC6F8A EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0xA475B5DD EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0xA86F5A3F EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0xB1A62781 EQ PUSH2 0x1B8 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x379597E0 GT PUSH2 0x113 JUMPI DUP1 PUSH4 0x57D775F8 GT PUSH2 0xF8 JUMPI DUP1 PUSH4 0x57D775F8 EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x7F890B11 EQ PUSH2 0x198 JUMPI DUP1 PUSH4 0x80638D42 EQ PUSH2 0x1A0 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x379597E0 EQ PUSH2 0x173 JUMPI DUP1 PUSH4 0x3C7A3AFF EQ PUSH2 0x17B JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x2628490F EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0x26BF1C03 EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0x3002C9AC EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x375B3C0A EQ PUSH2 0x16B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14D PUSH2 0x1E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0x2C5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14D PUSH2 0x1ED JUMP JUMPDEST PUSH2 0x14D PUSH2 0x1F3 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x211 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x216 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0x2CE JUMP JUMPDEST PUSH2 0x14D PUSH2 0x21B JUMP JUMPDEST PUSH2 0x14D PUSH2 0x220 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x244 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x268 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x1E8 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x216 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x28C JUMP JUMPDEST PUSH2 0x183 PUSH2 0x292 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x297 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x2BB JUMP JUMPDEST PUSH2 0x14D PUSH2 0x2C0 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x3E8 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x201 PUSH1 0x12 PUSH1 0xA PUSH2 0x322 JUMP JUMPDEST PUSH2 0x20C SWAP1 PUSH1 0x64 PUSH2 0x3FC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x5 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x28 SWAP1 JUMP JUMPDEST PUSH32 0xBE7B58E17BF6ADAA0F209CD0DB8B128282FC68A42F2DD649B4D8EA579F1B078F SWAP1 JUMP JUMPDEST PUSH32 0xDBAAAFF2C3744AA215EBD99971829E1C1B728703A0BF252F96685D29011FC804 SWAP1 JUMP JUMPDEST PUSH32 0x4CD3070AAA07D03AB33731CBABD0CB27EB9E074A9430AD006C96941D71B77ECE SWAP1 JUMP JUMPDEST PUSH2 0x2710 SWAP1 JUMP JUMPDEST PUSH1 0x2 SWAP1 JUMP JUMPDEST PUSH32 0x18797BC7973E1DADEE1895BE2F1003818E30EAE3B0E7A01EB9B2E66F3EA2771F SWAP1 JUMP JUMPDEST PUSH1 0x3 SWAP1 JUMP JUMPDEST PUSH1 0x4 SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 JUMPDEST PUSH1 0x1 DUP1 DUP7 GT PUSH2 0x2EE JUMPI POP PUSH2 0x319 JUMP JUMPDEST DUP2 DUP8 DIV DUP3 GT ISZERO PUSH2 0x300 JUMPI PUSH2 0x300 PUSH2 0x41B JUMP JUMPDEST DUP1 DUP7 AND ISZERO PUSH2 0x30D JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP5 SWAP1 SWAP5 SHR SWAP4 DUP1 MUL PUSH2 0x2DF JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x331 PUSH1 0x0 NOT DUP5 DUP5 PUSH2 0x338 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x347 JUMPI POP PUSH1 0x1 PUSH2 0x331 JUMP JUMPDEST DUP2 PUSH2 0x354 JUMPI POP PUSH1 0x0 PUSH2 0x331 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x36A JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x374 JUMPI PUSH2 0x3A1 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x331 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x385 JUMPI PUSH2 0x385 PUSH2 0x41B JUMP JUMPDEST PUSH1 0x1 DUP5 SHL SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x39B JUMPI PUSH2 0x39B PUSH2 0x41B JUMP JUMPDEST POP PUSH2 0x331 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x3D4 JUMPI POP DUP2 DUP2 EXP DUP4 DUP2 GT ISZERO PUSH2 0x3CF JUMPI PUSH2 0x3CF PUSH2 0x41B JUMP JUMPDEST PUSH2 0x331 JUMP JUMPDEST PUSH2 0x3E1 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x2DC JUMP JUMPDEST DUP1 DUP7 DIV DUP3 GT ISZERO PUSH2 0x3F3 JUMPI PUSH2 0x3F3 PUSH2 0x41B JUMP JUMPDEST MUL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x416 JUMPI PUSH2 0x416 PUSH2 0x41B JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD 0xCA PUSH2 0xC73E NOT DUP15 PUSH15 0xE063FEA1DD60E2592D053272012890 DUP13 0x25 PUSH30 0xF814DFA3FEEF64736F6C6343000800003300000000000000000000000000 ", - "sourceMap": "65:1907:25:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;716:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1007:77;;;:::i;551:83::-;;;:::i;794:67::-;;;:::i;89:58::-;;;:::i;:::-;;;;;;;:::i;866:67::-;;;:::i;1090:174::-;;;:::i;1452:176::-;;;:::i;1633:194::-;;;:::i;152:58::-;;;:::i;1832:138::-;;;:::i;465:81::-;;;:::i;215:59::-;;;:::i;1269:178::-;;;:::i;279:59::-;;;:::i;938:64::-;;;:::i;716:73::-;784:1;716:73;:::o;1007:77::-;1076:4;1007:77;:::o;551:83::-;591:7;614:15;626:2;614;:15;:::i;:::-;609:21;;:3;:21;:::i;:::-;602:29;;551:83;:::o;794:67::-;856:1;794:67;:::o;89:58::-;127:5;89:58;:::o;866:67::-;927:2;866:67;:::o;1090:174::-;1159:66;1090:174;:::o;1452:176::-;1522:66;1452:176;:::o;1633:194::-;1711:66;1633:194;:::o;465:81::-;537:5;465:81;:::o;215:59::-;270:1;215:59;:::o;1269:178::-;1340:66;1269:178;:::o;279:59::-;334:1;279:59;:::o;938:64::-;997:1;938:64;:::o;14:185:28:-;168:25;;;156:2;141:18;;123:76::o;394:192::-;574:4;562:17;;;;544:36;;532:2;517:18;;499:87::o;591:453::-;687:6;710:5;724:314;773:1;810:2;800:8;797:16;787:2;;817:5;;;787:2;858:4;853:3;849:14;843:4;840:24;837:2;;;867:18;;:::i;:::-;917:2;907:8;903:17;900:2;;;932:16;;;;900:2;1011:17;;;;;971:15;;724:314;;;668:376;;;;;;;:::o;1049:139::-;;1138:44;-1:-1:-1;;1165:8:28;1159:4;1138:44;:::i;:::-;1129:53;1119:69;-1:-1:-1;;;1119:69:28:o;1193:922::-;;1277:8;1267:2;;-1:-1:-1;1318:1:28;1332:5;;1267:2;1366:4;1356:2;;-1:-1:-1;1403:1:28;1417:5;;1356:2;1448:4;1466:1;1461:59;;;;1534:1;1529:183;;;;1441:271;;1461:59;1491:1;1482:10;;1505:5;;;1529:183;1566:3;1556:8;1553:17;1550:2;;;1573:18;;:::i;:::-;1629:1;1619:8;1615:16;1606:25;;1657:3;1650:5;1647:14;1644:2;;;1664:18;;:::i;:::-;1697:5;;;1441:271;;1796:2;1786:8;1783:16;1777:3;1771:4;1768:13;1764:36;1758:2;1748:8;1745:16;1740:2;1734:4;1731:12;1727:35;1724:77;1721:2;;;-1:-1:-1;1833:19:28;;;1868:14;;;1865:2;;;1885:18;;:::i;:::-;1918:5;;1721:2;1965:42;2003:3;1993:8;1987:4;1984:1;1965:42;:::i;:::-;2040:6;2035:3;2031:16;2022:7;2019:29;2016:2;;;2051:18;;:::i;:::-;2089:20;;1257:858;-1:-1:-1;;;;1257:858:28:o;2120:168::-;;2226:1;2222;2218:6;2214:14;2211:1;2208:21;2203:1;2196:9;2189:17;2185:45;2182:2;;;2233:18;;:::i;:::-;-1:-1:-1;2273:9:28;;2172:116::o;2293:184::-;2345:77;2342:1;2335:88;2442:4;2439:1;2432:15;2466:4;2463:1;2456:15" - }, - "methodIdentifiers": { - "commit()": "3c7a3aff", - "dispute()": "f240f7c3", - "epochLength()": "57d775f8", - "exposureDenominator()": "3002c9ac", - "getBlockConfirmerHash()": "d98b3ced", - "getDefaultAdminHash()": "b1a62781", - "getJobConfirmerHash()": "7f890b11", - "getStakeModifierHash()": "80638d42", - "getStakerActivityUpdaterHash()": "9cec6f8a", - "maxAltBlocks()": "379597e0", - "minStake()": "375b3c0a", - "numStates()": "f4f29c5b", - "penaltyNotRevealDenom()": "b1cc4500", - "penaltyNotRevealNum()": "a86f5a3f", - "propose()": "c198f8ba", - "reveal()": "a475b5dd", - "unstakeLockPeriod()": "26bf1c03", - "withdrawLockPeriod()": "2628490f" - } - } - } - }, - "contracts/lib/Random.sol": { - "Random": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - } - ], - "name": "blockHashes", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "max", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "seed", - "type": "bytes32" - } - ], - "name": "prng", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "seed", - "type": "bytes32" - } - ], - "name": "prngHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 260 - }, - { - "length": 20, - "start": 384 - } - ] - } - }, - "object": "61041961003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80635075dbfb146100505780637fa00da214610079578063b07ceab81461008c575b600080fd5b61006361005e3660046102f0565b61009f565b6040516100709190610330565b60405180910390f35b6100636100873660046102a6565b6100c3565b61006361009a3660046102c7565b61023c565b6000806100ac858461023c565b9050806100b985826103a3565b9695505050505050565b600080600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561010c57600080fd5b505af4158015610120573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610144919061028e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561018857600080fd5b505af415801561019c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c0919061028e565b6101ca9043610339565b6101d4919061034d565b905060015b8460ff168160ff161161023157826101f460ff83168461036c565b40604051602001610206929190610322565b604051602081830303815290604052805190602001209250808061022990610383565b9150506101d9565b50909150505b919050565b600080610248846100c3565b9050808360405160200161025d929190610322565b60408051808303601f190181529190528051602090910120949350505050565b803560ff8116811461023757600080fd5b60006020828403121561029f578081fd5b5051919050565b6000602082840312156102b7578081fd5b6102c08261027d565b9392505050565b600080604083850312156102d9578081fd5b6102e28361027d565b946020939093013593505050565b600080600060608486031215610304578081fd5b61030d8461027d565b95602085013595506040909401359392505050565b918252602082015260400190565b90815260200190565b600082610348576103486103cd565b500490565b6000816000190483118215151615610367576103676103b7565b500290565b60008282101561037e5761037e6103b7565b500390565b600060ff821660ff81141561039a5761039a6103b7565b60010192915050565b6000826103b2576103b26103cd565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220eb7eb258e3f726aa383a3611810db1309d157c7e3653eebe2935135bdd1703f464736f6c63430008000033", - "opcodes": "PUSH2 0x419 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5075DBFB EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x7FA00DA2 EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xB07CEAB8 EQ PUSH2 0x8C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x63 PUSH2 0x5E CALLDATASIZE PUSH1 0x4 PUSH2 0x2F0 JUMP JUMPDEST PUSH2 0x9F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x63 PUSH2 0x87 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A6 JUMP JUMPDEST PUSH2 0xC3 JUMP JUMPDEST PUSH2 0x63 PUSH2 0x9A CALLDATASIZE PUSH1 0x4 PUSH2 0x2C7 JUMP JUMPDEST PUSH2 0x23C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAC DUP6 DUP5 PUSH2 0x23C JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0xB9 DUP6 DUP3 PUSH2 0x3A3 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x120 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x144 SWAP2 SWAP1 PUSH2 0x28E JUMP JUMPDEST PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x188 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x19C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C0 SWAP2 SWAP1 PUSH2 0x28E JUMP JUMPDEST PUSH2 0x1CA SWAP1 NUMBER PUSH2 0x339 JUMP JUMPDEST PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0x34D JUMP JUMPDEST SWAP1 POP PUSH1 0x1 JUMPDEST DUP5 PUSH1 0xFF AND DUP2 PUSH1 0xFF AND GT PUSH2 0x231 JUMPI DUP3 PUSH2 0x1F4 PUSH1 0xFF DUP4 AND DUP5 PUSH2 0x36C JUMP JUMPDEST BLOCKHASH PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x206 SWAP3 SWAP2 SWAP1 PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP DUP1 DUP1 PUSH2 0x229 SWAP1 PUSH2 0x383 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1D9 JUMP JUMPDEST POP SWAP1 SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x248 DUP5 PUSH2 0xC3 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x25D SWAP3 SWAP2 SWAP1 PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB PUSH1 0x1F NOT ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29F JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B7 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2C0 DUP3 PUSH2 0x27D JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2D9 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2E2 DUP4 PUSH2 0x27D JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x304 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x30D DUP5 PUSH2 0x27D JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x348 JUMPI PUSH2 0x348 PUSH2 0x3CD JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x367 JUMPI PUSH2 0x367 PUSH2 0x3B7 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x37E JUMPI PUSH2 0x37E PUSH2 0x3B7 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 EQ ISZERO PUSH2 0x39A JUMPI PUSH2 0x39A PUSH2 0x3B7 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3B2 JUMPI PUSH2 0x3B2 PUSH2 0x3CD JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB PUSH31 0xB258E3F726AA383A3611810DB1309D157C7E3653EEBE2935135BDD1703F464 PUSH20 0x6F6C634300080000330000000000000000000000 ", - "sourceMap": "92:1006:26:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;92:1006:26;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2909:28", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:28", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "63:109:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "73:29:28", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "95:6:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "82:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "82:20:28" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "73:5:28" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "150:16:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "159:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "162:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "152:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "152:12:28" - }, - "nodeType": "YulExpressionStatement", - "src": "152:12:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "124:5:28" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "135:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "142:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "131:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "131:16:28" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "121:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "121:27:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "114:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "114:35:28" - }, - "nodeType": "YulIf", - "src": "111:2:28" - } - ] - }, - "name": "abi_decode_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "42:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "53:5:28", - "type": "" - } - ], - "src": "14:158:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "258:113:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "304:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "313:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "321:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "306:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "306:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "306:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "279:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "288:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "275:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "275:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "300:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "271:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "271:32:28" - }, - "nodeType": "YulIf", - "src": "268:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "339:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "355:9:28" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "349:5:28" - }, - "nodeType": "YulFunctionCall", - "src": "349:16:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "339:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "224:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "235:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "247:6:28", - "type": "" - } - ], - "src": "177:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "444:126:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "490:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "499:6:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "507:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "492:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "492:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "492:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "465:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "474:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "461:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "461:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "486:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "457:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "457:32:28" - }, - "nodeType": "YulIf", - "src": "454:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "525:39:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "554:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_uint8", - "nodeType": "YulIdentifier", - "src": "535:18:28" - }, - "nodeType": "YulFunctionCall", - "src": "535:29:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "525:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "410:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "421:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "433:6:28", - "type": "" - } - ], - "src": "376:194:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "660:177:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "706:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "715:6:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "723:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "708:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "708:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "708:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "681:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "690:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "677:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "677:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "702:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "673:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "673:32:28" - }, - "nodeType": "YulIf", - "src": "670:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "741:39:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "770:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_uint8", - "nodeType": "YulIdentifier", - "src": "751:18:28" - }, - "nodeType": "YulFunctionCall", - "src": "751:29:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "741:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "789:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "816:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "827:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "812:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "812:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "799:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "799:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "789:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "618:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "629:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "641:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "649:6:28", - "type": "" - } - ], - "src": "575:262:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "944:228:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "990:26:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "999:6:28" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1007:6:28" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "992:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "992:22:28" - }, - "nodeType": "YulExpressionStatement", - "src": "992:22:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "965:7:28" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "974:9:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "961:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "961:23:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "986:2:28", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "957:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "957:32:28" - }, - "nodeType": "YulIf", - "src": "954:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1025:39:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1054:9:28" - } - ], - "functionName": { - "name": "abi_decode_t_uint8", - "nodeType": "YulIdentifier", - "src": "1035:18:28" - }, - "nodeType": "YulFunctionCall", - "src": "1035:29:28" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1025:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1073:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1100:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1111:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1096:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1096:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1083:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1083:32:28" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1073:6:28" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1124:42:28", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1151:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1162:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1147:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1147:18:28" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1134:12:28" - }, - "nodeType": "YulFunctionCall", - "src": "1134:32:28" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1124:6:28" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8t_uint256t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "894:9:28", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "905:7:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "917:6:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "925:6:28", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "933:6:28", - "type": "" - } - ], - "src": "842:330:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1324:100:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1341:3:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1346:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1334:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1334:19:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1334:19:28" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1373:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1378:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1369:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1369:12:28" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1383:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1362:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1362:28:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1362:28:28" - }, - { - "nodeType": "YulAssignment", - "src": "1399:19:28", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1410:3:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1415:2:28", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1406:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1406:12:28" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1399:3:28" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1292:3:28", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1297:6:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1305:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1316:3:28", - "type": "" - } - ], - "src": "1177:247:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1538:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1548:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1560:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1571:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1556:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1556:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1548:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1590:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1601:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1583:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1583:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1583:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1507:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1518:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1529:4:28", - "type": "" - } - ], - "src": "1429:185:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1728:76:28", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1738:26:28", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1750:9:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1761:2:28", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1746:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1746:18:28" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1738:4:28" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1780:9:28" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1791:6:28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1773:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1773:25:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1773:25:28" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1697:9:28", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1708:6:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1719:4:28", - "type": "" - } - ], - "src": "1619:185:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1855:74:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1878:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "1880:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "1880:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "1880:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "1875:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1868:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "1868:9:28" - }, - "nodeType": "YulIf", - "src": "1865:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "1909:14:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "1918:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "1921:1:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "1914:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1914:9:28" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "1909:1:28" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "1840:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "1843:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "1849:1:28", - "type": "" - } - ], - "src": "1809:120:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1986:116:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2045:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2047:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "2047:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2047:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2017:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2010:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2010:9:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2003:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2003:17:28" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2025:1:28" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2036:1:28", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2032:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2032:6:28" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2040:1:28" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2028:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2028:14:28" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2022:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2022:21:28" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1999:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "1999:45:28" - }, - "nodeType": "YulIf", - "src": "1996:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2076:20:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2091:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2094:1:28" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2087:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2087:9:28" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "2076:7:28" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "1965:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "1968:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "1974:7:28", - "type": "" - } - ], - "src": "1934:168:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2156:76:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2178:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2180:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "2180:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2180:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2172:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2175:1:28" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2169:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2169:8:28" - }, - "nodeType": "YulIf", - "src": "2166:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2209:17:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2221:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2224:1:28" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2217:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2217:9:28" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "2209:4:28" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "2138:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "2141:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "2147:4:28", - "type": "" - } - ], - "src": "2107:125:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2282:130:28", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2292:31:28", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2311:5:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2318:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2307:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2307:16:28" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "2296:7:28", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2353:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2355:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "2355:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2355:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "2338:7:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2347:4:28", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2335:2:28" - }, - "nodeType": "YulFunctionCall", - "src": "2335:17:28" - }, - "nodeType": "YulIf", - "src": "2332:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2384:22:28", - "value": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "2395:7:28" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2404:1:28", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2391:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2391:15:28" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "2384:3:28" - } - ] - } - ] - }, - "name": "increment_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2264:5:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "2274:3:28", - "type": "" - } - ], - "src": "2237:175:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2455:74:28", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2478:22:28", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "2480:16:28" - }, - "nodeType": "YulFunctionCall", - "src": "2480:18:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2480:18:28" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2475:1:28" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2468:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2468:9:28" - }, - "nodeType": "YulIf", - "src": "2465:2:28" - }, - { - "nodeType": "YulAssignment", - "src": "2509:14:28", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2518:1:28" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2521:1:28" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "2514:3:28" - }, - "nodeType": "YulFunctionCall", - "src": "2514:9:28" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "2509:1:28" - } - ] - } - ] - }, - "name": "mod_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "2440:1:28", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "2443:1:28", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "2449:1:28", - "type": "" - } - ], - "src": "2417:112:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2566:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2583:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2586:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2576:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2576:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2576:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2680:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2683:4:28", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2673:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2673:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2673:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2704:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2707:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2697:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2697:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2697:15:28" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "2534:184:28" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2755:152:28", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2772:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2775:77:28", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2765:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2765:88:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2765:88:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2869:1:28", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2872:4:28", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2862:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2862:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2862:15:28" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2893:1:28", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2896:4:28", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2886:6:28" - }, - "nodeType": "YulFunctionCall", - "src": "2886:15:28" - }, - "nodeType": "YulExpressionStatement", - "src": "2886:15:28" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "2723:184:28" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_uint8(headStart)\n }\n function abi_decode_tuple_t_uint8t_bytes32(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := abi_decode_t_uint8(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint8t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := abi_decode_t_uint8(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, value0)\n mstore(add(pos, 32), value1)\n end := add(pos, 64)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function increment_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if eq(value_1, 0xff) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x12()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n}", - "id": 28, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 202 - }, - { - "length": 20, - "start": 326 - } - ] - } - }, - "object": "730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80635075dbfb146100505780637fa00da214610079578063b07ceab81461008c575b600080fd5b61006361005e3660046102f0565b61009f565b6040516100709190610330565b60405180910390f35b6100636100873660046102a6565b6100c3565b61006361009a3660046102c7565b61023c565b6000806100ac858461023c565b9050806100b985826103a3565b9695505050505050565b600080600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561010c57600080fd5b505af4158015610120573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610144919061028e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561018857600080fd5b505af415801561019c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c0919061028e565b6101ca9043610339565b6101d4919061034d565b905060015b8460ff168160ff161161023157826101f460ff83168461036c565b40604051602001610206929190610322565b604051602081830303815290604052805190602001209250808061022990610383565b9150506101d9565b50909150505b919050565b600080610248846100c3565b9050808360405160200161025d929190610322565b60408051808303601f190181529190528051602090910120949350505050565b803560ff8116811461023757600080fd5b60006020828403121561029f578081fd5b5051919050565b6000602082840312156102b7578081fd5b6102c08261027d565b9392505050565b600080604083850312156102d9578081fd5b6102e28361027d565b946020939093013593505050565b600080600060608486031215610304578081fd5b61030d8461027d565b95602085013595506040909401359392505050565b918252602082015260400190565b90815260200190565b600082610348576103486103cd565b500490565b6000816000190483118215151615610367576103676103b7565b500290565b60008282101561037e5761037e6103b7565b500390565b600060ff821660ff81141561039a5761039a6103b7565b60010192915050565b6000826103b2576103b26103cd565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220eb7eb258e3f726aa383a3611810db1309d157c7e3653eebe2935135bdd1703f464736f6c63430008000033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5075DBFB EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x7FA00DA2 EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xB07CEAB8 EQ PUSH2 0x8C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x63 PUSH2 0x5E CALLDATASIZE PUSH1 0x4 PUSH2 0x2F0 JUMP JUMPDEST PUSH2 0x9F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x63 PUSH2 0x87 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A6 JUMP JUMPDEST PUSH2 0xC3 JUMP JUMPDEST PUSH2 0x63 PUSH2 0x9A CALLDATASIZE PUSH1 0x4 PUSH2 0x2C7 JUMP JUMPDEST PUSH2 0x23C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAC DUP6 DUP5 PUSH2 0x23C JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0xB9 DUP6 DUP3 PUSH2 0x3A3 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x120 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x144 SWAP2 SWAP1 PUSH2 0x28E JUMP JUMPDEST PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x188 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x19C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C0 SWAP2 SWAP1 PUSH2 0x28E JUMP JUMPDEST PUSH2 0x1CA SWAP1 NUMBER PUSH2 0x339 JUMP JUMPDEST PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0x34D JUMP JUMPDEST SWAP1 POP PUSH1 0x1 JUMPDEST DUP5 PUSH1 0xFF AND DUP2 PUSH1 0xFF AND GT PUSH2 0x231 JUMPI DUP3 PUSH2 0x1F4 PUSH1 0xFF DUP4 AND DUP5 PUSH2 0x36C JUMP JUMPDEST BLOCKHASH PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x206 SWAP3 SWAP2 SWAP1 PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP DUP1 DUP1 PUSH2 0x229 SWAP1 PUSH2 0x383 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1D9 JUMP JUMPDEST POP SWAP1 SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x248 DUP5 PUSH2 0xC3 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x25D SWAP3 SWAP2 SWAP1 PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB PUSH1 0x1F NOT ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29F JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B7 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2C0 DUP3 PUSH2 0x27D JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2D9 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2E2 DUP4 PUSH2 0x27D JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x304 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x30D DUP5 PUSH2 0x27D JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x348 JUMPI PUSH2 0x348 PUSH2 0x3CD JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x367 JUMPI PUSH2 0x367 PUSH2 0x3B7 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x37E JUMPI PUSH2 0x37E PUSH2 0x3B7 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 EQ ISZERO PUSH2 0x39A JUMPI PUSH2 0x39A PUSH2 0x3B7 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3B2 JUMPI PUSH2 0x3B2 PUSH2 0x3CD JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB PUSH31 0xB258E3F726AA383A3611810DB1309D157C7E3653EEBE2935135BDD1703F464 PUSH20 0x6F6C634300080000330000000000000000000000 ", - "sourceMap": "92:1006:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;194:207;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;678:418;;;;;;:::i;:::-;;:::i;466:206::-;;;;;;:::i;:::-;;:::i;194:207::-;273:7;292:12;307:25;316:9;327:4;307:8;:25::i;:::-;292:40;-1:-1:-1;292:40:26;386:7;390:3;292:40;386:7;:::i;:::-;379:15;194:207;-1:-1:-1;;;;;;194:207:26:o;678:418::-;736:7;755:11;821:29;895:9;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;868:9;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;854:38;;:12;:38;:::i;:::-;853:66;;;;:::i;:::-;821:98;-1:-1:-1;944:1:26;929:140;952:9;947:14;;:1;:14;;;929:140;;1015:3;1030:25;;;;:21;:25;:::i;:::-;1020:36;998:59;;;;;;;;;:::i;:::-;;;;;;;;;;;;;988:70;;;;;;982:76;;963:3;;;;;:::i;:::-;;;;929:140;;;-1:-1:-1;1085:3:26;;-1:-1:-1;;678:418:26;;;;:::o;466:206::-;535:7;554:11;568:22;580:9;568:11;:22::i;:::-;554:36;;633:3;638:4;616:27;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;616:27:26;;;;;;606:38;;616:27;606:38;;;;;466:206;-1:-1:-1;;;;466:206:26:o;14:158:28:-;82:20;;142:4;131:16;;121:27;;111:2;;162:1;159;152:12;177:194;;300:2;288:9;279:7;275:23;271:32;268:2;;;321:6;313;306:22;268:2;-1:-1:-1;349:16:28;;258:113;-1:-1:-1;258:113:28:o;376:194::-;;486:2;474:9;465:7;461:23;457:32;454:2;;;507:6;499;492:22;454:2;535:29;554:9;535:29;:::i;:::-;525:39;444:126;-1:-1:-1;;;444:126:28:o;575:262::-;;;702:2;690:9;681:7;677:23;673:32;670:2;;;723:6;715;708:22;670:2;751:29;770:9;751:29;:::i;:::-;741:39;827:2;812:18;;;;799:32;;-1:-1:-1;;;660:177:28:o;842:330::-;;;;986:2;974:9;965:7;961:23;957:32;954:2;;;1007:6;999;992:22;954:2;1035:29;1054:9;1035:29;:::i;:::-;1025:39;1111:2;1096:18;;1083:32;;-1:-1:-1;1162:2:28;1147:18;;;1134:32;;944:228;-1:-1:-1;;;944:228:28:o;1177:247::-;1334:19;;;1378:2;1369:12;;1362:28;1415:2;1406:12;;1324:100::o;1429:185::-;1583:25;;;1571:2;1556:18;;1538:76::o;1809:120::-;;1875:1;1865:2;;1880:18;;:::i;:::-;-1:-1:-1;1914:9:28;;1855:74::o;1934:168::-;;2040:1;2036;2032:6;2028:14;2025:1;2022:21;2017:1;2010:9;2003:17;1999:45;1996:2;;;2047:18;;:::i;:::-;-1:-1:-1;2087:9:28;;1986:116::o;2107:125::-;;2175:1;2172;2169:8;2166:2;;;2180:18;;:::i;:::-;-1:-1:-1;2217:9:28;;2156:76::o;2237:175::-;;2318:4;2311:5;2307:16;2347:4;2338:7;2335:17;2332:2;;;2355:18;;:::i;:::-;2404:1;2391:15;;2282:130;-1:-1:-1;;2282:130:28:o;2417:112::-;;2475:1;2465:2;;2480:18;;:::i;:::-;-1:-1:-1;2514:9:28;;2455:74::o;2534:184::-;-1:-1:-1;;;2583:1:28;2576:88;2683:4;2680:1;2673:15;2707:4;2704:1;2697:15;2723:184;-1:-1:-1;;;2772:1:28;2765:88;2872:4;2869:1;2862:15;2896:4;2893:1;2886:15" - }, - "methodIdentifiers": { - "blockHashes(uint8)": "7fa00da2", - "prng(uint8,uint256,bytes32)": "5075dbfb", - "prngHash(uint8,bytes32)": "b07ceab8" - } - } - } - }, - "contracts/lib/Structs.sol": { - "Structs": { - "abi": [], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e0d805c0755810e7720ec9dfd9ceb27526cf5d4622cfe74e4c94b0ad39532a0664736f6c63430008000033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE0 0xD8 SDIV 0xC0 PUSH22 0x5810E7720EC9DFD9CEB27526CF5D4622CFE74E4C94B0 0xAD CODECOPY MSTORE8 0x2A MOD PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "65:1040:27:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1040:27;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e0d805c0755810e7720ec9dfd9ceb27526cf5d4622cfe74e4c94b0ad39532a0664736f6c63430008000033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE0 0xD8 SDIV 0xC0 PUSH22 0x5810E7720EC9DFD9CEB27526CF5D4622CFE74E4C94B0 0xAD CODECOPY MSTORE8 0x2A MOD PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "65:1040:27:-:0;;;;;;;;" - }, - "methodIdentifiers": {} - } - } - } - }, - "sources": { - "@openzeppelin/contracts/access/AccessControl.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", - "exportedSymbols": { - "AccessControl": [ - 322 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "IAccessControl": [ - 42 - ], - "IERC165": [ - 1031 - ] - }, - "id": 323, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:0" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../utils/Context.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 323, - "sourceUnit": 925, - "src": "58:30:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "file": "../utils/introspection/ERC165.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 323, - "sourceUnit": 1020, - "src": "89:43:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 4, - "nodeType": "StructuredDocumentation", - "src": "134:89:0", - "text": " @dev External interface of AccessControl declared to support ERC165 detection." - }, - "fullyImplemented": false, - "id": 42, - "linearizedBaseContracts": [ - 42 - ], - "name": "IAccessControl", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "91d14854", - "id": 13, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "hasRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "272:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "272:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 8, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "286:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "286:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "271:31:0" - }, - "returnParameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "326:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "326:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "325:6:0" - }, - "scope": 42, - "src": "255:77:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "248a9ca3", - "id": 20, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getRoleAdmin", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 20, - "src": "359:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "359:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "358:14:0" - }, - "returnParameters": { - "id": 19, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20, - "src": "396:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 17, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "396:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "395:9:0" - }, - "scope": 42, - "src": "337:68:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "2f2ff15d", - "id": 27, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "grantRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 27, - "src": "429:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "429:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 27, - "src": "443:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "443:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "428:31:0" - }, - "returnParameters": { - "id": 26, - "nodeType": "ParameterList", - "parameters": [], - "src": "468:0:0" - }, - "scope": 42, - "src": "410:59:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "d547741f", - "id": 34, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 32, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 34, - "src": "494:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "494:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 31, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 34, - "src": "508:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "508:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "493:31:0" - }, - "returnParameters": { - "id": 33, - "nodeType": "ParameterList", - "parameters": [], - "src": "533:0:0" - }, - "scope": 42, - "src": "474:60:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "36568abe", - "id": 41, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "renounceRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 39, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 36, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 41, - "src": "561:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 35, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "561:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 38, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 41, - "src": "575:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 37, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "575:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "560:31:0" - }, - "returnParameters": { - "id": 40, - "nodeType": "ParameterList", - "parameters": [], - "src": "600:0:0" - }, - "scope": 42, - "src": "539:62:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 323, - "src": "224:379:0" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 44, - "name": "Context", - "nodeType": "IdentifierPath", - "referencedDeclaration": 924, - "src": "2175:7:0" - }, - "id": 45, - "nodeType": "InheritanceSpecifier", - "src": "2175:7:0" - }, - { - "baseName": { - "id": 46, - "name": "IAccessControl", - "nodeType": "IdentifierPath", - "referencedDeclaration": 42, - "src": "2184:14:0" - }, - "id": 47, - "nodeType": "InheritanceSpecifier", - "src": "2184:14:0" - }, - { - "baseName": { - "id": 48, - "name": "ERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1019, - "src": "2200:6:0" - }, - "id": 49, - "nodeType": "InheritanceSpecifier", - "src": "2200:6:0" - } - ], - "contractDependencies": [ - 42, - 924, - 1019, - 1031 - ], - "contractKind": "contract", - "documentation": { - "id": 43, - "nodeType": "StructuredDocumentation", - "src": "605:1534:0", - "text": " @dev Contract module that allows children to implement role-based access\n control mechanisms. This is a lightweight version that doesn't allow enumerating role\n members except through off-chain means by accessing the contract event logs. Some\n applications may benefit from on-chain enumerability, for those cases see\n {AccessControlEnumerable}.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```\n function foo() public {\n require(hasRole(MY_ROLE, msg.sender));\n ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it." - }, - "fullyImplemented": true, - "id": 322, - "linearizedBaseContracts": [ - 322, - 1019, - 1031, - 42, - 924 - ], - "name": "AccessControl", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "AccessControl.RoleData", - "id": 56, - "members": [ - { - "constant": false, - "id": 53, - "mutability": "mutable", - "name": "members", - "nodeType": "VariableDeclaration", - "scope": 56, - "src": "2239:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 52, - "keyType": { - "id": 50, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2248:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2239:25:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 51, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2259:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55, - "mutability": "mutable", - "name": "adminRole", - "nodeType": "VariableDeclaration", - "scope": 56, - "src": "2282:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 54, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2282:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "name": "RoleData", - "nodeType": "StructDefinition", - "scope": 322, - "src": "2213:93:0", - "visibility": "public" - }, - { - "constant": false, - "id": 61, - "mutability": "mutable", - "name": "_roles", - "nodeType": "VariableDeclaration", - "scope": 322, - "src": "2312:44:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" - }, - "typeName": { - "id": 60, - "keyType": { - "id": 57, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2321:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2312:29:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" - }, - "valueType": { - "id": 59, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 58, - "name": "RoleData", - "nodeType": "IdentifierPath", - "referencedDeclaration": 56, - "src": "2332:8:0" - }, - "referencedDeclaration": 56, - "src": "2332:8:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage_ptr", - "typeString": "struct AccessControl.RoleData" - } - } - }, - "visibility": "private" - }, - { - "constant": true, - "functionSelector": "a217fddf", - "id": 64, - "mutability": "constant", - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 322, - "src": "2363:49:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 62, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2363:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "30783030", - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2408:4:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": { - "id": 65, - "nodeType": "StructuredDocumentation", - "src": "2419:292:0", - "text": " @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted signaling this.\n _Available since v3.1._" - }, - "id": 73, - "name": "RoleAdminChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 72, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 67, - "indexed": true, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "2739:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 66, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2739:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 69, - "indexed": true, - "mutability": "mutable", - "name": "previousAdminRole", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "2761:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 68, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2761:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 71, - "indexed": true, - "mutability": "mutable", - "name": "newAdminRole", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "2796:28:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 70, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2796:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2738:87:0" - }, - "src": "2716:110:0" - }, - { - "anonymous": false, - "documentation": { - "id": 74, - "nodeType": "StructuredDocumentation", - "src": "2832:198:0", - "text": " @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call, an admin role\n bearer except when using {_setupRole}." - }, - "id": 82, - "name": "RoleGranted", - "nodeType": "EventDefinition", - "parameters": { - "id": 81, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76, - "indexed": true, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 82, - "src": "3053:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3053:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 78, - "indexed": true, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 82, - "src": "3075:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3075:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 82, - "src": "3100:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3100:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3052:71:0" - }, - "src": "3035:89:0" - }, - { - "anonymous": false, - "documentation": { - "id": 83, - "nodeType": "StructuredDocumentation", - "src": "3130:275:0", - "text": " @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)" - }, - "id": 91, - "name": "RoleRevoked", - "nodeType": "EventDefinition", - "parameters": { - "id": 90, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85, - "indexed": true, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "3428:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 84, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3428:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "3450:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3450:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 89, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "3475:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3475:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3427:71:0" - }, - "src": "3410:89:0" - }, - { - "baseFunctions": [ - 1018 - ], - "body": { - "id": 112, - "nodeType": "Block", - "src": "3657:123:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 100, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "3674:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 102, - "name": "IAccessControl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 42, - "src": "3694:14:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAccessControl_$42_$", - "typeString": "type(contract IAccessControl)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IAccessControl_$42_$", - "typeString": "type(contract IAccessControl)" - } - ], - "id": 101, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3689:4:0", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3689:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IAccessControl_$42", - "typeString": "type(contract IAccessControl)" - } - }, - "id": 104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "3689:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "3674:47:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 108, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "3761:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 106, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "3737:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_AccessControl_$322_$", - "typeString": "type(contract super AccessControl)" - } - }, - "id": 107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 1018, - "src": "3737:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3737:36:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3674:99:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 99, - "id": 111, - "nodeType": "Return", - "src": "3667:106:0" - } - ] - }, - "documentation": { - "id": 92, - "nodeType": "StructuredDocumentation", - "src": "3505:56:0", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 113, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 96, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3633:8:0" - }, - "parameters": { - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "scope": 113, - "src": "3593:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 93, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3593:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "3592:20:0" - }, - "returnParameters": { - "id": 99, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 98, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 113, - "src": "3651:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 97, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3651:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3650:6:0" - }, - "scope": 322, - "src": "3566:214:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 13 - ], - "body": { - "id": 131, - "nodeType": "Block", - "src": "3951:53:0", - "statements": [ - { - "expression": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 124, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "3968:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 126, - "indexExpression": { - "id": 125, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 116, - "src": "3975:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3968:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 127, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "members", - "nodeType": "MemberAccess", - "referencedDeclaration": 53, - "src": "3968:20:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 129, - "indexExpression": { - "id": 128, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 118, - "src": "3989:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3968:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 123, - "id": 130, - "nodeType": "Return", - "src": "3961:36:0" - } - ] - }, - "documentation": { - "id": 114, - "nodeType": "StructuredDocumentation", - "src": "3786:76:0", - "text": " @dev Returns `true` if `account` has been granted `role`." - }, - "functionSelector": "91d14854", - "id": 132, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "hasRole", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 120, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3927:8:0" - }, - "parameters": { - "id": 119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 116, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 132, - "src": "3884:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 115, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3884:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 118, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 132, - "src": "3898:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3898:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3883:31:0" - }, - "returnParameters": { - "id": 123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 122, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 132, - "src": "3945:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 121, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3945:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3944:6:0" - }, - "scope": 322, - "src": "3867:137:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 20 - ], - "body": { - "id": 146, - "nodeType": "Block", - "src": "4260:46:0", - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 141, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "4277:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 143, - "indexExpression": { - "id": 142, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 135, - "src": "4284:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4277:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "adminRole", - "nodeType": "MemberAccess", - "referencedDeclaration": 55, - "src": "4277:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 140, - "id": 145, - "nodeType": "Return", - "src": "4270:29:0" - } - ] - }, - "documentation": { - "id": 133, - "nodeType": "StructuredDocumentation", - "src": "4010:170:0", - "text": " @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}." - }, - "functionSelector": "248a9ca3", - "id": 147, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRoleAdmin", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 137, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4233:8:0" - }, - "parameters": { - "id": 136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 135, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 147, - "src": "4207:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 134, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4207:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4206:14:0" - }, - "returnParameters": { - "id": 140, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 139, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 147, - "src": "4251:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 138, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4251:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4250:9:0" - }, - "scope": 322, - "src": "4185:121:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 27 - ], - "body": { - "id": 172, - "nodeType": "Block", - "src": "4630:154:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 159, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "4669:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 158, - "name": "getRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "4656:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4656:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 161, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4676:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4676:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 157, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "4648:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4648:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e74", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4691:49:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811", - "typeString": "literal_string \"AccessControl: sender must be an admin to grant\"" - }, - "value": "AccessControl: sender must be an admin to grant" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811", - "typeString": "literal_string \"AccessControl: sender must be an admin to grant\"" - } - ], - "id": 156, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4640:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4640:101:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 166, - "nodeType": "ExpressionStatement", - "src": "4640:101:0" - }, - { - "expression": { - "arguments": [ - { - "id": 168, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "4763:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 169, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 152, - "src": "4769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 167, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "4752:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4752:25:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 171, - "nodeType": "ExpressionStatement", - "src": "4752:25:0" - } - ] - }, - "documentation": { - "id": 148, - "nodeType": "StructuredDocumentation", - "src": "4312:239:0", - "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role." - }, - "functionSelector": "2f2ff15d", - "id": 173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "grantRole", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 154, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4621:8:0" - }, - "parameters": { - "id": 153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 150, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 173, - "src": "4575:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 149, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4575:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 152, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 173, - "src": "4589:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 151, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4589:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4574:31:0" - }, - "returnParameters": { - "id": 155, - "nodeType": "ParameterList", - "parameters": [], - "src": "4630:0:0" - }, - "scope": 322, - "src": "4556:228:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 34 - ], - "body": { - "id": 198, - "nodeType": "Block", - "src": "5093:156:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 185, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 176, - "src": "5132:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 184, - "name": "getRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "5119:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5119:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 187, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5139:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5139:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 183, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "5111:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5111:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65", - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5154:50:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3", - "typeString": "literal_string \"AccessControl: sender must be an admin to revoke\"" - }, - "value": "AccessControl: sender must be an admin to revoke" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3", - "typeString": "literal_string \"AccessControl: sender must be an admin to revoke\"" - } - ], - "id": 182, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5103:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5103:102:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 192, - "nodeType": "ExpressionStatement", - "src": "5103:102:0" - }, - { - "expression": { - "arguments": [ - { - "id": 194, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 176, - "src": "5228:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 195, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "5234:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 193, - "name": "_revokeRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 321, - "src": "5216:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5216:26:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 197, - "nodeType": "ExpressionStatement", - "src": "5216:26:0" - } - ] - }, - "documentation": { - "id": 174, - "nodeType": "StructuredDocumentation", - "src": "4790:223:0", - "text": " @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role." - }, - "functionSelector": "d547741f", - "id": 199, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "revokeRole", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 180, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5084:8:0" - }, - "parameters": { - "id": 179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 176, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 199, - "src": "5038:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 175, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5038:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 178, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 199, - "src": "5052:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5052:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5037:31:0" - }, - "returnParameters": { - "id": 181, - "nodeType": "ParameterList", - "parameters": [], - "src": "5093:0:0" - }, - "scope": 322, - "src": "5018:231:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 41 - ], - "body": { - "id": 221, - "nodeType": "Block", - "src": "5817:137:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 209, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "5835:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 210, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5846:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5846:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5835:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66", - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5860:49:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", - "typeString": "literal_string \"AccessControl: can only renounce roles for self\"" - }, - "value": "AccessControl: can only renounce roles for self" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", - "typeString": "literal_string \"AccessControl: can only renounce roles for self\"" - } - ], - "id": 208, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5827:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5827:83:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 215, - "nodeType": "ExpressionStatement", - "src": "5827:83:0" - }, - { - "expression": { - "arguments": [ - { - "id": 217, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "5933:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 218, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "5939:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 216, - "name": "_revokeRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 321, - "src": "5921:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5921:26:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 220, - "nodeType": "ExpressionStatement", - "src": "5921:26:0" - } - ] - }, - "documentation": { - "id": 200, - "nodeType": "StructuredDocumentation", - "src": "5255:480:0", - "text": " @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`." - }, - "functionSelector": "36568abe", - "id": 222, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "renounceRole", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 206, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5808:8:0" - }, - "parameters": { - "id": 205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 222, - "src": "5762:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 201, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5762:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 204, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 222, - "src": "5776:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5776:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5761:31:0" - }, - "returnParameters": { - "id": 207, - "nodeType": "ParameterList", - "parameters": [], - "src": "5817:0:0" - }, - "scope": 322, - "src": "5740:214:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 235, - "nodeType": "Block", - "src": "6587:42:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 231, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "6608:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 232, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 227, - "src": "6614:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 230, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "6597:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6597:25:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 234, - "nodeType": "ExpressionStatement", - "src": "6597:25:0" - } - ] - }, - "documentation": { - "id": 223, - "nodeType": "StructuredDocumentation", - "src": "5960:554:0", - "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event. Note that unlike {grantRole}, this function doesn't perform any\n checks on the calling account.\n [WARNING]\n ====\n This function should only be called from the constructor when setting\n up the initial roles for the system.\n Using this function in any other way is effectively circumventing the admin\n system imposed by {AccessControl}.\n ====" - }, - "id": 236, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setupRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 225, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 236, - "src": "6539:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 224, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6539:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 227, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 236, - "src": "6553:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 226, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6553:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6538:31:0" - }, - "returnParameters": { - "id": 229, - "nodeType": "ParameterList", - "parameters": [], - "src": "6587:0:0" - }, - "scope": 322, - "src": "6519:110:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 259, - "nodeType": "Block", - "src": "6827:119:0", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 245, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "6859:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "id": 247, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "6878:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 246, - "name": "getRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "6865:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6865:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 249, - "name": "adminRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "6885:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 244, - "name": "RoleAdminChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "6842:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32,bytes32)" - } - }, - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6842:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 251, - "nodeType": "EmitStatement", - "src": "6837:58:0" - }, - { - "expression": { - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 252, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "6905:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 254, - "indexExpression": { - "id": 253, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "6912:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6905:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "adminRole", - "nodeType": "MemberAccess", - "referencedDeclaration": 55, - "src": "6905:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 256, - "name": "adminRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "6930:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "6905:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 258, - "nodeType": "ExpressionStatement", - "src": "6905:34:0" - } - ] - }, - "documentation": { - "id": 237, - "nodeType": "StructuredDocumentation", - "src": "6635:114:0", - "text": " @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event." - }, - "id": 260, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setRoleAdmin", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 239, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "6777:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 238, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6777:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 241, - "mutability": "mutable", - "name": "adminRole", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "6791:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 240, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6791:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "6776:33:0" - }, - "returnParameters": { - "id": 243, - "nodeType": "ParameterList", - "parameters": [], - "src": "6827:0:0" - }, - "scope": 322, - "src": "6754:192:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 290, - "nodeType": "Block", - "src": "7011:165:0", - "statements": [ - { - "condition": { - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7025:23:0", - "subExpression": { - "arguments": [ - { - "id": 268, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "7034:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 269, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 264, - "src": "7040:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 267, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "7026:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7026:22:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 289, - "nodeType": "IfStatement", - "src": "7021:149:0", - "trueBody": { - "id": 288, - "nodeType": "Block", - "src": "7050:120:0", - "statements": [ - { - "expression": { - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 272, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "7064:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 274, - "indexExpression": { - "id": 273, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "7071:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7064:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 275, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "members", - "nodeType": "MemberAccess", - "referencedDeclaration": 53, - "src": "7064:20:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 277, - "indexExpression": { - "id": 276, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 264, - "src": "7085:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7064:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7096:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7064:36:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 280, - "nodeType": "ExpressionStatement", - "src": "7064:36:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 282, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "7131:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 283, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 264, - "src": "7137:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 284, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "7146:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 281, - "name": "RoleGranted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82, - "src": "7119:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", - "typeString": "function (bytes32,address,address)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7119:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 287, - "nodeType": "EmitStatement", - "src": "7114:45:0" - } - ] - } - } - ] - }, - "id": 291, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_grantRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 265, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 262, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "6972:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 261, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6972:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 264, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "6986:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6986:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6971:31:0" - }, - "returnParameters": { - "id": 266, - "nodeType": "ParameterList", - "parameters": [], - "src": "7011:0:0" - }, - "scope": 322, - "src": "6952:224:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 320, - "nodeType": "Block", - "src": "7242:165:0", - "statements": [ - { - "condition": { - "arguments": [ - { - "id": 299, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "7264:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 300, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "7270:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 298, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "7256:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7256:22:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 319, - "nodeType": "IfStatement", - "src": "7252:149:0", - "trueBody": { - "id": 318, - "nodeType": "Block", - "src": "7280:121:0", - "statements": [ - { - "expression": { - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 302, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "7294:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 304, - "indexExpression": { - "id": 303, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "7301:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7294:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 305, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "members", - "nodeType": "MemberAccess", - "referencedDeclaration": 53, - "src": "7294:20:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 307, - "indexExpression": { - "id": 306, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "7315:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7294:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7326:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "7294:37:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 310, - "nodeType": "ExpressionStatement", - "src": "7294:37:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 312, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "7362:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 313, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "7368:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 314, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "7377:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7377:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 311, - "name": "RoleRevoked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "7350:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", - "typeString": "function (bytes32,address,address)" - } - }, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7350:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 317, - "nodeType": "EmitStatement", - "src": "7345:45:0" - } - ] - } - } - ] - }, - "id": 321, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revokeRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 293, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 321, - "src": "7203:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 292, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7203:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 295, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 321, - "src": "7217:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7217:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "7202:31:0" - }, - "returnParameters": { - "id": 297, - "nodeType": "ParameterList", - "parameters": [], - "src": "7242:0:0" - }, - "scope": 322, - "src": "7182:225:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 323, - "src": "2140:5269:0" - } - ], - "src": "33:7377:0" - }, - "id": 0 - }, - "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "Context": [ - 924 - ], - "ERC20": [ - 823 - ], - "IERC20": [ - 901 - ] - }, - "id": 824, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 324, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:1" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 325, - "nodeType": "ImportDirective", - "scope": 824, - "sourceUnit": 902, - "src": "58:22:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 326, - "nodeType": "ImportDirective", - "scope": 824, - "sourceUnit": 925, - "src": "81:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 328, - "name": "Context", - "nodeType": "IdentifierPath", - "referencedDeclaration": 924, - "src": "1297:7:1" - }, - "id": 329, - "nodeType": "InheritanceSpecifier", - "src": "1297:7:1" - }, - { - "baseName": { - "id": 330, - "name": "IERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 901, - "src": "1306:6:1" - }, - "id": 331, - "nodeType": "InheritanceSpecifier", - "src": "1306:6:1" - } - ], - "contractDependencies": [ - 901, - 924 - ], - "contractKind": "contract", - "documentation": { - "id": 327, - "nodeType": "StructuredDocumentation", - "src": "116:1162:1", - "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 For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin guidelines: functions revert instead\n of returning `false` on failure. This behavior is nonetheless conventional\n and does not conflict with the expectations of ERC20 applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." - }, - "fullyImplemented": true, - "id": 823, - "linearizedBaseContracts": [ - 823, - 901, - 924 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 335, - "mutability": "mutable", - "name": "_balances", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "1319:46:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 334, - "keyType": { - "id": 332, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1328:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1319:28:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 333, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1339:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 341, - "mutability": "mutable", - "name": "_allowances", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "1372:69:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 340, - "keyType": { - "id": 336, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1381:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1372:49:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 339, - "keyType": { - "id": 337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1401:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1392:28:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1412:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 343, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "1448:28:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 342, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1448:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 345, - "mutability": "mutable", - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "1483:20:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 344, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1483:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 347, - "mutability": "mutable", - "name": "_symbol", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "1509:22:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 346, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1509:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 363, - "nodeType": "Block", - "src": "1899:57:1", - "statements": [ - { - "expression": { - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 355, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 345, - "src": "1909:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 356, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 350, - "src": "1917:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1909:13:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 358, - "nodeType": "ExpressionStatement", - "src": "1909:13:1" - }, - { - "expression": { - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 359, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 347, - "src": "1932:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 360, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 352, - "src": "1942:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1932:17:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 362, - "nodeType": "ExpressionStatement", - "src": "1932:17:1" - } - ] - }, - "documentation": { - "id": 348, - "nodeType": "StructuredDocumentation", - "src": "1538:299:1", - "text": " @dev Sets the values for {name} and {symbol}.\n The defaut value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All three of these values are immutable: they can only be set once during\n construction." - }, - "id": 364, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 350, - "mutability": "mutable", - "name": "name_", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "1855:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 349, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1855:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 352, - "mutability": "mutable", - "name": "symbol_", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "1876:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 351, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1876:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1854:44:1" - }, - "returnParameters": { - "id": 354, - "nodeType": "ParameterList", - "parameters": [], - "src": "1899:0:1" - }, - "scope": 823, - "src": "1842:114:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 372, - "nodeType": "Block", - "src": "2081:29:1", - "statements": [ - { - "expression": { - "id": 370, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 345, - "src": "2098:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 369, - "id": 371, - "nodeType": "Return", - "src": "2091:12:1" - } - ] - }, - "documentation": { - "id": 365, - "nodeType": "StructuredDocumentation", - "src": "1962:54:1", - "text": " @dev Returns the name of the token." - }, - "functionSelector": "06fdde03", - "id": 373, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 366, - "nodeType": "ParameterList", - "parameters": [], - "src": "2034:2:1" - }, - "returnParameters": { - "id": 369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 368, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 373, - "src": "2066:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 367, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2066:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2065:15:1" - }, - "scope": 823, - "src": "2021:89:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "2285:31:1", - "statements": [ - { - "expression": { - "id": 379, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 347, - "src": "2302:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 378, - "id": 380, - "nodeType": "Return", - "src": "2295:14:1" - } - ] - }, - "documentation": { - "id": 374, - "nodeType": "StructuredDocumentation", - "src": "2116:102:1", - "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." - }, - "functionSelector": "95d89b41", - "id": 382, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 375, - "nodeType": "ParameterList", - "parameters": [], - "src": "2238:2:1" - }, - "returnParameters": { - "id": 378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 377, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 382, - "src": "2270:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 376, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2270:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2269:15:1" - }, - "scope": 823, - "src": "2223:93:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 390, - "nodeType": "Block", - "src": "2996:26:1", - "statements": [ - { - "expression": { - "hexValue": "3138", - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3013:2:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "functionReturnParameters": 387, - "id": 389, - "nodeType": "Return", - "src": "3006:9:1" - } - ] - }, - "documentation": { - "id": 383, - "nodeType": "StructuredDocumentation", - "src": "2322:613:1", - "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 value {ERC20} uses, unless this function is\n overloaded;\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": 391, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 384, - "nodeType": "ParameterList", - "parameters": [], - "src": "2957:2:1" - }, - "returnParameters": { - "id": 387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 386, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 391, - "src": "2989:5:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 385, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2989:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "2988:7:1" - }, - "scope": 823, - "src": "2940:82:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 832 - ], - "body": { - "id": 400, - "nodeType": "Block", - "src": "3152:36:1", - "statements": [ - { - "expression": { - "id": 398, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "3169:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 397, - "id": 399, - "nodeType": "Return", - "src": "3162:19:1" - } - ] - }, - "documentation": { - "id": 392, - "nodeType": "StructuredDocumentation", - "src": "3028:49:1", - "text": " @dev See {IERC20-totalSupply}." - }, - "functionSelector": "18160ddd", - "id": 401, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 394, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3125:8:1" - }, - "parameters": { - "id": 393, - "nodeType": "ParameterList", - "parameters": [], - "src": "3102:2:1" - }, - "returnParameters": { - "id": 397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 396, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 401, - "src": "3143:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3143:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3142:9:1" - }, - "scope": 823, - "src": "3082:106:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 840 - ], - "body": { - "id": 414, - "nodeType": "Block", - "src": "3329:42:1", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 410, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "3346:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 412, - "indexExpression": { - "id": 411, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "3356:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3346:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 409, - "id": 413, - "nodeType": "Return", - "src": "3339:25:1" - } - ] - }, - "documentation": { - "id": 402, - "nodeType": "StructuredDocumentation", - "src": "3194:47:1", - "text": " @dev See {IERC20-balanceOf}." - }, - "functionSelector": "70a08231", - "id": 415, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 406, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3302:8:1" - }, - "parameters": { - "id": 405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 404, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 415, - "src": "3265:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 403, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3265:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3264:17:1" - }, - "returnParameters": { - "id": 409, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 408, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 415, - "src": "3320:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3320:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3319:9:1" - }, - "scope": 823, - "src": "3246:125:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 850 - ], - "body": { - "id": 435, - "nodeType": "Block", - "src": "3666:80:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 427, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "3686:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3686:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 429, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "3700:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 430, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 420, - "src": "3711:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 426, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "3676:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3676:42:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 432, - "nodeType": "ExpressionStatement", - "src": "3676:42:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3735:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 425, - "id": 434, - "nodeType": "Return", - "src": "3728:11:1" - } - ] - }, - "documentation": { - "id": 416, - "nodeType": "StructuredDocumentation", - "src": "3377:192:1", - "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `recipient` cannot be the zero address.\n - the caller must have a balance of at least `amount`." - }, - "functionSelector": "a9059cbb", - "id": 436, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 422, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3642:8:1" - }, - "parameters": { - "id": 421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 418, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 436, - "src": "3592:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 417, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3592:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 420, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 436, - "src": "3611:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 419, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3611:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3591:35:1" - }, - "returnParameters": { - "id": 425, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 424, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 436, - "src": "3660:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 423, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3660:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3659:6:1" - }, - "scope": 823, - "src": "3574:172:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 860 - ], - "body": { - "id": 453, - "nodeType": "Block", - "src": "3902:51:1", - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 447, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "3919:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 449, - "indexExpression": { - "id": 448, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 439, - "src": "3931:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3919:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 451, - "indexExpression": { - "id": 450, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 441, - "src": "3938:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3919:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 446, - "id": 452, - "nodeType": "Return", - "src": "3912:34:1" - } - ] - }, - "documentation": { - "id": 437, - "nodeType": "StructuredDocumentation", - "src": "3752:47:1", - "text": " @dev See {IERC20-allowance}." - }, - "functionSelector": "dd62ed3e", - "id": 454, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 443, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3875:8:1" - }, - "parameters": { - "id": 442, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 439, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 454, - "src": "3823:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 438, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3823:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 441, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 454, - "src": "3838:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 440, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3838:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3822:32:1" - }, - "returnParameters": { - "id": 446, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 445, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 454, - "src": "3893:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3893:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3892:9:1" - }, - "scope": 823, - "src": "3804:149:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 870 - ], - "body": { - "id": 474, - "nodeType": "Block", - "src": "4180:77:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 466, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4199:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4199:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 468, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 457, - "src": "4213:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 469, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 459, - "src": "4222:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 465, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "4190:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4190:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 471, - "nodeType": "ExpressionStatement", - "src": "4190:39:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4246:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 464, - "id": 473, - "nodeType": "Return", - "src": "4239:11:1" - } - ] - }, - "documentation": { - "id": 455, - "nodeType": "StructuredDocumentation", - "src": "3959:127:1", - "text": " @dev See {IERC20-approve}.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "095ea7b3", - "id": 475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 461, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4156:8:1" - }, - "parameters": { - "id": 460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 457, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "4108:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 456, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4108:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 459, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "4125:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4125:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4107:33:1" - }, - "returnParameters": { - "id": 464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 463, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "4174:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 462, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4174:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4173:6:1" - }, - "scope": 823, - "src": "4091:166:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 882 - ], - "body": { - "id": 521, - "nodeType": "Block", - "src": "4836:302:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 489, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 478, - "src": "4856:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 490, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 480, - "src": "4864:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 491, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 482, - "src": "4875:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 488, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "4846:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4846:36:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "4846:36:1" - }, - { - "assignments": [ - 495 - ], - "declarations": [ - { - "constant": false, - "id": 495, - "mutability": "mutable", - "name": "currentAllowance", - "nodeType": "VariableDeclaration", - "scope": 521, - "src": "4893:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4893:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 502, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 496, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4920:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 498, - "indexExpression": { - "id": 497, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 478, - "src": "4932:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4920:19:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 501, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 499, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4940:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4940:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4920:33:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4893:60:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 504, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "4971:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 505, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 482, - "src": "4991:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4971:26:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4999:42:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - }, - "value": "ERC20: transfer amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - } - ], - "id": 503, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4963:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4963:79:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 509, - "nodeType": "ExpressionStatement", - "src": "4963:79:1" - }, - { - "expression": { - "arguments": [ - { - "id": 511, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 478, - "src": "5061:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 512, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5069:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5069:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 514, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "5083:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 515, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 482, - "src": "5102:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5083:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 510, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "5052:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5052:57:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 518, - "nodeType": "ExpressionStatement", - "src": "5052:57:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5127:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 487, - "id": 520, - "nodeType": "Return", - "src": "5120:11:1" - } - ] - }, - "documentation": { - "id": 476, - "nodeType": "StructuredDocumentation", - "src": "4263:456:1", - "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n Requirements:\n - `sender` and `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`.\n - the caller must have allowance for ``sender``'s tokens of at least\n `amount`." - }, - "functionSelector": "23b872dd", - "id": 522, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 484, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4812:8:1" - }, - "parameters": { - "id": 483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 478, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 522, - "src": "4746:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4746:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 480, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 522, - "src": "4762:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 479, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4762:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 482, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 522, - "src": "4781:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4781:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4745:51:1" - }, - "returnParameters": { - "id": 487, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 486, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 522, - "src": "4830:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 485, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4830:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4829:6:1" - }, - "scope": 823, - "src": "4724:414:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 548, - "nodeType": "Block", - "src": "5627:118:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 533, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5646:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5646:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 535, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "5660:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 536, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "5669:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 539, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 537, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5681:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5681:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5669:25:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 541, - "indexExpression": { - "id": 540, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "5695:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5669:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 542, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "5706:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5669:47:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 532, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "5637:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5637:80:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 545, - "nodeType": "ExpressionStatement", - "src": "5637:80:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5734:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 531, - "id": 547, - "nodeType": "Return", - "src": "5727:11:1" - } - ] - }, - "documentation": { - "id": 523, - "nodeType": "StructuredDocumentation", - "src": "5144:384:1", - "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "39509351", - "id": 549, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 528, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 525, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 549, - "src": "5560:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 524, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5560:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 527, - "mutability": "mutable", - "name": "addedValue", - "nodeType": "VariableDeclaration", - "scope": 549, - "src": "5577:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5577:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5559:37:1" - }, - "returnParameters": { - "id": 531, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 530, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 549, - "src": "5621:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 529, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5621:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5620:6:1" - }, - "scope": 823, - "src": "5533:212:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 586, - "nodeType": "Block", - "src": "6331:272:1", - "statements": [ - { - "assignments": [ - 560 - ], - "declarations": [ - { - "constant": false, - "id": 560, - "mutability": "mutable", - "name": "currentAllowance", - "nodeType": "VariableDeclaration", - "scope": 586, - "src": "6341:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6341:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 567, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 561, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "6368:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 564, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 562, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "6380:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6380:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6368:25:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 566, - "indexExpression": { - "id": 565, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 552, - "src": "6394:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6368:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6341:61:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 569, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 560, - "src": "6420:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 570, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "6440:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6420:35:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6457:39:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "id": 568, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6412:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6412:85:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 574, - "nodeType": "ExpressionStatement", - "src": "6412:85:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 576, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "6516:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6516:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 578, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 552, - "src": "6530:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 579, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 560, - "src": "6539:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 580, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "6558:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6539:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 575, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "6507:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6507:67:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 583, - "nodeType": "ExpressionStatement", - "src": "6507:67:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6592:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 558, - "id": 585, - "nodeType": "Return", - "src": "6585:11:1" - } - ] - }, - "documentation": { - "id": 550, - "nodeType": "StructuredDocumentation", - "src": "5751:476:1", - "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." - }, - "functionSelector": "a457c2d7", - "id": 587, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 555, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 552, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 587, - "src": "6259:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6259:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 554, - "mutability": "mutable", - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "scope": 587, - "src": "6276:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6276:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6258:42:1" - }, - "returnParameters": { - "id": 558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 587, - "src": "6325:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 556, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6325:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6324:6:1" - }, - "scope": 823, - "src": "6232:371:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 656, - "nodeType": "Block", - "src": "7164:505:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 598, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "7182:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7200:1:1", - "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": 600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7192:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 599, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7192:7:1", - "typeDescriptions": {} - } - }, - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7192:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7182:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7204:39:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 597, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7174:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7174:70:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 606, - "nodeType": "ExpressionStatement", - "src": "7174:70:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 608, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "7262:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7283:1:1", - "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": 610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7275:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 609, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7275:7:1", - "typeDescriptions": {} - } - }, - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7275:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7262:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7287:37:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 607, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7254:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7254:71:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 616, - "nodeType": "ExpressionStatement", - "src": "7254:71:1" - }, - { - "expression": { - "arguments": [ - { - "id": 618, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "7357:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 619, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "7365:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 620, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "7376:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 617, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "7336:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7336:47:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 622, - "nodeType": "ExpressionStatement", - "src": "7336:47:1" - }, - { - "assignments": [ - 624 - ], - "declarations": [ - { - "constant": false, - "id": 624, - "mutability": "mutable", - "name": "senderBalance", - "nodeType": "VariableDeclaration", - "scope": 656, - "src": "7394:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7394:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 628, - "initialValue": { - "baseExpression": { - "id": 625, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "7418:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 627, - "indexExpression": { - "id": 626, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "7428:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7418:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7394:41:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 630, - "name": "senderBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 624, - "src": "7453:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 631, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "7470:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7453:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7478:40:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "id": 629, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7445:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7445:74:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 635, - "nodeType": "ExpressionStatement", - "src": "7445:74:1" - }, - { - "expression": { - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 636, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "7529:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 638, - "indexExpression": { - "id": 637, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "7539:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7529:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 639, - "name": "senderBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 624, - "src": "7549:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 640, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "7565:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7549:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7529:42:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 643, - "nodeType": "ExpressionStatement", - "src": "7529:42:1" - }, - { - "expression": { - "id": 648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 644, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "7581:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 646, - "indexExpression": { - "id": 645, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "7591:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7581:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 647, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "7605:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7581:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 649, - "nodeType": "ExpressionStatement", - "src": "7581:30:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 651, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "7636:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 652, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "7644:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 653, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "7655:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 650, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "7627:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7627:35:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 655, - "nodeType": "EmitStatement", - "src": "7622:40:1" - } - ] - }, - "documentation": { - "id": 588, - "nodeType": "StructuredDocumentation", - "src": "6609:463:1", - "text": " @dev Moves tokens `amount` from `sender` to `recipient`.\n This is 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 Requirements:\n - `sender` cannot be the zero address.\n - `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`." - }, - "id": 657, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 590, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 657, - "src": "7096:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 589, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7096:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 592, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 657, - "src": "7112:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7112:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 594, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 657, - "src": "7131:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7131:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7095:51:1" - }, - "returnParameters": { - "id": 596, - "nodeType": "ParameterList", - "parameters": [], - "src": "7164:0:1" - }, - "scope": 823, - "src": "7077:592:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 703, - "nodeType": "Block", - "src": "8005:265:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 666, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "8023:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8042:1:1", - "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": 668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8034:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 667, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8034:7:1", - "typeDescriptions": {} - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8034:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8023:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8046:33:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8015:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8015:65:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 674, - "nodeType": "ExpressionStatement", - "src": "8015:65:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8120:1:1", - "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": 677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8112:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8112:7:1", - "typeDescriptions": {} - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8112:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 680, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "8124:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 681, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 662, - "src": "8133:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 675, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "8091:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8091:49:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 683, - "nodeType": "ExpressionStatement", - "src": "8091:49:1" - }, - { - "expression": { - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 684, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "8151:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 685, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 662, - "src": "8167:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8151:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 687, - "nodeType": "ExpressionStatement", - "src": "8151:22:1" - }, - { - "expression": { - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 688, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "8183:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 690, - "indexExpression": { - "id": 689, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "8193:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8183:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 691, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 662, - "src": "8205:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8183:28:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 693, - "nodeType": "ExpressionStatement", - "src": "8183:28:1" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8243:1:1", - "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": 696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8235:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8235:7:1", - "typeDescriptions": {} - } - }, - "id": 698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8235:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 699, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "8247:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 700, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 662, - "src": "8256:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 694, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "8226:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8226:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 702, - "nodeType": "EmitStatement", - "src": "8221:42:1" - } - ] - }, - "documentation": { - "id": 658, - "nodeType": "StructuredDocumentation", - "src": "7675:260:1", - "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `to` cannot be the zero address." - }, - "id": 704, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 660, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 704, - "src": "7955:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7955:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 662, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 704, - "src": "7972:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7972:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7954:33:1" - }, - "returnParameters": { - "id": 664, - "nodeType": "ParameterList", - "parameters": [], - "src": "8005:0:1" - }, - "scope": 823, - "src": "7940:330:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 765, - "nodeType": "Block", - "src": "8655:418:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 713, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "8673:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8692:1:1", - "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": 715, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8684:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8684:7:1", - "typeDescriptions": {} - } - }, - "id": 717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8684:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8673:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8696:35:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 712, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8665:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8665:67:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 721, - "nodeType": "ExpressionStatement", - "src": "8665:67:1" - }, - { - "expression": { - "arguments": [ - { - "id": 723, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "8764:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8781:1:1", - "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": 725, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8773:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8773:7:1", - "typeDescriptions": {} - } - }, - "id": 727, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8773:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 728, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "8785:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 722, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "8743:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8743:49:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 730, - "nodeType": "ExpressionStatement", - "src": "8743:49:1" - }, - { - "assignments": [ - 732 - ], - "declarations": [ - { - "constant": false, - "id": 732, - "mutability": "mutable", - "name": "accountBalance", - "nodeType": "VariableDeclaration", - "scope": 765, - "src": "8803:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 731, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8803:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 736, - "initialValue": { - "baseExpression": { - "id": 733, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "8828:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 735, - "indexExpression": { - "id": 734, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "8838:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8828:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8803:43:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 738, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "8864:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "8882:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8864:24:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8890:36:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "id": 737, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8856:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8856:71:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 743, - "nodeType": "ExpressionStatement", - "src": "8856:71:1" - }, - { - "expression": { - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 744, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "8937:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 746, - "indexExpression": { - "id": 745, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "8947:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8937:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 747, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "8958:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 748, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "8975:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8958:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8937:44:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 751, - "nodeType": "ExpressionStatement", - "src": "8937:44:1" - }, - { - "expression": { - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 752, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "8991:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 753, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "9007:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8991:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 755, - "nodeType": "ExpressionStatement", - "src": "8991:22:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 757, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "9038:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9055:1:1", - "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": 759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9047:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9047:7:1", - "typeDescriptions": {} - } - }, - "id": 761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9047:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 762, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "9059:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 756, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "9029:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9029:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 764, - "nodeType": "EmitStatement", - "src": "9024:42:1" - } - ] - }, - "documentation": { - "id": 705, - "nodeType": "StructuredDocumentation", - "src": "8276:309:1", - "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." - }, - "id": 766, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 707, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 766, - "src": "8605:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8605:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 709, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 766, - "src": "8622:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8622:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8604:33:1" - }, - "returnParameters": { - "id": 711, - "nodeType": "ParameterList", - "parameters": [], - "src": "8655:0:1" - }, - "scope": 823, - "src": "8590:483:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 810, - "nodeType": "Block", - "src": "9579:257:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 777, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "9597:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9614:1:1", - "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": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9606:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9606:7:1", - "typeDescriptions": {} - } - }, - "id": 781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9606:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9597:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9618:38:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 776, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9589:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9589:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 785, - "nodeType": "ExpressionStatement", - "src": "9589:68:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 787, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 771, - "src": "9675:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9694:1:1", - "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": 789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9686:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 788, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9686:7:1", - "typeDescriptions": {} - } - }, - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9686:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9675:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9698:36:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 786, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9667:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9667:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 795, - "nodeType": "ExpressionStatement", - "src": "9667:68:1" - }, - { - "expression": { - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 796, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "9746:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 799, - "indexExpression": { - "id": 797, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "9758:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9746:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 800, - "indexExpression": { - "id": 798, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 771, - "src": "9765:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9746:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 801, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "9776:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9746:36:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 803, - "nodeType": "ExpressionStatement", - "src": "9746:36:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 805, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "9806:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 806, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 771, - "src": "9813:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 807, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "9822:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 804, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "9797:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9797:32:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 809, - "nodeType": "EmitStatement", - "src": "9792:37:1" - } - ] - }, - "documentation": { - "id": 767, - "nodeType": "StructuredDocumentation", - "src": "9079:412:1", - "text": " @dev Sets `amount` 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." - }, - "id": 811, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 769, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 811, - "src": "9514:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 768, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9514:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 771, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 811, - "src": "9529:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9529:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 773, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 811, - "src": "9546:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 772, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9546:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9513:48:1" - }, - "returnParameters": { - "id": 775, - "nodeType": "ParameterList", - "parameters": [], - "src": "9579:0:1" - }, - "scope": 823, - "src": "9496:340:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 821, - "nodeType": "Block", - "src": "10512:3:1", - "statements": [] - }, - "documentation": { - "id": 812, - "nodeType": "StructuredDocumentation", - "src": "9842:576:1", - "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be to transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 822, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 814, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "10453:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 813, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10453:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 816, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "10467:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10467:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 818, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "10479:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10479:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10452:42:1" - }, - "returnParameters": { - "id": 820, - "nodeType": "ParameterList", - "parameters": [], - "src": "10512:0:1" - }, - "scope": 823, - "src": "10423:92:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 824, - "src": "1279:9238:1" - } - ], - "src": "33:10485:1" - }, - "id": 1 - }, - "@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 901 - ] - }, - "id": 902, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 825, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:2" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 826, - "nodeType": "StructuredDocumentation", - "src": "58:70:2", - "text": " @dev Interface of the ERC20 standard as defined in the EIP." - }, - "fullyImplemented": false, - "id": 901, - "linearizedBaseContracts": [ - 901 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 827, - "nodeType": "StructuredDocumentation", - "src": "152:66:2", - "text": " @dev Returns the amount of tokens in existence." - }, - "functionSelector": "18160ddd", - "id": 832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 828, - "nodeType": "ParameterList", - "parameters": [], - "src": "243:2:2" - }, - "returnParameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 832, - "src": "269:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "269:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "268:9:2" - }, - "scope": 901, - "src": "223:55:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 833, - "nodeType": "StructuredDocumentation", - "src": "284:72:2", - "text": " @dev Returns the amount of tokens owned by `account`." - }, - "functionSelector": "70a08231", - "id": 840, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 835, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 840, - "src": "380:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 834, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "380:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "379:17:2" - }, - "returnParameters": { - "id": 839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 838, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 840, - "src": "420:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "420:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "419:9:2" - }, - "scope": 901, - "src": "361:68:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 841, - "nodeType": "StructuredDocumentation", - "src": "435:209:2", - "text": " @dev Moves `amount` tokens from the caller's account to `recipient`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." - }, - "functionSelector": "a9059cbb", - "id": 850, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 846, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 843, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 850, - "src": "667:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "667:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 845, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 850, - "src": "686:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "686:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "666:35:2" - }, - "returnParameters": { - "id": 849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 848, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 850, - "src": "720:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 847, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "720:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "719:6:2" - }, - "scope": 901, - "src": "649:77:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 851, - "nodeType": "StructuredDocumentation", - "src": "732:264:2", - "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": 860, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 853, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 860, - "src": "1020:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 852, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1020:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 860, - "src": "1035:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1035:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1019:32:2" - }, - "returnParameters": { - "id": 859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 858, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 860, - "src": "1075:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 857, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1075:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1074:9:2" - }, - "scope": 901, - "src": "1001:83:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 861, - "nodeType": "StructuredDocumentation", - "src": "1090:642:2", - "text": " @dev Sets `amount` as the allowance of `spender` over the 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": 870, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 863, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 870, - "src": "1754:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1754:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 865, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 870, - "src": "1771:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1771:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1753:33:2" - }, - "returnParameters": { - "id": 869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 868, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 870, - "src": "1805:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 867, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1805:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1804:6:2" - }, - "scope": 901, - "src": "1737:74:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 871, - "nodeType": "StructuredDocumentation", - "src": "1817:296:2", - "text": " @dev Moves `amount` tokens from `sender` to `recipient` using the\n allowance mechanism. `amount` 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": 882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 873, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "2140:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2140:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 875, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "2156:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2156:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 877, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "2175:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2175:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2139:51:2" - }, - "returnParameters": { - "id": 881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "2209:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2209:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2208:6:2" - }, - "scope": 901, - "src": "2118:97:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": { - "id": 883, - "nodeType": "StructuredDocumentation", - "src": "2221:158:2", - "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." - }, - "id": 891, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 885, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 891, - "src": "2399:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 884, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2399:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 887, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 891, - "src": "2421:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2421:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 889, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 891, - "src": "2441:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2441:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2398:57:2" - }, - "src": "2384:72:2" - }, - { - "anonymous": false, - "documentation": { - "id": 892, - "nodeType": "StructuredDocumentation", - "src": "2462:148:2", - "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." - }, - "id": 900, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 894, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 900, - "src": "2630:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2630:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 896, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 900, - "src": "2653:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2653:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 898, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 900, - "src": "2678:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2678:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2629:63:2" - }, - "src": "2615:78:2" - } - ], - "scope": 902, - "src": "129:2566:2" - } - ], - "src": "33:2663:2" - }, - "id": 2 - }, - "@openzeppelin/contracts/utils/Context.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 924 - ] - }, - "id": 925, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 903, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:3" - }, - { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 924, - "linearizedBaseContracts": [ - 924 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 911, - "nodeType": "Block", - "src": "648:34:3", - "statements": [ - { - "expression": { - "expression": { - "id": 908, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "665:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "665:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 907, - "id": 910, - "nodeType": "Return", - "src": "658:17:3" - } - ] - }, - "id": 912, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 904, - "nodeType": "ParameterList", - "parameters": [], - "src": "605:2:3" - }, - "returnParameters": { - "id": 907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 906, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 912, - "src": "639:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 905, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "639:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "638:9:3" - }, - "scope": 924, - "src": "586:96:3", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 922, - "nodeType": "Block", - "src": "755:165:3", - "statements": [ - { - "expression": { - "id": 917, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "765:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$924", - "typeString": "contract Context" - } - }, - "id": 918, - "nodeType": "ExpressionStatement", - "src": "765:4:3" - }, - { - "expression": { - "expression": { - "id": 919, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "905:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "src": "905:8:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 916, - "id": 921, - "nodeType": "Return", - "src": "898:15:3" - } - ] - }, - "id": 923, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [], - "src": "705:2:3" - }, - "returnParameters": { - "id": 916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 915, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "739:14:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 914, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "739:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "738:16:3" - }, - "scope": 924, - "src": "688:232:3", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 925, - "src": "554:368:3" - } - ], - "src": "33:890:3" - }, - "id": 3 - }, - "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", - "exportedSymbols": { - "MerkleProof": [ - 995 - ] - }, - "id": 996, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 926, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:4" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 927, - "nodeType": "StructuredDocumentation", - "src": "58:84:4", - "text": " @dev These functions deal with verification of Merkle trees (hash trees)," - }, - "fullyImplemented": true, - "id": 995, - "linearizedBaseContracts": [ - 995 - ], - "name": "MerkleProof", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 993, - "nodeType": "Block", - "src": "594:682:4", - "statements": [ - { - "assignments": [ - 941 - ], - "declarations": [ - { - "constant": false, - "id": 941, - "mutability": "mutable", - "name": "computedHash", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "604:20:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 940, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "604:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 943, - "initialValue": { - "id": 942, - "name": "leaf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "627:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "604:27:4" - }, - { - "body": { - "id": 987, - "nodeType": "Block", - "src": "685:472:4", - "statements": [ - { - "assignments": [ - 956 - ], - "declarations": [ - { - "constant": false, - "id": 956, - "mutability": "mutable", - "name": "proofElement", - "nodeType": "VariableDeclaration", - "scope": 987, - "src": "699:20:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 955, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "699:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 960, - "initialValue": { - "baseExpression": { - "id": 957, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 931, - "src": "722:5:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - "id": 959, - "indexExpression": { - "id": 958, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "728:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "722:8:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "699:31:4" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 961, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "749:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 962, - "name": "proofElement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 956, - "src": "765:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "749:28:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 985, - "nodeType": "Block", - "src": "966:181:4", - "statements": [ - { - "expression": { - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 975, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "1062:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 979, - "name": "proofElement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 956, - "src": "1104:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 980, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "1118:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 977, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1087:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1087:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1087:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 976, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1077:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1077:55:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1062:70:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 984, - "nodeType": "ExpressionStatement", - "src": "1062:70:4" - } - ] - }, - "id": 986, - "nodeType": "IfStatement", - "src": "745:402:4", - "trueBody": { - "id": 974, - "nodeType": "Block", - "src": "779:181:4", - "statements": [ - { - "expression": { - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 964, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "875:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 968, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "917:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 969, - "name": "proofElement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 956, - "src": "931:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 966, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "900:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "900:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "900:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 965, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "890:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "890:55:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "875:70:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 973, - "nodeType": "ExpressionStatement", - "src": "875:70:4" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 948, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "662:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 949, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 931, - "src": "666:5:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - "id": 950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "666:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "662:16:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 988, - "initializationExpression": { - "assignments": [ - 945 - ], - "declarations": [ - { - "constant": false, - "id": 945, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 988, - "src": "647:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "647:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 947, - "initialValue": { - "hexValue": "30", - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "659:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "647:13:4" - }, - "loopExpression": { - "expression": { - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "680:3:4", - "subExpression": { - "id": 952, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "680:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 954, - "nodeType": "ExpressionStatement", - "src": "680:3:4" - }, - "nodeType": "ForStatement", - "src": "642:515:4" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 989, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "1249:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 990, - "name": "root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 933, - "src": "1265:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1249:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 939, - "id": 992, - "nodeType": "Return", - "src": "1242:27:4" - } - ] - }, - "documentation": { - "id": 928, - "nodeType": "StructuredDocumentation", - "src": "169:323:4", - "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted." - }, - "id": 994, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verify", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 931, - "mutability": "mutable", - "name": "proof", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "513:22:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 929, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "513:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 930, - "nodeType": "ArrayTypeName", - "src": "513:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 933, - "mutability": "mutable", - "name": "root", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "537:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 932, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "537:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 935, - "mutability": "mutable", - "name": "leaf", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "551:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 934, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "551:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "512:52:4" - }, - "returnParameters": { - "id": 939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 938, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "588:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 937, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "588:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "587:6:4" - }, - "scope": 995, - "src": "497:779:4", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 996, - "src": "143:1135:4" - } - ], - "src": "33:1246:4" - }, - "id": 4 - }, - "@openzeppelin/contracts/utils/introspection/ERC165.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 1019 - ], - "IERC165": [ - 1031 - ] - }, - "id": 1020, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 997, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:5" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 998, - "nodeType": "ImportDirective", - "scope": 1020, - "sourceUnit": 1032, - "src": "58:23:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1000, - "name": "IERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1031, - "src": "688:7:5" - }, - "id": 1001, - "nodeType": "InheritanceSpecifier", - "src": "688:7:5" - } - ], - "contractDependencies": [ - 1031 - ], - "contractKind": "contract", - "documentation": { - "id": 999, - "nodeType": "StructuredDocumentation", - "src": "83:576:5", - "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." - }, - "fullyImplemented": true, - "id": 1019, - "linearizedBaseContracts": [ - 1019, - 1031 - ], - "name": "ERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 1030 - ], - "body": { - "id": 1017, - "nodeType": "Block", - "src": "854:64:5", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1010, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1004, - "src": "871:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 1012, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1031, - "src": "891:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$1031_$", - "typeString": "type(contract IERC165)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165_$1031_$", - "typeString": "type(contract IERC165)" - } - ], - "id": 1011, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "886:4:5", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1013, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "886:13:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$1031", - "typeString": "type(contract IERC165)" - } - }, - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "886:25:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "871:40:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1009, - "id": 1016, - "nodeType": "Return", - "src": "864:47:5" - } - ] - }, - "documentation": { - "id": 1002, - "nodeType": "StructuredDocumentation", - "src": "702:56:5", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 1018, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1006, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "830:8:5" - }, - "parameters": { - "id": 1005, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1004, - "mutability": "mutable", - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "scope": 1018, - "src": "790:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1003, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "790:6:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "789:20:5" - }, - "returnParameters": { - "id": 1009, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1008, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1018, - "src": "848:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1007, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "848:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "847:6:5" - }, - "scope": 1019, - "src": "763:155:5", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - } - ], - "scope": 1020, - "src": "660:260:5" - } - ], - "src": "33:888:5" - }, - "id": 5 - }, - "@openzeppelin/contracts/utils/introspection/IERC165.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 1031 - ] - }, - "id": 1032, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1021, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:6" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1022, - "nodeType": "StructuredDocumentation", - "src": "58:279:6", - "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\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": 1031, - "linearizedBaseContracts": [ - 1031 - ], - "name": "IERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1023, - "nodeType": "StructuredDocumentation", - "src": "362:340:6", - "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[EIP 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": 1030, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1025, - "mutability": "mutable", - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "scope": 1030, - "src": "734:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1024, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "734:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "733:20:6" - }, - "returnParameters": { - "id": 1029, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1028, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1030, - "src": "777:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1027, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "777:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "776:6:6" - }, - "scope": 1031, - "src": "707:76:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1032, - "src": "338:447:6" - } - ], - "src": "33:753:6" - }, - "id": 6 - }, - "contracts/Core/ACL.sol": { - "ast": { - "absolutePath": "contracts/Core/ACL.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "Constants": [ - 5385 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "IAccessControl": [ - 42 - ], - "IERC165": [ - 1031 - ] - }, - "id": 1064, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1033, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:7" - }, - { - "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", - "file": "@openzeppelin/contracts/access/AccessControl.sol", - "id": 1034, - "nodeType": "ImportDirective", - "scope": 1064, - "sourceUnit": 323, - "src": "64:58:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 1035, - "nodeType": "ImportDirective", - "scope": 1064, - "sourceUnit": 5386, - "src": "123:30:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1036, - "name": "AccessControl", - "nodeType": "IdentifierPath", - "referencedDeclaration": 322, - "src": "172:13:7" - }, - "id": 1037, - "nodeType": "InheritanceSpecifier", - "src": "172:13:7" - } - ], - "contractDependencies": [ - 42, - 322, - 924, - 1019, - 1031 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 1063, - "linearizedBaseContracts": [ - 1063, - 322, - 1019, - 1031, - 42, - 924 - ], - "name": "ACL", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1046, - "nodeType": "Block", - "src": "206:59:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1041, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 64, - "src": "227:18:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 1042, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "247:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "247:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1040, - "name": "_setupRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "216:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 1044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "216:42:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1045, - "nodeType": "ExpressionStatement", - "src": "216:42:7" - } - ] - }, - "id": 1047, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1038, - "nodeType": "ParameterList", - "parameters": [], - "src": "203:2:7" - }, - "returnParameters": { - "id": 1039, - "nodeType": "ParameterList", - "parameters": [], - "src": "206:0:7" - }, - "scope": 1063, - "src": "192:73:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1061, - "nodeType": "Block", - "src": "304:93:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1053, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1049, - "src": "330:5:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 1054, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "337:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "337:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1052, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "322:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 1056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "322:26:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "41434c3a2073656e646572206e6f7420617574686f72697a6564", - "id": 1057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "350:28:7", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869", - "typeString": "literal_string \"ACL: sender not authorized\"" - }, - "value": "ACL: sender not authorized" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869", - "typeString": "literal_string \"ACL: sender not authorized\"" - } - ], - "id": 1051, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "314:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "314:65:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1059, - "nodeType": "ExpressionStatement", - "src": "314:65:7" - }, - { - "id": 1060, - "nodeType": "PlaceholderStatement", - "src": "389:1:7" - } - ] - }, - "id": 1062, - "name": "onlyRole", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 1050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1049, - "mutability": "mutable", - "name": "_hash", - "nodeType": "VariableDeclaration", - "scope": 1062, - "src": "289:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1048, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "289:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "288:15:7" - }, - "src": "271:126:7", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1064, - "src": "156:243:7" - } - ], - "src": "39:360:7" - }, - "id": 7 - }, - "contracts/Core/BlockManager.sol": { - "ast": { - "absolutePath": "contracts/Core/BlockManager.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "BlockManager": [ - 2274 - ], - "BlockStorage": [ - 4908 - ], - "Constants": [ - 5385 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "IAccessControl": [ - 42 - ], - "IERC165": [ - 1031 - ], - "IJobManager": [ - 4681 - ], - "IStakeManager": [ - 4785 - ], - "IStateManager": [ - 4798 - ], - "IVoteManager": [ - 4886 - ], - "Random": [ - 5505 - ], - "Structs": [ - 5585 - ] - }, - "id": 2275, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1065, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:8" - }, - { - "absolutePath": "contracts/Core/interface/IStakeManager.sol", - "file": "./interface/IStakeManager.sol", - "id": 1066, - "nodeType": "ImportDirective", - "scope": 2275, - "sourceUnit": 4786, - "src": "64:39:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IStateManager.sol", - "file": "./interface/IStateManager.sol", - "id": 1067, - "nodeType": "ImportDirective", - "scope": 2275, - "sourceUnit": 4799, - "src": "104:39:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IVoteManager.sol", - "file": "./interface/IVoteManager.sol", - "id": 1068, - "nodeType": "ImportDirective", - "scope": 2275, - "sourceUnit": 4887, - "src": "144:38:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IJobManager.sol", - "file": "./interface/IJobManager.sol", - "id": 1069, - "nodeType": "ImportDirective", - "scope": 2275, - "sourceUnit": 4682, - "src": "183:37:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/storage/BlockStorage.sol", - "file": "./storage/BlockStorage.sol", - "id": 1070, - "nodeType": "ImportDirective", - "scope": 2275, - "sourceUnit": 4909, - "src": "221:36:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 1071, - "nodeType": "ImportDirective", - "scope": 2275, - "sourceUnit": 5386, - "src": "258:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Random.sol", - "file": "../lib/Random.sol", - "id": 1072, - "nodeType": "ImportDirective", - "scope": 2275, - "sourceUnit": 5506, - "src": "289:27:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/ACL.sol", - "file": "./ACL.sol", - "id": 1073, - "nodeType": "ImportDirective", - "scope": 2275, - "sourceUnit": 1064, - "src": "317:19:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1074, - "name": "ACL", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1063, - "src": "364:3:8" - }, - "id": 1075, - "nodeType": "InheritanceSpecifier", - "src": "364:3:8" - }, - { - "baseName": { - "id": 1076, - "name": "BlockStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4908, - "src": "369:12:8" - }, - "id": 1077, - "nodeType": "InheritanceSpecifier", - "src": "369:12:8" - } - ], - "contractDependencies": [ - 42, - 322, - 924, - 1019, - 1031, - 1063, - 4908 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2274, - "linearizedBaseContracts": [ - 2274, - 4908, - 1063, - 322, - 1019, - 1031, - 42, - 924 - ], - "name": "BlockManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "7542ff95", - "id": 1080, - "mutability": "mutable", - "name": "stakeManager", - "nodeType": "VariableDeclaration", - "scope": 2274, - "src": "391:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - }, - "typeName": { - "id": 1079, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1078, - "name": "IStakeManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4785, - "src": "391:13:8" - }, - "referencedDeclaration": 4785, - "src": "391:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2e716fb1", - "id": 1083, - "mutability": "mutable", - "name": "stateManager", - "nodeType": "VariableDeclaration", - "scope": 2274, - "src": "430:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - }, - "typeName": { - "id": 1082, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1081, - "name": "IStateManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4798, - "src": "430:13:8" - }, - "referencedDeclaration": 4798, - "src": "430:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "42c1e587", - "id": 1086, - "mutability": "mutable", - "name": "voteManager", - "nodeType": "VariableDeclaration", - "scope": 2274, - "src": "469:31:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - }, - "typeName": { - "id": 1085, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1084, - "name": "IVoteManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4886, - "src": "469:12:8" - }, - "referencedDeclaration": 4886, - "src": "469:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3df395a3", - "id": 1089, - "mutability": "mutable", - "name": "jobManager", - "nodeType": "VariableDeclaration", - "scope": 2274, - "src": "506:29:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - }, - "typeName": { - "id": 1088, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1087, - "name": "IJobManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4681, - "src": "506:11:8" - }, - "referencedDeclaration": 4681, - "src": "506:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "visibility": "public" - }, - { - "anonymous": false, - "id": 1109, - "name": "BlockConfirmed", - "nodeType": "EventDefinition", - "parameters": { - "id": 1108, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1091, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "573:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "573:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1093, - "indexed": false, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "596:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1092, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "596:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1096, - "indexed": false, - "mutability": "mutable", - "name": "medians", - "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "622:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "622:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1095, - "nodeType": "ArrayTypeName", - "src": "622:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1099, - "indexed": false, - "mutability": "mutable", - "name": "lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "649:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1097, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "649:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1098, - "nodeType": "ArrayTypeName", - "src": "649:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1102, - "indexed": false, - "mutability": "mutable", - "name": "higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "681:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "681:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1101, - "nodeType": "ArrayTypeName", - "src": "681:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1105, - "indexed": false, - "mutability": "mutable", - "name": "jobIds", - "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "714:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1104, - "nodeType": "ArrayTypeName", - "src": "714:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1107, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "740:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "740:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "563:200:8" - }, - "src": "542:222:8" - }, - { - "anonymous": false, - "id": 1133, - "name": "Proposed", - "nodeType": "EventDefinition", - "parameters": { - "id": 1132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1111, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1133, - "src": "795:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1110, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "795:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1113, - "indexed": false, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 1133, - "src": "818:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "818:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1116, - "indexed": false, - "mutability": "mutable", - "name": "jobIds", - "nodeType": "VariableDeclaration", - "scope": 1133, - "src": "844:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "844:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1115, - "nodeType": "ArrayTypeName", - "src": "844:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1119, - "indexed": false, - "mutability": "mutable", - "name": "medians", - "nodeType": "VariableDeclaration", - "scope": 1133, - "src": "870:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "870:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1118, - "nodeType": "ArrayTypeName", - "src": "870:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1122, - "indexed": false, - "mutability": "mutable", - "name": "lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1133, - "src": "897:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "897:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1121, - "nodeType": "ArrayTypeName", - "src": "897:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1125, - "indexed": false, - "mutability": "mutable", - "name": "higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1133, - "src": "929:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "929:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1124, - "nodeType": "ArrayTypeName", - "src": "929:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1127, - "indexed": false, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 1133, - "src": "962:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "962:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1129, - "indexed": false, - "mutability": "mutable", - "name": "biggestStakerId", - "nodeType": "VariableDeclaration", - "scope": 1133, - "src": "989:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1128, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "989:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1131, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 1133, - "src": "1022:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1022:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "785:260:8" - }, - "src": "770:276:8" - }, - { - "body": { - "id": 1147, - "nodeType": "Block", - "src": "1092:88:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1138, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1135, - "src": "1110:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1139, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "1119:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "1119:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1119:23:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1110:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f72726563742065706f6368", - "id": 1143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1144:17:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - }, - "value": "incorrect epoch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - } - ], - "id": 1137, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1102:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1102:60:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1145, - "nodeType": "ExpressionStatement", - "src": "1102:60:8" - }, - { - "id": 1146, - "nodeType": "PlaceholderStatement", - "src": "1172:1:8" - } - ] - }, - "id": 1148, - "name": "checkEpoch", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 1136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1135, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1148, - "src": "1077:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1077:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1076:15:8" - }, - "src": "1056:124:8", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1162, - "nodeType": "Block", - "src": "1222:88:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1153, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "1240:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1154, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "1249:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 1155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "1249:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1249:23:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1240:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f7272656374207374617465", - "id": 1158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1274:17:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - }, - "value": "incorrect state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - } - ], - "id": 1152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1232:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1232:60:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1160, - "nodeType": "ExpressionStatement", - "src": "1232:60:8" - }, - { - "id": 1161, - "nodeType": "PlaceholderStatement", - "src": "1302:1:8" - } - ] - }, - "id": 1163, - "name": "checkState", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 1151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1150, - "mutability": "mutable", - "name": "state", - "nodeType": "VariableDeclaration", - "scope": 1163, - "src": "1207:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1207:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1206:15:8" - }, - "src": "1186:124:8", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1198, - "nodeType": "Block", - "src": "1499:238:8", - "statements": [ - { - "expression": { - "id": 1178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1174, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "1509:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1176, - "name": "_stakeManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "1538:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1175, - "name": "IStakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4785, - "src": "1524:13:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStakeManager_$4785_$", - "typeString": "type(contract IStakeManager)" - } - }, - "id": 1177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1524:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "src": "1509:50:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 1179, - "nodeType": "ExpressionStatement", - "src": "1509:50:8" - }, - { - "expression": { - "id": 1184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1180, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "1569:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1182, - "name": "_stateManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1167, - "src": "1598:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1181, - "name": "IStateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4798, - "src": "1584:13:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStateManager_$4798_$", - "typeString": "type(contract IStateManager)" - } - }, - "id": 1183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1584:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "src": "1569:50:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 1185, - "nodeType": "ExpressionStatement", - "src": "1569:50:8" - }, - { - "expression": { - "id": 1190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1186, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "1629:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1188, - "name": "_voteManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "1656:19:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1187, - "name": "IVoteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4886, - "src": "1643:12:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IVoteManager_$4886_$", - "typeString": "type(contract IVoteManager)" - } - }, - "id": 1189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1643:33:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "src": "1629:47:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "id": 1191, - "nodeType": "ExpressionStatement", - "src": "1629:47:8" - }, - { - "expression": { - "id": 1196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1192, - "name": "jobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "1686:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1194, - "name": "_jobManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1171, - "src": "1711:18:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1193, - "name": "IJobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4681, - "src": "1699:11:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IJobManager_$4681_$", - "typeString": "type(contract IJobManager)" - } - }, - "id": 1195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1699:31:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "src": "1686:44:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "id": 1197, - "nodeType": "ExpressionStatement", - "src": "1686:44:8" - } - ] - }, - "functionSelector": "06552ff3", - "id": 1199, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1165, - "mutability": "mutable", - "name": "_stakeManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 1199, - "src": "1339:28:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1164, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1339:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1167, - "mutability": "mutable", - "name": "_stateManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 1199, - "src": "1377:28:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1377:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1169, - "mutability": "mutable", - "name": "_voteManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 1199, - "src": "1415:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1168, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1415:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1171, - "mutability": "mutable", - "name": "_jobManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 1199, - "src": "1452:26:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1452:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1329:155:8" - }, - "returnParameters": { - "id": 1173, - "nodeType": "ParameterList", - "parameters": [], - "src": "1499:0:8" - }, - "scope": 2274, - "src": "1316:421:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1212, - "nodeType": "Block", - "src": "1827:38:8", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "id": 1207, - "name": "blocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4907, - "src": "1844:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5550_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref)" - } - }, - "id": 1209, - "indexExpression": { - "id": 1208, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "1851:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1844:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - } - ], - "id": 1210, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1843:15:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "functionReturnParameters": 1206, - "id": 1211, - "nodeType": "Return", - "src": "1837:21:8" - } - ] - }, - "functionSelector": "04c07569", - "id": 1213, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1201, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1213, - "src": "1761:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1200, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1761:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1760:15:8" - }, - "returnParameters": { - "id": 1206, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1205, - "mutability": "mutable", - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 1213, - "src": "1798:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block" - }, - "typeName": { - "id": 1204, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1203, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5550, - "src": "1798:13:8" - }, - "referencedDeclaration": 5550, - "src": "1798:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "visibility": "internal" - } - ], - "src": "1797:29:8" - }, - "scope": 2274, - "src": "1743:122:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1231, - "nodeType": "Block", - "src": "1965:85:8", - "statements": [ - { - "expression": { - "id": 1226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1221, - "name": "_blockMedians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1219, - "src": "1975:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "baseExpression": { - "id": 1222, - "name": "blocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4907, - "src": "1991:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5550_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref)" - } - }, - "id": 1224, - "indexExpression": { - "id": 1223, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "1998:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1991:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5537, - "src": "1991:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "src": "1975:37:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1227, - "nodeType": "ExpressionStatement", - "src": "1975:37:8" - }, - { - "expression": { - "components": [ - { - "id": 1228, - "name": "_blockMedians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1219, - "src": "2029:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 1229, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2028:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 1220, - "id": 1230, - "nodeType": "Return", - "src": "2022:21:8" - } - ] - }, - "functionSelector": "378ab9a9", - "id": 1232, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBlockMedians", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1216, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1215, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1896:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1896:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1895:15:8" - }, - "returnParameters": { - "id": 1220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1219, - "mutability": "mutable", - "name": "_blockMedians", - "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "1933:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1933:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1218, - "nodeType": "ArrayTypeName", - "src": "1933:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1932:32:8" - }, - "scope": 2274, - "src": "1871:179:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1250, - "nodeType": "Block", - "src": "2150:90:8", - "statements": [ - { - "expression": { - "id": 1245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1240, - "name": "_lowerCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1238, - "src": "2160:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "baseExpression": { - "id": 1241, - "name": "blocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4907, - "src": "2176:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5550_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref)" - } - }, - "id": 1243, - "indexExpression": { - "id": 1242, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1234, - "src": "2183:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2176:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1244, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5540, - "src": "2176:26:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "src": "2160:42:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1246, - "nodeType": "ExpressionStatement", - "src": "2160:42:8" - }, - { - "expression": { - "components": [ - { - "id": 1247, - "name": "_lowerCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1238, - "src": "2219:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 1248, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2218:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 1239, - "id": 1249, - "nodeType": "Return", - "src": "2212:21:8" - } - ] - }, - "functionSelector": "d2a4669a", - "id": 1251, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLowerCutoffs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1234, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1251, - "src": "2081:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2081:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2080:15:8" - }, - "returnParameters": { - "id": 1239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1238, - "mutability": "mutable", - "name": "_lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1251, - "src": "2118:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1236, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2118:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1237, - "nodeType": "ArrayTypeName", - "src": "2118:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "2117:32:8" - }, - "scope": 2274, - "src": "2056:184:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1269, - "nodeType": "Block", - "src": "2361:93:8", - "statements": [ - { - "expression": { - "id": 1264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1259, - "name": "_higherCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1257, - "src": "2371:14:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "baseExpression": { - "id": 1260, - "name": "blocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4907, - "src": "2388:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5550_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref)" - } - }, - "id": 1262, - "indexExpression": { - "id": 1261, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1253, - "src": "2395:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2388:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1263, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5543, - "src": "2388:27:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "src": "2371:44:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1265, - "nodeType": "ExpressionStatement", - "src": "2371:44:8" - }, - { - "expression": { - "components": [ - { - "id": 1266, - "name": "_higherCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1257, - "src": "2432:14:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 1267, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2431:16:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 1258, - "id": 1268, - "nodeType": "Return", - "src": "2425:22:8" - } - ] - }, - "functionSelector": "fae4425d", - "id": 1270, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getHigherCutoffs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1254, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1253, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1270, - "src": "2281:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1252, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2281:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2271:29:8" - }, - "returnParameters": { - "id": 1258, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1257, - "mutability": "mutable", - "name": "_higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1270, - "src": "2323:31:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1255, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2323:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1256, - "nodeType": "ArrayTypeName", - "src": "2323:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "2322:33:8" - }, - "scope": 2274, - "src": "2246:208:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1306, - "nodeType": "Block", - "src": "2782:145:8", - "statements": [ - { - "expression": { - "id": 1295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1289, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1278, - "src": "2792:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "baseExpression": { - "id": 1290, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "2801:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1292, - "indexExpression": { - "id": 1291, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1272, - "src": "2816:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2801:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1294, - "indexExpression": { - "id": 1293, - "name": "proposedBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "2823:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2801:36:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "src": "2792:45:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 1296, - "nodeType": "ExpressionStatement", - "src": "2792:45:8" - }, - { - "expression": { - "components": [ - { - "id": 1297, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1278, - "src": "2854:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - { - "expression": { - "id": 1298, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1278, - "src": "2862:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 1299, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5537, - "src": "2862:14:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "expression": { - "id": 1300, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1278, - "src": "2878:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 1301, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5540, - "src": "2878:19:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "expression": { - "id": 1302, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1278, - "src": "2899:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 1303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5543, - "src": "2899:20:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 1304, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2853:67:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_struct$_Block_$5550_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(struct Structs.Block memory,uint256[] memory,uint256[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 1288, - "id": 1305, - "nodeType": "Return", - "src": "2847:73:8" - } - ] - }, - "functionSelector": "a27ce1ef", - "id": 1307, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposedBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1275, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1272, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1307, - "src": "2495:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1271, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2495:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1274, - "mutability": "mutable", - "name": "proposedBlock", - "nodeType": "VariableDeclaration", - "scope": 1307, - "src": "2518:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2518:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2485:60:8" - }, - "returnParameters": { - "id": 1288, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1278, - "mutability": "mutable", - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 1307, - "src": "2606:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block" - }, - "typeName": { - "id": 1277, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1276, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5550, - "src": "2606:13:8" - }, - "referencedDeclaration": 5550, - "src": "2606:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1281, - "mutability": "mutable", - "name": "_blockMedians", - "nodeType": "VariableDeclaration", - "scope": 1307, - "src": "2647:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2647:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1280, - "nodeType": "ArrayTypeName", - "src": "2647:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1284, - "mutability": "mutable", - "name": "_lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1307, - "src": "2691:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1282, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2691:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1283, - "nodeType": "ArrayTypeName", - "src": "2691:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1287, - "mutability": "mutable", - "name": "_higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1307, - "src": "2735:31:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2735:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1286, - "nodeType": "ArrayTypeName", - "src": "2735:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "2592:184:8" - }, - "scope": 2274, - "src": "2460:467:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1329, - "nodeType": "Block", - "src": "3062:108:8", - "statements": [ - { - "expression": { - "id": 1324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1317, - "name": "_blockMedians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "3072:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1318, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "3088:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1320, - "indexExpression": { - "id": 1319, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1309, - "src": "3103:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3088:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1322, - "indexExpression": { - "id": 1321, - "name": "proposedBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1311, - "src": "3110:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3088:36:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5537, - "src": "3088:44:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "src": "3072:60:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1325, - "nodeType": "ExpressionStatement", - "src": "3072:60:8" - }, - { - "expression": { - "components": [ - { - "id": 1326, - "name": "_blockMedians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "3149:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 1327, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3148:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 1316, - "id": 1328, - "nodeType": "Return", - "src": "3142:21:8" - } - ] - }, - "functionSelector": "d1a4a43d", - "id": 1330, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposedBlockMedians", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1309, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1330, - "src": "2966:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2966:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1311, - "mutability": "mutable", - "name": "proposedBlock", - "nodeType": "VariableDeclaration", - "scope": 1330, - "src": "2981:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2981:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2965:38:8" - }, - "returnParameters": { - "id": 1316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1315, - "mutability": "mutable", - "name": "_blockMedians", - "nodeType": "VariableDeclaration", - "scope": 1330, - "src": "3030:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1313, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3030:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1314, - "nodeType": "ArrayTypeName", - "src": "3030:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "3029:32:8" - }, - "scope": 2274, - "src": "2933:237:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1343, - "nodeType": "Block", - "src": "3256:53:8", - "statements": [ - { - "expression": { - "components": [ - { - "expression": { - "baseExpression": { - "id": 1337, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "3273:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1339, - "indexExpression": { - "id": 1338, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1332, - "src": "3288:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3273:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3273:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1341, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3272:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1336, - "id": 1342, - "nodeType": "Return", - "src": "3266:36:8" - } - ] - }, - "functionSelector": "e38c7c42", - "id": 1344, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getNumProposedBlocks", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1333, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1332, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1344, - "src": "3206:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3206:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3205:15:8" - }, - "returnParameters": { - "id": 1336, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1335, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1344, - "src": "3247:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3247:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3246:9:8" - }, - "scope": 2274, - "src": "3176:133:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1435, - "nodeType": "Block", - "src": "4260:973:8", - "statements": [ - { - "assignments": [ - 1374 - ], - "declarations": [ - { - "constant": false, - "id": 1374, - "mutability": "mutable", - "name": "proposerId", - "nodeType": "VariableDeclaration", - "scope": 1435, - "src": "4270:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4270:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1380, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 1377, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4316:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4316:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 1375, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "4291:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "4291:24:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 1379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4291:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4270:57:8" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1383, - "name": "iteration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1360, - "src": "4421:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1384, - "name": "biggestStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1362, - "src": "4432:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1385, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "4449:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1382, - "name": "isElectedProposer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2124, - "src": "4403:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256) view returns (bool)" - } - }, - "id": 1386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4403:57:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6e6f7420656c6563746564", - "id": 1387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4462:13:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3a53d0d6126438ff1f7ac8601076ce122aa0d007e64b2d6f4fd42962b5d21f79", - "typeString": "literal_string \"not elected\"" - }, - "value": "not elected" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3a53d0d6126438ff1f7ac8601076ce122aa0d007e64b2d6f4fd42962b5d21f79", - "typeString": "literal_string \"not elected\"" - } - ], - "id": 1381, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4395:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4395:81:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1389, - "nodeType": "ExpressionStatement", - "src": "4395:81:8" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1393, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "4530:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1391, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "4507:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 1392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "4507:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5529_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 1394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4507:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 1395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "4507:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1396, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "4551:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 1397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "minStake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "4551:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 1398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4551:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4507:64:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "7374616b652062656c6f77206d696e696d756d207374616b65", - "id": 1400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4585:27:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e207c79d2d176c883fa78b2700e15a84ccf7c71d444ce3f422160c532fe0bb38", - "typeString": "literal_string \"stake below minimum stake\"" - }, - "value": "stake below minimum stake" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e207c79d2d176c883fa78b2700e15a84ccf7c71d444ce3f422160c532fe0bb38", - "typeString": "literal_string \"stake below minimum stake\"" - } - ], - "id": 1390, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4486:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4486:136:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1402, - "nodeType": "ExpressionStatement", - "src": "4486:136:8" - }, - { - "expression": { - "arguments": [ - { - "id": 1404, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1346, - "src": "4667:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 1407, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "4718:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1408, - "name": "jobIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "4746:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1409, - "name": "medians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1352, - "src": "4770:7:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1410, - "name": "lowerCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1355, - "src": "4795:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1411, - "name": "higherCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1358, - "src": "4825:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1412, - "name": "iteration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1360, - "src": "4856:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "arguments": [ - { - "id": 1415, - "name": "biggestStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1362, - "src": "4906:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1413, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "4883:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 1414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "4883:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5529_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 1416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4883:39:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 1417, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "4883:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "74727565", - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4946:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "id": 1405, - "name": "Structs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "4687:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Structs_$5585_$", - "typeString": "type(library Structs)" - } - }, - "id": 1406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "Block", - "nodeType": "MemberAccess", - "referencedDeclaration": 5550, - "src": "4687:13:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Block_$5550_storage_ptr_$", - "typeString": "type(struct Structs.Block storage pointer)" - } - }, - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4687:277:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - ], - "id": 1403, - "name": "_insertAppropriately", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2273, - "src": "4633:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_struct$_Block_$5550_memory_ptr_$returns$__$", - "typeString": "function (uint256,struct Structs.Block memory)" - } - }, - "id": 1420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4633:341:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1421, - "nodeType": "ExpressionStatement", - "src": "4633:341:8" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1423, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1346, - "src": "5012:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1424, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "5031:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1425, - "name": "jobIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "5055:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1426, - "name": "medians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1352, - "src": "5075:7:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1427, - "name": "lowerCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1355, - "src": "5096:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1428, - "name": "higherCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1358, - "src": "5122:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1429, - "name": "iteration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1360, - "src": "5149:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1430, - "name": "biggestStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1362, - "src": "5172:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 1431, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "5201:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 1432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "5201:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1422, - "name": "Proposed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "4990:8:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256[] memory,uint256[] memory,uint256[] memory,uint256[] memory,uint256,uint256,uint256)" - } - }, - "id": 1433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4990:236:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1434, - "nodeType": "EmitStatement", - "src": "4985:241:8" - } - ] - }, - "functionSelector": "17d99c04", - "id": 1436, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 1365, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1346, - "src": "4216:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1366, - "modifierName": { - "id": 1364, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1148, - "src": "4205:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "4205:17:8" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1368, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "4234:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "propose", - "nodeType": "MemberAccess", - "referencedDeclaration": 5241, - "src": "4234:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 1370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4234:19:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1371, - "modifierName": { - "id": 1367, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1163, - "src": "4223:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "4223:31:8" - } - ], - "name": "propose", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1363, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1346, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "3972:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3972:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1349, - "mutability": "mutable", - "name": "jobIds", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "3995:23:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1347, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3995:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1348, - "nodeType": "ArrayTypeName", - "src": "3995:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1352, - "mutability": "mutable", - "name": "medians", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "4028:24:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4028:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1351, - "nodeType": "ArrayTypeName", - "src": "4028:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1355, - "mutability": "mutable", - "name": "lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "4062:29:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4062:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1354, - "nodeType": "ArrayTypeName", - "src": "4062:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1358, - "mutability": "mutable", - "name": "higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "4101:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4101:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1357, - "nodeType": "ArrayTypeName", - "src": "4101:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1360, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "4141:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1359, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4141:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1362, - "mutability": "mutable", - "name": "biggestStakerId", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "4168:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4168:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3962:235:8" - }, - "returnParameters": { - "id": 1372, - "nodeType": "ParameterList", - "parameters": [], - "src": "4260:0:8" - }, - "scope": 2274, - "src": "3946:1287:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1695, - "nodeType": "Block", - "src": "5496:1726:8", - "statements": [ - { - "assignments": [ - 1455 - ], - "declarations": [ - { - "constant": false, - "id": 1455, - "mutability": "mutable", - "name": "medianWeight", - "nodeType": "VariableDeclaration", - "scope": 1695, - "src": "5506:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1454, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5506:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1464, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1458, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "5563:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1459, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "5570:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1456, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "5529:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalStakeRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 4874, - "src": "5529:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view external returns (uint256)" - } - }, - "id": 1460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5529:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "hexValue": "32", - "id": 1461, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5580:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "id": 1462, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5579:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - }, - "src": "5529:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5506:76:8" - }, - { - "assignments": [ - 1466 - ], - "declarations": [ - { - "constant": false, - "id": 1466, - "mutability": "mutable", - "name": "lowerCutoffWeight", - "nodeType": "VariableDeclaration", - "scope": 1695, - "src": "5592:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5592:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1475, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1469, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "5654:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1470, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "5661:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1467, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "5620:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "id": 1468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalStakeRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 4874, - "src": "5620:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view external returns (uint256)" - } - }, - "id": 1471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5620:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "hexValue": "34", - "id": 1472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5671:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "id": 1473, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5670:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - }, - "src": "5620:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5592:81:8" - }, - { - "assignments": [ - 1477 - ], - "declarations": [ - { - "constant": false, - "id": 1477, - "mutability": "mutable", - "name": "higherCutoffWeight", - "nodeType": "VariableDeclaration", - "scope": 1695, - "src": "5683:26:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5683:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1490, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1480, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "5747:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1481, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "5754:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1478, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "5713:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "id": 1479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalStakeRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 4874, - "src": "5713:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view external returns (uint256)" - } - }, - "id": 1482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5713:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "hexValue": "33", - "id": 1483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5764:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "id": 1484, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5763:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - }, - "src": "5713:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1486, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5712:55:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "hexValue": "34", - "id": 1487, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5769:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "id": 1488, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5768:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - }, - "src": "5712:59:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5683:88:8" - }, - { - "assignments": [ - 1492 - ], - "declarations": [ - { - "constant": false, - "id": 1492, - "mutability": "mutable", - "name": "accWeight", - "nodeType": "VariableDeclaration", - "scope": 1695, - "src": "5781:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1491, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5781:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1500, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1493, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "5801:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1495, - "indexExpression": { - "id": 1494, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "5810:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5801:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1498, - "indexExpression": { - "expression": { - "id": 1496, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5817:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5817:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5801:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1499, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accWeight", - "nodeType": "MemberAccess", - "referencedDeclaration": 5552, - "src": "5801:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5781:57:8" - }, - { - "assignments": [ - 1502 - ], - "declarations": [ - { - "constant": false, - "id": 1502, - "mutability": "mutable", - "name": "lastVisited", - "nodeType": "VariableDeclaration", - "scope": 1695, - "src": "5848:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5848:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1510, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1503, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "5870:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1505, - "indexExpression": { - "id": 1504, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "5879:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5870:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1508, - "indexExpression": { - "expression": { - "id": 1506, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5886:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5886:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5870:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1509, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastVisited", - "nodeType": "MemberAccess", - "referencedDeclaration": 5560, - "src": "5870:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5848:61:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1511, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "5923:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1513, - "indexExpression": { - "id": 1512, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "5932:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5923:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1516, - "indexExpression": { - "expression": { - "id": 1514, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5939:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5939:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5923:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1517, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accWeight", - "nodeType": "MemberAccess", - "referencedDeclaration": 5552, - "src": "5923:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5964:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5923:42:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1544, - "nodeType": "Block", - "src": "6043:104:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1532, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "6065:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1534, - "indexExpression": { - "id": 1533, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "6074:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6065:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1537, - "indexExpression": { - "expression": { - "id": 1535, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6081:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6081:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6065:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "assetId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5562, - "src": "6065:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1539, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "6104:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6065:46:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "41737365744964206e6f74206d61746368696e67", - "id": 1541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6113:22:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8502787b53e287151708a5e7afa0877b07e01519c554f40b2a5921a6d13c115", - "typeString": "literal_string \"AssetId not matching\"" - }, - "value": "AssetId not matching" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8502787b53e287151708a5e7afa0877b07e01519c554f40b2a5921a6d13c115", - "typeString": "literal_string \"AssetId not matching\"" - } - ], - "id": 1531, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6057:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6057:79:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1543, - "nodeType": "ExpressionStatement", - "src": "6057:79:8" - } - ] - }, - "id": 1545, - "nodeType": "IfStatement", - "src": "5919:228:8", - "trueBody": { - "id": 1530, - "nodeType": "Block", - "src": "5967:70:8", - "statements": [ - { - "expression": { - "id": 1528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1520, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "5981:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1524, - "indexExpression": { - "id": 1521, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "5990:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5981:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1525, - "indexExpression": { - "expression": { - "id": 1522, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5997:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5997:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5981:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "assetId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5562, - "src": "5981:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1527, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "6019:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5981:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1529, - "nodeType": "ExpressionStatement", - "src": "5981:45:8" - } - ] - } - }, - { - "body": { - "id": 1673, - "nodeType": "Block", - "src": "6200:894:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 1558, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1443, - "src": "6222:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1560, - "indexExpression": { - "id": 1559, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1547, - "src": "6229:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6222:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1561, - "name": "lastVisited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1502, - "src": "6234:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6222:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "736f727465645b695d206973206e6f742067726561746572207468616e206c61737456697369746564", - "id": 1563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6247:43:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1ec6875020a1d7aab0ee87c86d27f1e233ed357292ee2698d9d8c4f8dc8faf8f", - "typeString": "literal_string \"sorted[i] is not greater than lastVisited\"" - }, - "value": "sorted[i] is not greater than lastVisited" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1ec6875020a1d7aab0ee87c86d27f1e233ed357292ee2698d9d8c4f8dc8faf8f", - "typeString": "literal_string \"sorted[i] is not greater than lastVisited\"" - } - ], - "id": 1557, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6214:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6214:77:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1565, - "nodeType": "ExpressionStatement", - "src": "6214:77:8" - }, - { - "expression": { - "id": 1570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1566, - "name": "lastVisited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1502, - "src": "6305:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1567, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1443, - "src": "6319:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1569, - "indexExpression": { - "id": 1568, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1547, - "src": "6326:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6319:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6305:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1571, - "nodeType": "ExpressionStatement", - "src": "6305:23:8" - }, - { - "expression": { - "id": 1584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1572, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "6342:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1573, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "6354:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "arguments": [ - { - "id": 1576, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "6393:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1577, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "6400:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "id": 1578, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1443, - "src": "6409:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1580, - "indexExpression": { - "id": 1579, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1547, - "src": "6416:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6409:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1574, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "6367:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "id": 1575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getVoteWeight", - "nodeType": "MemberAccess", - "referencedDeclaration": 4865, - "src": "6367:25:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view external returns (uint256)" - } - }, - "id": 1581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6367:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1582, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6366:54:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6354:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6342:78:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1585, - "nodeType": "ExpressionStatement", - "src": "6342:78:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1586, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "6439:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1588, - "indexExpression": { - "id": 1587, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "6448:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6439:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1591, - "indexExpression": { - "expression": { - "id": 1589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6455:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6455:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6439:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5556, - "src": "6439:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6482:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6439:44:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1595, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "6487:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1596, - "name": "lowerCutoffWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1466, - "src": "6500:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6487:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6439:78:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1612, - "nodeType": "IfStatement", - "src": "6435:168:8", - "trueBody": { - "id": 1611, - "nodeType": "Block", - "src": "6519:84:8", - "statements": [ - { - "expression": { - "id": 1609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1599, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "6537:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1603, - "indexExpression": { - "id": 1600, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "6546:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6537:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1604, - "indexExpression": { - "expression": { - "id": 1601, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6553:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6553:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6537:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lowerCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5556, - "src": "6537:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1606, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1443, - "src": "6579:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1608, - "indexExpression": { - "id": 1607, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1547, - "src": "6586:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6579:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6537:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1610, - "nodeType": "ExpressionStatement", - "src": "6537:51:8" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1613, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "6620:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1615, - "indexExpression": { - "id": 1614, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "6629:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6620:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1618, - "indexExpression": { - "expression": { - "id": 1616, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6636:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6636:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6620:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1619, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "median", - "nodeType": "MemberAccess", - "referencedDeclaration": 5554, - "src": "6620:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6658:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6620:39:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1622, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "6663:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1623, - "name": "medianWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1455, - "src": "6675:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6663:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6620:67:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1639, - "nodeType": "IfStatement", - "src": "6616:152:8", - "trueBody": { - "id": 1638, - "nodeType": "Block", - "src": "6689:79:8", - "statements": [ - { - "expression": { - "id": 1636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1626, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "6707:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1630, - "indexExpression": { - "id": 1627, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "6716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6707:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1631, - "indexExpression": { - "expression": { - "id": 1628, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6723:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6723:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6707:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "median", - "nodeType": "MemberAccess", - "referencedDeclaration": 5554, - "src": "6707:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1633, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1443, - "src": "6744:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1635, - "indexExpression": { - "id": 1634, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1547, - "src": "6751:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6744:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6707:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1637, - "nodeType": "ExpressionStatement", - "src": "6707:46:8" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1640, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "6785:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1642, - "indexExpression": { - "id": 1641, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "6794:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6785:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1645, - "indexExpression": { - "expression": { - "id": 1643, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6801:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6801:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6785:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1646, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5558, - "src": "6785:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6829:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6785:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1649, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "6834:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1650, - "name": "higherCutoffWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1477, - "src": "6846:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6834:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6785:79:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1666, - "nodeType": "IfStatement", - "src": "6781:170:8", - "trueBody": { - "id": 1665, - "nodeType": "Block", - "src": "6866:85:8", - "statements": [ - { - "expression": { - "id": 1663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1653, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "6884:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1657, - "indexExpression": { - "id": 1654, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "6893:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6884:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1658, - "indexExpression": { - "expression": { - "id": 1655, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6900:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6900:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6884:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1659, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "higherCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5558, - "src": "6884:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1660, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1443, - "src": "6927:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1662, - "indexExpression": { - "id": 1661, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1547, - "src": "6934:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6927:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6884:52:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1664, - "nodeType": "ExpressionStatement", - "src": "6884:52:8" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1667, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -7, - "src": "7059:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 1668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7059:9:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "hexValue": "3130303030", - "id": 1669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7071:5:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "src": "7059:17:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1672, - "nodeType": "IfStatement", - "src": "7055:28:8", - "trueBody": { - "id": 1671, - "nodeType": "Break", - "src": "7078:5:8" - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1550, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1547, - "src": "6176:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 1551, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1443, - "src": "6180:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "6180:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6176:17:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1674, - "initializationExpression": { - "assignments": [ - 1547 - ], - "declarations": [ - { - "constant": false, - "id": 1547, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1674, - "src": "6161:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6161:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1549, - "initialValue": { - "hexValue": "30", - "id": 1548, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6173:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6161:13:8" - }, - "loopExpression": { - "expression": { - "id": 1555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6195:3:8", - "subExpression": { - "id": 1554, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1547, - "src": "6195:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1556, - "nodeType": "ExpressionStatement", - "src": "6195:3:8" - }, - "nodeType": "ForStatement", - "src": "6156:938:8" - }, - { - "expression": { - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1675, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "7103:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1679, - "indexExpression": { - "id": 1676, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "7112:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7103:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1680, - "indexExpression": { - "expression": { - "id": 1677, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7119:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7119:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7103:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1681, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastVisited", - "nodeType": "MemberAccess", - "referencedDeclaration": 5560, - "src": "7103:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1682, - "name": "lastVisited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1502, - "src": "7145:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7103:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1684, - "nodeType": "ExpressionStatement", - "src": "7103:53:8" - }, - { - "expression": { - "id": 1693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1685, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "7166:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1689, - "indexExpression": { - "id": 1686, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "7175:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7166:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1690, - "indexExpression": { - "expression": { - "id": 1687, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7182:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7182:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7166:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1691, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accWeight", - "nodeType": "MemberAccess", - "referencedDeclaration": 5552, - "src": "7166:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1692, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "7206:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7166:49:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1694, - "nodeType": "ExpressionStatement", - "src": "7166:49:8" - } - ] - }, - "functionSelector": "4e6753b7", - "id": 1696, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 1446, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "5444:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1447, - "modifierName": { - "id": 1445, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1148, - "src": "5433:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "5433:17:8" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1449, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "5470:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 1450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dispute", - "nodeType": "MemberAccess", - "referencedDeclaration": 5250, - "src": "5470:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 1451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5470:19:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1452, - "modifierName": { - "id": 1448, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1163, - "src": "5459:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "5459:31:8" - } - ], - "name": "giveSorted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1444, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1438, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1696, - "src": "5331:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5331:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1440, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 1696, - "src": "5354:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5354:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1443, - "mutability": "mutable", - "name": "sorted", - "nodeType": "VariableDeclaration", - "scope": 1696, - "src": "5379:23:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5379:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1442, - "nodeType": "ArrayTypeName", - "src": "5379:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "5321:87:8" - }, - "returnParameters": { - "id": 1453, - "nodeType": "ParameterList", - "parameters": [], - "src": "5496:0:8" - }, - "scope": 2274, - "src": "5302:1920:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1726, - "nodeType": "Block", - "src": "7436:80:8", - "statements": [ - { - "expression": { - "id": 1724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 1709, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "7446:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1713, - "indexExpression": { - "id": 1710, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "7455:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7446:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1714, - "indexExpression": { - "expression": { - "id": 1711, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7462:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7462:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7446:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "30", - "id": 1717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7492:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7495:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7498:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7501:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7504:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7507:1:8", - "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" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 1715, - "name": "Structs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "7476:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Structs_$5585_$", - "typeString": "type(library Structs)" - } - }, - "id": 1716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "Dispute", - "nodeType": "MemberAccess", - "referencedDeclaration": 5563, - "src": "7476:15:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Dispute_$5563_storage_ptr_$", - "typeString": "type(struct Structs.Dispute storage pointer)" - } - }, - "id": 1723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7476:33:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_memory_ptr", - "typeString": "struct Structs.Dispute memory" - } - }, - "src": "7446:63:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1725, - "nodeType": "ExpressionStatement", - "src": "7446:63:8" - } - ] - }, - "functionSelector": "5ce8772f", - "id": 1727, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 1701, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "7393:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1702, - "modifierName": { - "id": 1700, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1148, - "src": "7382:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "7382:17:8" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1704, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "7411:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 1705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dispute", - "nodeType": "MemberAccess", - "referencedDeclaration": 5250, - "src": "7411:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 1706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7411:19:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1707, - "modifierName": { - "id": 1703, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1163, - "src": "7400:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "7400:31:8" - } - ], - "name": "resetDispute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1699, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1698, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1727, - "src": "7355:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1697, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7355:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7345:29:8" - }, - "returnParameters": { - "id": 1708, - "nodeType": "ParameterList", - "parameters": [], - "src": "7436:0:8" - }, - "scope": 2274, - "src": "7324:192:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1872, - "nodeType": "Block", - "src": "7641:1059:8", - "statements": [ - { - "assignments": [ - 1743 - ], - "declarations": [ - { - "constant": false, - "id": 1743, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 1872, - "src": "7651:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7651:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1751, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1744, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "7669:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1746, - "indexExpression": { - "id": 1745, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "7678:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7669:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1749, - "indexExpression": { - "expression": { - "id": 1747, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7685:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7685:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7669:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1750, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "assetId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5562, - "src": "7669:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7651:53:8" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1753, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "7735:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1755, - "indexExpression": { - "id": 1754, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "7744:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7735:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1758, - "indexExpression": { - "expression": { - "id": 1756, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7751:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7751:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7735:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1759, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accWeight", - "nodeType": "MemberAccess", - "referencedDeclaration": 5552, - "src": "7735:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 1762, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "7810:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1763, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "7817:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1760, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "7776:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "id": 1761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalStakeRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 4874, - "src": "7776:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view external returns (uint256)" - } - }, - "id": 1764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7776:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7735:90:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f74616c207374616b652072657665616c656420646f65736e74206d61746368", - "id": 1766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7839:35:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ecd7c03dd4fefcf0b1a7bf52abee3e5ee96cf728822576b5a1ea0511bb7da846", - "typeString": "literal_string \"Total stake revealed doesnt match\"" - }, - "value": "Total stake revealed doesnt match" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ecd7c03dd4fefcf0b1a7bf52abee3e5ee96cf728822576b5a1ea0511bb7da846", - "typeString": "literal_string \"Total stake revealed doesnt match\"" - } - ], - "id": 1752, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7714:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7714:170:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1768, - "nodeType": "ExpressionStatement", - "src": "7714:170:8" - }, - { - "assignments": [ - 1770 - ], - "declarations": [ - { - "constant": false, - "id": 1770, - "mutability": "mutable", - "name": "median", - "nodeType": "VariableDeclaration", - "scope": 1872, - "src": "7894:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1778, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1771, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "7911:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1773, - "indexExpression": { - "id": 1772, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "7920:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7911:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1776, - "indexExpression": { - "expression": { - "id": 1774, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7927:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7927:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7911:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1777, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "median", - "nodeType": "MemberAccess", - "referencedDeclaration": 5554, - "src": "7911:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7894:51:8" - }, - { - "assignments": [ - 1780 - ], - "declarations": [ - { - "constant": false, - "id": 1780, - "mutability": "mutable", - "name": "lowerCutoff", - "nodeType": "VariableDeclaration", - "scope": 1872, - "src": "7955:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7955:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1788, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1781, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "7977:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1783, - "indexExpression": { - "id": 1782, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "7986:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7977:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1786, - "indexExpression": { - "expression": { - "id": 1784, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7993:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7977:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1787, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5556, - "src": "7977:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7955:61:8" - }, - { - "assignments": [ - 1790 - ], - "declarations": [ - { - "constant": false, - "id": 1790, - "mutability": "mutable", - "name": "higherCutoff", - "nodeType": "VariableDeclaration", - "scope": 1872, - "src": "8026:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8026:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1798, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1791, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "8049:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1793, - "indexExpression": { - "id": 1792, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "8058:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8049:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1796, - "indexExpression": { - "expression": { - "id": 1794, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8065:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8065:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8049:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1797, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5558, - "src": "8049:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8026:63:8" - }, - { - "assignments": [ - 1800 - ], - "declarations": [ - { - "constant": false, - "id": 1800, - "mutability": "mutable", - "name": "proposerId", - "nodeType": "VariableDeclaration", - "scope": 1872, - "src": "8099:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8099:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1807, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1801, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "8120:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1803, - "indexExpression": { - "id": 1802, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "8135:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8120:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1805, - "indexExpression": { - "id": 1804, - "name": "blockId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1731, - "src": "8142:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8120:30:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5531, - "src": "8120:41:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8099:62:8" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1809, - "name": "median", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1770, - "src": "8190:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8199:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8190:10:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4d656469616e2063616e2774206265207a65726f", - "id": 1812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8202:22:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_caba54141c8302d91fc582341a896e0618c7585ad35d02d6bc357749c156dc4f", - "typeString": "literal_string \"Median can't be zero\"" - }, - "value": "Median can't be zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_caba54141c8302d91fc582341a896e0618c7585ad35d02d6bc357749c156dc4f", - "typeString": "literal_string \"Median can't be zero\"" - } - ], - "id": 1808, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8182:43:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1814, - "nodeType": "ExpressionStatement", - "src": "8182:43:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1815, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "8239:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1817, - "indexExpression": { - "id": 1816, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "8254:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8239:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1819, - "indexExpression": { - "id": 1818, - "name": "blockId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1731, - "src": "8261:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8239:30:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1820, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5537, - "src": "8239:38:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1822, - "indexExpression": { - "id": 1821, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8278:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8239:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1823, - "name": "median", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1770, - "src": "8290:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8239:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1825, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "8312:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1827, - "indexExpression": { - "id": 1826, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "8327:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8312:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1829, - "indexExpression": { - "id": 1828, - "name": "blockId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1731, - "src": "8334:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8312:30:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1830, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5540, - "src": "8312:43:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1832, - "indexExpression": { - "id": 1831, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8356:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8312:52:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1833, - "name": "lowerCutoff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1780, - "src": "8368:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8312:67:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8239:140:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1836, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "8395:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1838, - "indexExpression": { - "id": 1837, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "8410:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8395:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1840, - "indexExpression": { - "id": 1839, - "name": "blockId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1731, - "src": "8417:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8395:30:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1841, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5543, - "src": "8395:44:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1843, - "indexExpression": { - "id": 1842, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8440:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8395:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1844, - "name": "higherCutoff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1790, - "src": "8452:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8395:69:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8239:225:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1870, - "nodeType": "Block", - "src": "8604:90:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "50726f706f73656420416c7465726e61746520626c6f636b206973206964656e746963616c20746f2070726f706f73656420626c6f636b", - "id": 1867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8625:57:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e0caad04d64eaccf0f1520337c6a454830add2cfcac5d358ae30ee8051ad8105", - "typeString": "literal_string \"Proposed Alternate block is identical to proposed block\"" - }, - "value": "Proposed Alternate block is identical to proposed block" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e0caad04d64eaccf0f1520337c6a454830add2cfcac5d358ae30ee8051ad8105", - "typeString": "literal_string \"Proposed Alternate block is identical to proposed block\"" - } - ], - "id": 1866, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "8618:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 1868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8618:65:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1869, - "nodeType": "ExpressionStatement", - "src": "8618:65:8" - } - ] - }, - "id": 1871, - "nodeType": "IfStatement", - "src": "8235:459:8", - "trueBody": { - "id": 1865, - "nodeType": "Block", - "src": "8466:132:8", - "statements": [ - { - "expression": { - "id": 1854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1847, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "8480:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1850, - "indexExpression": { - "id": 1848, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "8495:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8480:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1851, - "indexExpression": { - "id": 1849, - "name": "blockId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1731, - "src": "8502:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8480:30:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1852, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "valid", - "nodeType": "MemberAccess", - "referencedDeclaration": 5549, - "src": "8480:36:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 1853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8519:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "8480:44:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1855, - "nodeType": "ExpressionStatement", - "src": "8480:44:8" - }, - { - "expression": { - "arguments": [ - { - "id": 1859, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1800, - "src": "8557:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 1860, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8569:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8569:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1862, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "8581:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1856, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "8538:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 1858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "slash", - "nodeType": "MemberAccess", - "referencedDeclaration": 4754, - "src": "8538:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256) external" - } - }, - "id": 1863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8538:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1864, - "nodeType": "ExpressionStatement", - "src": "8538:49:8" - } - ] - } - } - ] - }, - "functionSelector": "3cd32fd4", - "id": 1873, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 1734, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "7602:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1735, - "modifierName": { - "id": 1733, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1148, - "src": "7591:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "7591:17:8" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1737, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "7620:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 1738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dispute", - "nodeType": "MemberAccess", - "referencedDeclaration": 5250, - "src": "7620:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 1739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7620:19:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1740, - "modifierName": { - "id": 1736, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1163, - "src": "7609:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "7609:31:8" - } - ], - "name": "finalizeDispute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1729, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1873, - "src": "7548:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1731, - "mutability": "mutable", - "name": "blockId", - "nodeType": "VariableDeclaration", - "scope": 1873, - "src": "7563:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7563:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7547:32:8" - }, - "returnParameters": { - "id": 1741, - "nodeType": "ParameterList", - "parameters": [], - "src": "7641:0:8" - }, - "scope": 2274, - "src": "7522:1178:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2033, - "nodeType": "Block", - "src": "8781:1180:8", - "statements": [ - { - "assignments": [ - 1882 - ], - "declarations": [ - { - "constant": false, - "id": 1882, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2033, - "src": "8791:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8791:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1886, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1883, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "8807:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "8807:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8807:23:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8791:39:8" - }, - { - "body": { - "id": 2031, - "nodeType": "Block", - "src": "8908:1038:8", - "statements": [ - { - "condition": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1902, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "8926:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1906, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1903, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "8941:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8949:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8941:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8926:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1908, - "indexExpression": { - "id": 1907, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "8952:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8926:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1909, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "valid", - "nodeType": "MemberAccess", - "referencedDeclaration": 5549, - "src": "8926:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2030, - "nodeType": "IfStatement", - "src": "8922:1014:8", - "trueBody": { - "id": 2029, - "nodeType": "Block", - "src": "8962:974:8", - "statements": [ - { - "expression": { - "id": 1922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1910, - "name": "blocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4907, - "src": "8980:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5550_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref)" - } - }, - "id": 1914, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1911, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "8987:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8995:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8987:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8980:17:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "baseExpression": { - "id": 1915, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "9000:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1919, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1916, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9015:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9023:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9015:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9000:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1921, - "indexExpression": { - "id": 1920, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "9026:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9000:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "src": "8980:48:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1923, - "nodeType": "ExpressionStatement", - "src": "8980:48:8" - }, - { - "assignments": [ - 1925 - ], - "declarations": [ - { - "constant": false, - "id": 1925, - "mutability": "mutable", - "name": "proposerId", - "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "9046:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9046:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1934, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1926, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "9067:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1930, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1927, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9082:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9090:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9082:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9067:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1932, - "indexExpression": { - "id": 1931, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "9093:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9067:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1933, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5531, - "src": "9067:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9046:60:8" - }, - { - "eventCall": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1936, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9144:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9152:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9144:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1939, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1925, - "src": "9191:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1940, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "9239:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1944, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1941, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9254:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9262:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9254:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9239:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1946, - "indexExpression": { - "id": 1945, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "9265:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9239:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5537, - "src": "9239:36:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1948, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "9313:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1952, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1949, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9328:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9336:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9328:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9313:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1954, - "indexExpression": { - "id": 1953, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "9339:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9313:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5540, - "src": "9313:41:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1956, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "9392:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1960, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1957, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9407:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9415:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9407:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9392:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1962, - "indexExpression": { - "id": 1961, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "9418:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9392:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5543, - "src": "9392:42:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1964, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "9472:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1968, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1965, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9487:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9495:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9487:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9472:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1970, - "indexExpression": { - "id": 1969, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "9498:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9472:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1971, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "jobIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 5534, - "src": "9472:35:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - { - "expression": { - "id": 1972, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "9545:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 1973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "9545:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1935, - "name": "BlockConfirmed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "9129:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256[] memory,uint256[] memory,uint256[] memory,uint256[] memory,uint256)" - } - }, - "id": 1974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9129:432:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1975, - "nodeType": "EmitStatement", - "src": "9124:437:8" - }, - { - "body": { - "id": 2019, - "nodeType": "Block", - "src": "9650:183:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "baseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1997, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "9694:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2001, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1998, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9709:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9717:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9709:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9694:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2003, - "indexExpression": { - "id": 2002, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "9720:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9694:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "jobIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 5534, - "src": "9694:35:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2006, - "indexExpression": { - "id": 2005, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1977, - "src": "9730:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9694:38:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2007, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "9774:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2011, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2008, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9789:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9797:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9789:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9774:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2013, - "indexExpression": { - "id": 2012, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "9800:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9774:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2014, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5537, - "src": "9774:36:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2016, - "indexExpression": { - "id": 2015, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1977, - "src": "9811:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9774:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1994, - "name": "jobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "9672:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "id": 1996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "fulfillJob", - "nodeType": "MemberAccess", - "referencedDeclaration": 4658, - "src": "9672:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 2017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9672:142:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2018, - "nodeType": "ExpressionStatement", - "src": "9672:142:8" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1980, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1977, - "src": "9597:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1981, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "9601:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1985, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1982, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9616:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9624:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9616:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9601:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1987, - "indexExpression": { - "id": 1986, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "9627:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9601:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "jobIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 5534, - "src": "9601:35:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9601:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9597:46:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2020, - "initializationExpression": { - "assignments": [ - 1977 - ], - "declarations": [ - { - "constant": false, - "id": 1977, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 2020, - "src": "9584:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1976, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9584:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 1979, - "initialValue": { - "hexValue": "30", - "id": 1978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9594:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9584:11:8" - }, - "loopExpression": { - "expression": { - "id": 1992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9645:3:8", - "subExpression": { - "id": 1991, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1977, - "src": "9645:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1993, - "nodeType": "ExpressionStatement", - "src": "9645:3:8" - }, - "nodeType": "ForStatement", - "src": "9579:254:8" - }, - { - "expression": { - "arguments": [ - { - "id": 2024, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1925, - "src": "9879:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2025, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "9891:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2021, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "9850:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 2023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "giveBlockReward", - "nodeType": "MemberAccess", - "referencedDeclaration": 4738, - "src": "9850:28:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 2026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9850:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2027, - "nodeType": "ExpressionStatement", - "src": "9850:47:8" - }, - { - "functionReturnParameters": 1880, - "id": 2028, - "nodeType": "Return", - "src": "9915:7:8" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1891, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "8865:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 1892, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "8869:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1896, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1893, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1882, - "src": "8884:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1894, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8892:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8884:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8869:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8869:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8865:36:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2032, - "initializationExpression": { - "assignments": [ - 1888 - ], - "declarations": [ - { - "constant": false, - "id": 1888, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "8854:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1887, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "8854:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 1890, - "initialValue": { - "hexValue": "30", - "id": 1889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8862:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8854:9:8" - }, - "loopExpression": { - "expression": { - "id": 1900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "8903:3:8", - "subExpression": { - "id": 1899, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "8903:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1901, - "nodeType": "ExpressionStatement", - "src": "8903:3:8" - }, - "nodeType": "ForStatement", - "src": "8849:1097:8" - } - ] - }, - "functionSelector": "9b87f644", - "id": 2034, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1876, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "8746:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 1877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getBlockConfirmerHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5357, - "src": "8746:31:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 1878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8746:33:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 1879, - "modifierName": { - "id": 1875, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "8737:8:8" - }, - "nodeType": "ModifierInvocation", - "src": "8737:43:8" - } - ], - "name": "confirmBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1874, - "nodeType": "ParameterList", - "parameters": [], - "src": "8727:2:8" - }, - "returnParameters": { - "id": 1880, - "nodeType": "ParameterList", - "parameters": [], - "src": "8781:0:8" - }, - "scope": 2274, - "src": "8706:1255:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2123, - "nodeType": "Block", - "src": "10143:658:8", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "hexValue": "3130", - "id": 2047, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10334:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2048, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "10338:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 2049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumStakers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "10338:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10338:28:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 2054, - "name": "iteration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2036, - "src": "10389:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2052, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "10378:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "10378:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10378:21:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2051, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "10368:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10368:32:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2045, - "name": "Random", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5505, - "src": "10322:6:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Random_$5505_$", - "typeString": "type(library Random)" - } - }, - "id": 2046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "prng", - "nodeType": "MemberAccess", - "referencedDeclaration": 5419, - "src": "10322:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_uint8_$_t_uint256_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (uint8,uint256,bytes32) view returns (uint256)" - } - }, - "id": 2057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10322:79:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "hexValue": "31", - "id": 2058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10403:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 2059, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10402:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "src": "10322:83:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2061, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10321:85:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 2062, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2040, - "src": "10410:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10321:97:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2067, - "nodeType": "IfStatement", - "src": "10317:140:8", - "trueBody": { - "id": 2066, - "nodeType": "Block", - "src": "10420:37:8", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 2064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10441:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2044, - "id": 2065, - "nodeType": "Return", - "src": "10434:12:8" - } - ] - } - }, - { - "assignments": [ - 2069 - ], - "declarations": [ - { - "constant": false, - "id": 2069, - "mutability": "mutable", - "name": "randHash", - "nodeType": "VariableDeclaration", - "scope": 2123, - "src": "10466:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2068, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10466:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 2081, - "initialValue": { - "arguments": [ - { - "hexValue": "3130", - "id": 2072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10501:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 2076, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2040, - "src": "10526:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2077, - "name": "iteration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2036, - "src": "10536:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2074, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "10515:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "10515:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10515:31:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2073, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "10505:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10505:42:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2070, - "name": "Random", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5505, - "src": "10485:6:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Random_$5505_$", - "typeString": "type(library Random)" - } - }, - "id": 2071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "prngHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5448, - "src": "10485:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_uint8_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (uint8,bytes32) view returns (bytes32)" - } - }, - "id": 2080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10485:63:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10466:82:8" - }, - { - "assignments": [ - 2083 - ], - "declarations": [ - { - "constant": false, - "id": 2083, - "mutability": "mutable", - "name": "rand", - "nodeType": "VariableDeclaration", - "scope": 2123, - "src": "10558:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10558:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2093, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2086, - "name": "randHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "10581:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2085, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10573:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2084, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10573:7:8", - "typeDescriptions": {} - } - }, - "id": 2087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10573:17:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10592:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10595:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10592:5:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - } - ], - "id": 2091, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10591:7:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "10573:25:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10558:40:8" - }, - { - "assignments": [ - 2095 - ], - "declarations": [ - { - "constant": false, - "id": 2095, - "mutability": "mutable", - "name": "biggestStake", - "nodeType": "VariableDeclaration", - "scope": 2123, - "src": "10608:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10608:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2101, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 2098, - "name": "biggestStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "10654:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2096, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "10631:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 2097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "10631:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5529_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 2099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10631:39:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "10631:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10608:68:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2102, - "name": "rand", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2083, - "src": "10690:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "id": 2103, - "name": "biggestStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "10696:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2104, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10695:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10690:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2108, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2040, - "src": "10735:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2106, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "10712:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "10712:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5529_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 2109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10712:32:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 2110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "10712:38:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 2113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10752:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 2112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10755:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10752:5:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - } - ], - "id": 2114, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10751:7:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "10712:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10690:68:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2120, - "nodeType": "IfStatement", - "src": "10686:87:8", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 2117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10767:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "id": 2118, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10766:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2044, - "id": 2119, - "nodeType": "Return", - "src": "10760:13:8" - } - }, - { - "expression": { - "hexValue": "74727565", - "id": 2121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10790:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2044, - "id": 2122, - "nodeType": "Return", - "src": "10783:11:8" - } - ] - }, - "functionSelector": "1d69ff9b", - "id": 2124, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isElectedProposer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2041, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2036, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 2124, - "src": "10003:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2035, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10003:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2038, - "mutability": "mutable", - "name": "biggestStakerId", - "nodeType": "VariableDeclaration", - "scope": 2124, - "src": "10030:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2037, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10030:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2040, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2124, - "src": "10063:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2039, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10063:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9993:92:8" - }, - "returnParameters": { - "id": 2044, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2043, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2124, - "src": "10132:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2042, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10132:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "10131:6:8" - }, - "scope": 2274, - "src": "9967:834:8", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2272, - "nodeType": "Block", - "src": "10890:964:8", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2132, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "10904:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2134, - "indexExpression": { - "id": 2133, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "10919:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10904:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "10904:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10936:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10904:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2147, - "nodeType": "IfStatement", - "src": "10900:118:8", - "trueBody": { - "id": 2146, - "nodeType": "Block", - "src": "10939:79:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2142, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "10980:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - ], - "expression": { - "baseExpression": { - "id": 2138, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "10953:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2140, - "indexExpression": { - "id": 2139, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "10968:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10953:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "10953:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Block_$5550_storage_$returns$__$", - "typeString": "function (struct Structs.Block storage ref)" - } - }, - "id": 2143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10953:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2144, - "nodeType": "ExpressionStatement", - "src": "10953:34:8" - }, - { - "functionReturnParameters": 2131, - "id": 2145, - "nodeType": "Return", - "src": "11001:7:8" - } - ] - } - }, - { - "assignments": [ - 2149 - ], - "declarations": [ - { - "constant": false, - "id": 2149, - "mutability": "mutable", - "name": "pushAt", - "nodeType": "VariableDeclaration", - "scope": 2272, - "src": "11028:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11028:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2154, - "initialValue": { - "expression": { - "baseExpression": { - "id": 2150, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11045:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2152, - "indexExpression": { - "id": 2151, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11060:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11045:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11045:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11028:45:8" - }, - { - "body": { - "id": 2200, - "nodeType": "Block", - "src": "11142:293:8", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2168, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11160:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2170, - "indexExpression": { - "id": 2169, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11175:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11160:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2172, - "indexExpression": { - "id": 2171, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2156, - "src": "11182:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11160:24:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2173, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "biggestStake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5547, - "src": "11160:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 2174, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "11200:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 2175, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "biggestStake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5547, - "src": "11200:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11160:59:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2183, - "nodeType": "IfStatement", - "src": "11156:131:8", - "trueBody": { - "id": 2182, - "nodeType": "Block", - "src": "11221:66:8", - "statements": [ - { - "expression": { - "id": 2179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2177, - "name": "pushAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "11239:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2178, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2156, - "src": "11248:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11239:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2180, - "nodeType": "ExpressionStatement", - "src": "11239:10:8" - }, - { - "id": 2181, - "nodeType": "Break", - "src": "11267:5:8" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2184, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11304:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2186, - "indexExpression": { - "id": 2185, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11319:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11304:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2188, - "indexExpression": { - "id": 2187, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2156, - "src": "11326:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11304:24:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2189, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "iteration", - "nodeType": "MemberAccess", - "referencedDeclaration": 5545, - "src": "11304:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 2190, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "11341:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 2191, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "iteration", - "nodeType": "MemberAccess", - "referencedDeclaration": 5545, - "src": "11341:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11304:53:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2199, - "nodeType": "IfStatement", - "src": "11300:125:8", - "trueBody": { - "id": 2198, - "nodeType": "Block", - "src": "11359:66:8", - "statements": [ - { - "expression": { - "id": 2195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2193, - "name": "pushAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "11377:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2194, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2156, - "src": "11386:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11377:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2196, - "nodeType": "ExpressionStatement", - "src": "11377:10:8" - }, - { - "id": 2197, - "nodeType": "Break", - "src": "11405:5:8" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2156, - "src": "11103:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 2160, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11107:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2162, - "indexExpression": { - "id": 2161, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11122:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11107:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11107:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11103:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2201, - "initializationExpression": { - "assignments": [ - 2156 - ], - "declarations": [ - { - "constant": false, - "id": 2156, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 2201, - "src": "11088:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11088:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2158, - "initialValue": { - "hexValue": "30", - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11100:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11088:13:8" - }, - "loopExpression": { - "expression": { - "id": 2166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "11137:3:8", - "subExpression": { - "id": 2165, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2156, - "src": "11137:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2167, - "nodeType": "ExpressionStatement", - "src": "11137:3:8" - }, - "nodeType": "ForStatement", - "src": "11083:352:8" - }, - { - "expression": { - "arguments": [ - { - "id": 2206, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "11472:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - ], - "expression": { - "baseExpression": { - "id": 2202, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11445:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2204, - "indexExpression": { - "id": 2203, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11460:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11445:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "11445:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Block_$5550_storage_$returns$__$", - "typeString": "function (struct Structs.Block storage ref)" - } - }, - "id": 2207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11445:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2208, - "nodeType": "ExpressionStatement", - "src": "11445:34:8" - }, - { - "body": { - "id": 2239, - "nodeType": "Block", - "src": "11559:80:8", - "statements": [ - { - "expression": { - "id": 2237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 2225, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11573:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2228, - "indexExpression": { - "id": 2226, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11588:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11573:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2229, - "indexExpression": { - "id": 2227, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2210, - "src": "11595:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11573:24:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "baseExpression": { - "id": 2230, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11600:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2232, - "indexExpression": { - "id": 2231, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11615:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11600:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2236, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2233, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2210, - "src": "11622:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11626:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11622:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11600:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "src": "11573:55:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2238, - "nodeType": "ExpressionStatement", - "src": "11573:55:8" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2218, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2210, - "src": "11540:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "components": [ - { - "id": 2219, - "name": "pushAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "11545:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2220, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11544:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11540:12:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2240, - "initializationExpression": { - "assignments": [ - 2210 - ], - "declarations": [ - { - "constant": false, - "id": 2210, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 2240, - "src": "11494:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2209, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2217, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2211, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11506:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2213, - "indexExpression": { - "id": 2212, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11521:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11506:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11506:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2215, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11537:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11506:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11494:44:8" - }, - "loopExpression": { - "expression": { - "id": 2223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "11554:3:8", - "subExpression": { - "id": 2222, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2210, - "src": "11554:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2224, - "nodeType": "ExpressionStatement", - "src": "11554:3:8" - }, - "nodeType": "ForStatement", - "src": "11489:150:8" - }, - { - "expression": { - "id": 2247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 2241, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11649:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2244, - "indexExpression": { - "id": 2242, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11664:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11649:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2245, - "indexExpression": { - "id": 2243, - "name": "pushAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "11671:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11649:29:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2246, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "11681:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "src": "11649:38:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2248, - "nodeType": "ExpressionStatement", - "src": "11649:38:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2249, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11702:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2251, - "indexExpression": { - "id": 2250, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11717:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11702:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11702:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2253, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "11733:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "maxAltBlocks", - "nodeType": "MemberAccess", - "referencedDeclaration": 5312, - "src": "11733:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11733:24:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11702:55:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2271, - "nodeType": "IfStatement", - "src": "11698:150:8", - "trueBody": { - "id": 2270, - "nodeType": "Block", - "src": "11759:89:8", - "statements": [ - { - "expression": { - "id": 2268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "11773:64:8", - "subExpression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "id": 2257, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11781:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2259, - "indexExpression": { - "id": 2258, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11796:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11781:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2266, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2260, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4902, - "src": "11803:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2262, - "indexExpression": { - "id": 2261, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "11818:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11803:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11803:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11834:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11803:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11781:55:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - } - ], - "id": 2267, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11780:57:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2269, - "nodeType": "ExpressionStatement", - "src": "11773:64:8" - } - ] - } - } - ] - }, - "id": 2273, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_insertAppropriately", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2130, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2126, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2273, - "src": "10837:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2125, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10837:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2129, - "mutability": "mutable", - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 2273, - "src": "10852:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block" - }, - "typeName": { - "id": 2128, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2127, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5550, - "src": "10852:13:8" - }, - "referencedDeclaration": 5550, - "src": "10852:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "visibility": "internal" - } - ], - "src": "10836:44:8" - }, - "returnParameters": { - "id": 2131, - "nodeType": "ParameterList", - "parameters": [], - "src": "10890:0:8" - }, - "scope": 2274, - "src": "10807:1047:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2275, - "src": "339:11519:8" - } - ], - "src": "39:11820:8" - }, - "id": 8 - }, - "contracts/Core/JobManager.sol": { - "ast": { - "absolutePath": "contracts/Core/JobManager.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "Constants": [ - 5385 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "IAccessControl": [ - 42 - ], - "IERC165": [ - 1031 - ], - "IStateManager": [ - 4798 - ], - "JobManager": [ - 2536 - ], - "JobStorage": [ - 4919 - ], - "Structs": [ - 5585 - ] - }, - "id": 2537, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2276, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:9" - }, - { - "absolutePath": "contracts/Core/interface/IStateManager.sol", - "file": "./interface/IStateManager.sol", - "id": 2277, - "nodeType": "ImportDirective", - "scope": 2537, - "sourceUnit": 4799, - "src": "64:39:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/storage/JobStorage.sol", - "file": "./storage/JobStorage.sol", - "id": 2278, - "nodeType": "ImportDirective", - "scope": 2537, - "sourceUnit": 4920, - "src": "104:34:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 2279, - "nodeType": "ImportDirective", - "scope": 2537, - "sourceUnit": 5386, - "src": "139:30:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/ACL.sol", - "file": "./ACL.sol", - "id": 2280, - "nodeType": "ImportDirective", - "scope": 2537, - "sourceUnit": 1064, - "src": "170:19:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2281, - "name": "ACL", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1063, - "src": "215:3:9" - }, - "id": 2282, - "nodeType": "InheritanceSpecifier", - "src": "215:3:9" - }, - { - "baseName": { - "id": 2283, - "name": "JobStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4919, - "src": "220:10:9" - }, - "id": 2284, - "nodeType": "InheritanceSpecifier", - "src": "220:10:9" - } - ], - "contractDependencies": [ - 42, - 322, - 924, - 1019, - 1031, - 1063, - 4919 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2536, - "linearizedBaseContracts": [ - 2536, - 4919, - 1063, - 322, - 1019, - 1031, - 42, - 924 - ], - "name": "JobManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "2e716fb1", - "id": 2287, - "mutability": "mutable", - "name": "stateManager", - "nodeType": "VariableDeclaration", - "scope": 2536, - "src": "238:33:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - }, - "typeName": { - "id": 2286, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2285, - "name": "IStateManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4798, - "src": "238:13:9" - }, - "referencedDeclaration": 4798, - "src": "238:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "visibility": "public" - }, - { - "anonymous": false, - "id": 2307, - "name": "JobCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 2306, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2289, - "indexed": false, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 2307, - "src": "304:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "304:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2291, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2307, - "src": "324:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "324:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2293, - "indexed": false, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 2307, - "src": "347:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2292, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "347:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2295, - "indexed": false, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 2307, - "src": "367:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2294, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "367:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2297, - "indexed": false, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2307, - "src": "392:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "392:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2299, - "indexed": false, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 2307, - "src": "413:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2298, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "413:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2301, - "indexed": false, - "mutability": "mutable", - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 2307, - "src": "434:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "434:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2303, - "indexed": false, - "mutability": "mutable", - "name": "credit", - "nodeType": "VariableDeclaration", - "scope": 2307, - "src": "459:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "459:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2305, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2307, - "src": "483:17:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "483:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "294:212:9" - }, - "src": "278:229:9" - }, - { - "anonymous": false, - "id": 2331, - "name": "JobReported", - "nodeType": "EventDefinition", - "parameters": { - "id": 2330, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2309, - "indexed": false, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "540:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "540:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2311, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "560:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2313, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "583:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2312, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "583:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2315, - "indexed": false, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "606:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2314, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "606:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2317, - "indexed": false, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "626:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2316, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "626:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2319, - "indexed": false, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "651:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2318, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "651:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2321, - "indexed": false, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "672:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2320, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "672:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2323, - "indexed": false, - "mutability": "mutable", - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "693:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "693:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2325, - "indexed": false, - "mutability": "mutable", - "name": "credit", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "718:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "718:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2327, - "indexed": false, - "mutability": "mutable", - "name": "fulfilled", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "742:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2326, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "742:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2329, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2331, - "src": "766:17:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2328, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "766:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "530:259:9" - }, - "src": "513:277:9" - }, - { - "body": { - "id": 2342, - "nodeType": "Block", - "src": "875:67:9", - "statements": [ - { - "expression": { - "id": 2340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2336, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2287, - "src": "885:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2338, - "name": "_stateManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2333, - "src": "914:20:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2337, - "name": "IStateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4798, - "src": "900:13:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStateManager_$4798_$", - "typeString": "type(contract IStateManager)" - } - }, - "id": 2339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "900:35:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "src": "885:50:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 2341, - "nodeType": "ExpressionStatement", - "src": "885:50:9" - } - ] - }, - "functionSelector": "19ab453c", - "id": 2343, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2333, - "mutability": "mutable", - "name": "_stateManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 2343, - "src": "836:28:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2332, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "836:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "835:30:9" - }, - "returnParameters": { - "id": 2335, - "nodeType": "ParameterList", - "parameters": [], - "src": "875:0:9" - }, - "scope": 2536, - "src": "822:120:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2408, - "nodeType": "Block", - "src": "1109:607:9", - "statements": [ - { - "expression": { - "id": 2358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2354, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "1119:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2355, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "1129:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1139:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1129:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1119:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2359, - "nodeType": "ExpressionStatement", - "src": "1119:21:9" - }, - { - "assignments": [ - 2361 - ], - "declarations": [ - { - "constant": false, - "id": 2361, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2408, - "src": "1150:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1150:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2365, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2362, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2287, - "src": "1166:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 2363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "1166:21:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1166:23:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1150:39:9" - }, - { - "assignments": [ - 2370 - ], - "declarations": [ - { - "constant": false, - "id": 2370, - "mutability": "mutable", - "name": "job", - "nodeType": "VariableDeclaration", - "scope": 2408, - "src": "1199:22:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_memory_ptr", - "typeString": "struct Structs.Job" - }, - "typeName": { - "id": 2369, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2368, - "name": "Structs.Job", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5584, - "src": "1199:11:9" - }, - "referencedDeclaration": 5584, - "src": "1199:11:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job" - } - }, - "visibility": "internal" - } - ], - "id": 2386, - "initialValue": { - "arguments": [ - { - "id": 2373, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "1249:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2374, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "1270:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2375, - "name": "url", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "1289:3:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2376, - "name": "selector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2347, - "src": "1306:8:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2377, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2349, - "src": "1328:4:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2378, - "name": "repeat", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2351, - "src": "1346:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "expression": { - "id": 2379, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1366:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1366:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 2381, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1390:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "1390:9:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "66616c7365", - "id": 2383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1413:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 2384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1432:1:9", - "typeDescriptions": { - "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_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 2371, - "name": "Structs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "1224:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Structs_$5585_$", - "typeString": "type(library Structs)" - } - }, - "id": 2372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "Job", - "nodeType": "MemberAccess", - "referencedDeclaration": 5584, - "src": "1224:11:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Job_$5584_storage_ptr_$", - "typeString": "type(struct Structs.Job storage pointer)" - } - }, - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1224:219:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1199:244:9" - }, - { - "expression": { - "id": 2391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2387, - "name": "jobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4918, - "src": "1453:4:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5584_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job storage ref)" - } - }, - "id": 2389, - "indexExpression": { - "id": 2388, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "1458:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1453:13:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage", - "typeString": "struct Structs.Job storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2390, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2370, - "src": "1469:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "src": "1453:19:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage", - "typeString": "struct Structs.Job storage ref" - } - }, - "id": 2392, - "nodeType": "ExpressionStatement", - "src": "1453:19:9" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2394, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "1520:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2395, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "1541:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2396, - "name": "url", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "1560:3:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2397, - "name": "selector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2347, - "src": "1577:8:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2398, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2349, - "src": "1599:4:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2399, - "name": "repeat", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2351, - "src": "1617:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "expression": { - "id": 2400, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1637:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1637:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 2402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1661:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "1661:9:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2404, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1684:5:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1684:15:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2393, - "name": "JobCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2307, - "src": "1496:10:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,string memory,string memory,bool,address,uint256,uint256)" - } - }, - "id": 2406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1496:213:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2407, - "nodeType": "EmitStatement", - "src": "1491:218:9" - } - ] - }, - "functionSelector": "628aff1d", - "id": 2409, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2352, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2345, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 2409, - "src": "976:19:9", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2344, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "976:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2347, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 2409, - "src": "1005:24:9", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2346, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1005:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2349, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2409, - "src": "1039:20:9", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2348, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1039:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2351, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 2409, - "src": "1069:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2350, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1069:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "966:120:9" - }, - "returnParameters": { - "id": 2353, - "nodeType": "ParameterList", - "parameters": [], - "src": "1109:0:9" - }, - "scope": 2536, - "src": "948:768:9", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2476, - "nodeType": "Block", - "src": "1866:496:9", - "statements": [ - { - "assignments": [ - 2425 - ], - "declarations": [ - { - "constant": false, - "id": 2425, - "mutability": "mutable", - "name": "job", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "1876:23:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job" - }, - "typeName": { - "id": 2424, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2423, - "name": "Structs.Job", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5584, - "src": "1876:11:9" - }, - "referencedDeclaration": 5584, - "src": "1876:11:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job" - } - }, - "visibility": "internal" - } - ], - "id": 2429, - "initialValue": { - "baseExpression": { - "id": 2426, - "name": "jobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4918, - "src": "1902:4:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5584_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job storage ref)" - } - }, - "id": 2428, - "indexExpression": { - "id": 2427, - "name": "jobId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2411, - "src": "1907:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1902:11:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage", - "typeString": "struct Structs.Job storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1876:37:9" - }, - { - "assignments": [ - 2431 - ], - "declarations": [ - { - "constant": false, - "id": 2431, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2476, - "src": "1923:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1923:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2435, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2432, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2287, - "src": "1939:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 2433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "1939:21:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1939:23:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1923:39:9" - }, - { - "condition": { - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1977:11:9", - "subExpression": { - "expression": { - "id": 2436, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "1978:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2437, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "repeat", - "nodeType": "MemberAccess", - "referencedDeclaration": 5575, - "src": "1978:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2446, - "nodeType": "IfStatement", - "src": "1973:62:9", - "trueBody": { - "id": 2445, - "nodeType": "Block", - "src": "1990:45:9", - "statements": [ - { - "expression": { - "id": 2443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 2439, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "2004:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fulfilled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5581, - "src": "2004:13:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2020:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2004:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2444, - "nodeType": "ExpressionStatement", - "src": "2004:20:9" - } - ] - } - }, - { - "expression": { - "id": 2451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 2447, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "2045:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2449, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "2045:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2450, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2058:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2045:18:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2452, - "nodeType": "ExpressionStatement", - "src": "2045:18:9" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 2454, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "2103:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5565, - "src": "2103:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2456, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2123:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2457, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "2142:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2458, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "2161:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "url", - "nodeType": "MemberAccess", - "referencedDeclaration": 5569, - "src": "2161:7:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "expression": { - "id": 2460, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "2182:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 5571, - "src": "2182:12:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "expression": { - "id": 2462, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "2208:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2463, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 5573, - "src": "2208:8:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "expression": { - "id": 2464, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "2230:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2465, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "repeat", - "nodeType": "MemberAccess", - "referencedDeclaration": 5575, - "src": "2230:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "expression": { - "id": 2466, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "2254:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2467, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5577, - "src": "2254:11:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 2468, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "2279:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2469, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "credit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5579, - "src": "2279:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2470, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "2303:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2471, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fulfilled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5581, - "src": "2303:13:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "expression": { - "id": 2472, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2330:5:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "2330:15:9", - "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_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2453, - "name": "JobReported", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2331, - "src": "2078:11:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_address_$_t_uint256_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,string memory,string memory,string memory,bool,address,uint256,bool,uint256)" - } - }, - "id": 2474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2078:277:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2475, - "nodeType": "EmitStatement", - "src": "2073:282:9" - } - ] - }, - "functionSelector": "56350bdf", - "id": 2477, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2416, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "1829:9:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getJobConfirmerHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5348, - "src": "1829:29:9", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1829:31:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2419, - "modifierName": { - "id": 2415, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "1820:8:9" - }, - "nodeType": "ModifierInvocation", - "src": "1820:41:9" - } - ], - "name": "fulfillJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2411, - "mutability": "mutable", - "name": "jobId", - "nodeType": "VariableDeclaration", - "scope": 2477, - "src": "1751:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2410, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1751:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2413, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2477, - "src": "1774:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1774:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1741:52:9" - }, - "returnParameters": { - "id": 2420, - "nodeType": "ParameterList", - "parameters": [], - "src": "1866:0:9" - }, - "scope": 2536, - "src": "1722:640:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2489, - "nodeType": "Block", - "src": "2430:39:9", - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 2484, - "name": "jobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4918, - "src": "2447:4:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5584_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job storage ref)" - } - }, - "id": 2486, - "indexExpression": { - "id": 2485, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2479, - "src": "2452:2:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2447:8:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage", - "typeString": "struct Structs.Job storage ref" - } - }, - "id": 2487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "2447:15:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2483, - "id": 2488, - "nodeType": "Return", - "src": "2440:22:9" - } - ] - }, - "functionSelector": "995e4339", - "id": 2490, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getResult", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2480, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2479, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 2490, - "src": "2387:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2478, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2387:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2386:12:9" - }, - "returnParameters": { - "id": 2483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2482, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2490, - "src": "2421:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2421:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2420:9:9" - }, - "scope": 2536, - "src": "2368:101:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2526, - "nodeType": "Block", - "src": "2731:123:9", - "statements": [ - { - "assignments": [ - 2509 - ], - "declarations": [ - { - "constant": false, - "id": 2509, - "mutability": "mutable", - "name": "job", - "nodeType": "VariableDeclaration", - "scope": 2526, - "src": "2741:22:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_memory_ptr", - "typeString": "struct Structs.Job" - }, - "typeName": { - "id": 2508, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2507, - "name": "Structs.Job", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5584, - "src": "2741:11:9" - }, - "referencedDeclaration": 5584, - "src": "2741:11:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job" - } - }, - "visibility": "internal" - } - ], - "id": 2513, - "initialValue": { - "baseExpression": { - "id": 2510, - "name": "jobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4918, - "src": "2766:4:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5584_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job storage ref)" - } - }, - "id": 2512, - "indexExpression": { - "id": 2511, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2492, - "src": "2771:2:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2766:8:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage", - "typeString": "struct Structs.Job storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2741:33:9" - }, - { - "expression": { - "components": [ - { - "expression": { - "id": 2514, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2509, - "src": "2791:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "id": 2515, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "url", - "nodeType": "MemberAccess", - "referencedDeclaration": 5569, - "src": "2791:7:9", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "expression": { - "id": 2516, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2509, - "src": "2800:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "id": 2517, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 5571, - "src": "2800:12:9", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "expression": { - "id": 2518, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2509, - "src": "2814:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "id": 2519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 5573, - "src": "2814:8:9", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "expression": { - "id": 2520, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2509, - "src": "2824:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "id": 2521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "repeat", - "nodeType": "MemberAccess", - "referencedDeclaration": 5575, - "src": "2824:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "expression": { - "id": 2522, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2509, - "src": "2836:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "id": 2523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "2836:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2524, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2790:57:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_uint256_$", - "typeString": "tuple(string memory,string memory,string memory,bool,uint256)" - } - }, - "functionReturnParameters": 2504, - "id": 2525, - "nodeType": "Return", - "src": "2784:63:9" - } - ] - }, - "functionSelector": "bf22c457", - "id": 2527, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2493, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2492, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 2527, - "src": "2500:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2491, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2500:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2490:26:9" - }, - "returnParameters": { - "id": 2504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2495, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 2527, - "src": "2577:17:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2494, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2577:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2497, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 2527, - "src": "2608:22:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2496, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2608:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2499, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2527, - "src": "2644:18:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2498, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2644:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2501, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 2527, - "src": "2676:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2500, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2676:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2503, - "mutability": "mutable", - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 2527, - "src": "2701:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2701:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2563:162:9" - }, - "scope": 2536, - "src": "2475:379:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2534, - "nodeType": "Block", - "src": "2913:31:9", - "statements": [ - { - "expression": { - "id": 2532, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "2930:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2531, - "id": 2533, - "nodeType": "Return", - "src": "2923:14:9" - } - ] - }, - "functionSelector": "7e0c00ed", - "id": 2535, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getNumJobs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2528, - "nodeType": "ParameterList", - "parameters": [], - "src": "2879:2:9" - }, - "returnParameters": { - "id": 2531, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2530, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2535, - "src": "2904:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2529, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2904:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2903:9:9" - }, - "scope": 2536, - "src": "2860:84:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2537, - "src": "192:2754:9" - } - ], - "src": "39:2908:9" - }, - "id": 9 - }, - "contracts/Core/StakeManager.sol": { - "ast": { - "absolutePath": "contracts/Core/StakeManager.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "Constants": [ - 5385 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "ERC20": [ - 823 - ], - "IAccessControl": [ - 42 - ], - "IBlockManager": [ - 4640 - ], - "IERC165": [ - 1031 - ], - "IERC20": [ - 901 - ], - "IStateManager": [ - 4798 - ], - "IVoteManager": [ - 4886 - ], - "SchellingCoin": [ - 5212 - ], - "StakeManager": [ - 3924 - ], - "StakeStorage": [ - 4940 - ], - "Structs": [ - 5585 - ] - }, - "id": 3925, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2538, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:10" - }, - { - "absolutePath": "contracts/Core/interface/IStateManager.sol", - "file": "./interface/IStateManager.sol", - "id": 2539, - "nodeType": "ImportDirective", - "scope": 3925, - "sourceUnit": 4799, - "src": "64:39:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IBlockManager.sol", - "file": "./interface/IBlockManager.sol", - "id": 2540, - "nodeType": "ImportDirective", - "scope": 3925, - "sourceUnit": 4641, - "src": "104:39:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IVoteManager.sol", - "file": "./interface/IVoteManager.sol", - "id": 2541, - "nodeType": "ImportDirective", - "scope": 3925, - "sourceUnit": 4887, - "src": "144:38:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/storage/StakeStorage.sol", - "file": "./storage/StakeStorage.sol", - "id": 2542, - "nodeType": "ImportDirective", - "scope": 3925, - "sourceUnit": 4941, - "src": "183:36:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 2543, - "nodeType": "ImportDirective", - "scope": 3925, - "sourceUnit": 5386, - "src": "220:30:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 2544, - "nodeType": "ImportDirective", - "scope": 3925, - "sourceUnit": 5386, - "src": "251:30:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/SchellingCoin.sol", - "file": "../SchellingCoin.sol", - "id": 2545, - "nodeType": "ImportDirective", - "scope": 3925, - "sourceUnit": 5213, - "src": "282:30:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/ACL.sol", - "file": "./ACL.sol", - "id": 2546, - "nodeType": "ImportDirective", - "scope": 3925, - "sourceUnit": 1064, - "src": "313:19:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2548, - "name": "ACL", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1063, - "src": "478:3:10" - }, - "id": 2549, - "nodeType": "InheritanceSpecifier", - "src": "478:3:10" - }, - { - "baseName": { - "id": 2550, - "name": "StakeStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4940, - "src": "483:12:10" - }, - "id": 2551, - "nodeType": "InheritanceSpecifier", - "src": "483:12:10" - } - ], - "contractDependencies": [ - 42, - 322, - 924, - 1019, - 1031, - 1063, - 4940 - ], - "contractKind": "contract", - "documentation": { - "id": 2547, - "nodeType": "StructuredDocumentation", - "src": "335:117:10", - "text": "@title StakeManager\n @notice StakeManager handles stake, unstake, withdraw, reward, functions\n for stakers" - }, - "fullyImplemented": true, - "id": 3924, - "linearizedBaseContracts": [ - 3924, - 4940, - 1063, - 322, - 1019, - 1031, - 42, - 924 - ], - "name": "StakeManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "c584bb9f", - "id": 2554, - "mutability": "mutable", - "name": "sch", - "nodeType": "VariableDeclaration", - "scope": 3924, - "src": "503:24:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5212", - "typeString": "contract SchellingCoin" - }, - "typeName": { - "id": 2553, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2552, - "name": "SchellingCoin", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5212, - "src": "503:13:10" - }, - "referencedDeclaration": 5212, - "src": "503:13:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5212", - "typeString": "contract SchellingCoin" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "42c1e587", - "id": 2557, - "mutability": "mutable", - "name": "voteManager", - "nodeType": "VariableDeclaration", - "scope": 3924, - "src": "533:31:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - }, - "typeName": { - "id": 2556, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2555, - "name": "IVoteManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4886, - "src": "533:12:10" - }, - "referencedDeclaration": 4886, - "src": "533:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d9169b32", - "id": 2560, - "mutability": "mutable", - "name": "blockManager", - "nodeType": "VariableDeclaration", - "scope": 3924, - "src": "570:33:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - }, - "typeName": { - "id": 2559, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2558, - "name": "IBlockManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4640, - "src": "570:13:10" - }, - "referencedDeclaration": 4640, - "src": "570:13:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2e716fb1", - "id": 2563, - "mutability": "mutable", - "name": "stateManager", - "nodeType": "VariableDeclaration", - "scope": 3924, - "src": "609:33:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - }, - "typeName": { - "id": 2562, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2561, - "name": "IStateManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4798, - "src": "609:13:10" - }, - "referencedDeclaration": 4798, - "src": "609:13:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "visibility": "public" - }, - { - "anonymous": false, - "id": 2577, - "name": "StakeChange", - "nodeType": "EventDefinition", - "parameters": { - "id": 2576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2565, - "indexed": true, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2577, - "src": "676:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2567, - "indexed": false, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 2577, - "src": "710:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "710:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2569, - "indexed": false, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 2577, - "src": "741:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "741:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2571, - "indexed": false, - "mutability": "mutable", - "name": "reason", - "nodeType": "VariableDeclaration", - "scope": 2577, - "src": "767:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2570, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "767:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2573, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2577, - "src": "790:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2575, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2577, - "src": "813:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "813:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "666:170:10" - }, - "src": "649:188:10" - }, - { - "anonymous": false, - "id": 2587, - "name": "RewardPoolChange", - "nodeType": "EventDefinition", - "parameters": { - "id": 2586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2579, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2587, - "src": "875:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "875:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2581, - "indexed": false, - "mutability": "mutable", - "name": "prevRewardPool", - "nodeType": "VariableDeclaration", - "scope": 2587, - "src": "898:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "898:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2583, - "indexed": false, - "mutability": "mutable", - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 2587, - "src": "930:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "930:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2585, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2587, - "src": "958:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2584, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "958:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "865:116:10" - }, - "src": "843:139:10" - }, - { - "anonymous": false, - "id": 2597, - "name": "StakeGettingRewardChange", - "nodeType": "EventDefinition", - "parameters": { - "id": 2596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2589, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2597, - "src": "1027:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2588, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1027:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2591, - "indexed": false, - "mutability": "mutable", - "name": "prevStakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 2597, - "src": "1050:30:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1050:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2593, - "indexed": false, - "mutability": "mutable", - "name": "stakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 2597, - "src": "1090:26:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2592, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1090:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2595, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2597, - "src": "1126:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1126:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1017:132:10" - }, - "src": "987:163:10" - }, - { - "anonymous": false, - "id": 2609, - "name": "Staked", - "nodeType": "EventDefinition", - "parameters": { - "id": 2608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2599, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2609, - "src": "1178:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1178:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2601, - "indexed": true, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2609, - "src": "1201:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1201:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2603, - "indexed": false, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 2609, - "src": "1235:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1235:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2605, - "indexed": false, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 2609, - "src": "1266:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1266:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2607, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2609, - "src": "1292:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1292:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1168:147:10" - }, - "src": "1156:160:10" - }, - { - "anonymous": false, - "id": 2621, - "name": "Unstaked", - "nodeType": "EventDefinition", - "parameters": { - "id": 2620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2611, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2621, - "src": "1346:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1346:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2613, - "indexed": true, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2621, - "src": "1369:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2612, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1369:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2615, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2621, - "src": "1403:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1403:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2617, - "indexed": false, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 2621, - "src": "1427:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1427:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2619, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2621, - "src": "1453:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1453:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1336:140:10" - }, - "src": "1322:155:10" - }, - { - "anonymous": false, - "id": 2633, - "name": "Withdrew", - "nodeType": "EventDefinition", - "parameters": { - "id": 2632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2623, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2633, - "src": "1507:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2622, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1507:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2625, - "indexed": true, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2633, - "src": "1530:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1530:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2627, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2633, - "src": "1564:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2626, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1564:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2629, - "indexed": false, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 2633, - "src": "1588:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1588:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2631, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2633, - "src": "1614:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2630, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1614:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1497:140:10" - }, - "src": "1483:155:10" - }, - { - "body": { - "id": 2647, - "nodeType": "Block", - "src": "1680:88:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2638, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2635, - "src": "1698:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2639, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "1707:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 2640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "1707:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1707:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1698:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f72726563742065706f6368", - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1732:17:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - }, - "value": "incorrect epoch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - } - ], - "id": 2637, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1690:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1690:60:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2645, - "nodeType": "ExpressionStatement", - "src": "1690:60:10" - }, - { - "id": 2646, - "nodeType": "PlaceholderStatement", - "src": "1760:1:10" - } - ] - }, - "id": 2648, - "name": "checkEpoch", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2635, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2648, - "src": "1665:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1665:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1664:15:10" - }, - "src": "1644:124:10", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2662, - "nodeType": "Block", - "src": "1810:88:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2653, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "1828:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2654, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "1837:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 2655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "1837:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1837:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1828:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f7272656374207374617465", - "id": 2658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1862:17:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - }, - "value": "incorrect state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - } - ], - "id": 2652, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1820:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1820:60:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2660, - "nodeType": "ExpressionStatement", - "src": "1820:60:10" - }, - { - "id": 2661, - "nodeType": "PlaceholderStatement", - "src": "1890:1:10" - } - ] - }, - "id": 2663, - "name": "checkState", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2651, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2650, - "mutability": "mutable", - "name": "state", - "nodeType": "VariableDeclaration", - "scope": 2663, - "src": "1795:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1795:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1794:15:10" - }, - "src": "1774:124:10", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2672, - "nodeType": "Block", - "src": "1939:43:10", - "statements": [ - { - "expression": { - "id": 2670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2668, - "name": "blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "1949:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2669, - "name": "_blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2665, - "src": "1963:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1949:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2671, - "nodeType": "ExpressionStatement", - "src": "1949:26:10" - } - ] - }, - "id": 2673, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2665, - "mutability": "mutable", - "name": "_blockReward", - "nodeType": "VariableDeclaration", - "scope": 2673, - "src": "1917:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2664, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1917:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1916:22:10" - }, - "returnParameters": { - "id": 2667, - "nodeType": "ParameterList", - "parameters": [], - "src": "1939:0:10" - }, - "scope": 3924, - "src": "1904:78:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2709, - "nodeType": "Block", - "src": "2503:226:10", - "statements": [ - { - "expression": { - "id": 2689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2685, - "name": "sch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2554, - "src": "2513:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5212", - "typeString": "contract SchellingCoin" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2687, - "name": "_schAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2676, - "src": "2533:11:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2686, - "name": "SchellingCoin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5212, - "src": "2519:13:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SchellingCoin_$5212_$", - "typeString": "type(contract SchellingCoin)" - } - }, - "id": 2688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2519:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5212", - "typeString": "contract SchellingCoin" - } - }, - "src": "2513:32:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5212", - "typeString": "contract SchellingCoin" - } - }, - "id": 2690, - "nodeType": "ExpressionStatement", - "src": "2513:32:10" - }, - { - "expression": { - "id": 2695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2691, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "2555:11:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2693, - "name": "_voteManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2678, - "src": "2582:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2692, - "name": "IVoteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4886, - "src": "2569:12:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IVoteManager_$4886_$", - "typeString": "type(contract IVoteManager)" - } - }, - "id": 2694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2569:33:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "src": "2555:47:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "id": 2696, - "nodeType": "ExpressionStatement", - "src": "2555:47:10" - }, - { - "expression": { - "id": 2701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2697, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "2612:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2699, - "name": "_blockManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2680, - "src": "2641:20:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2698, - "name": "IBlockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4640, - "src": "2627:13:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBlockManager_$4640_$", - "typeString": "type(contract IBlockManager)" - } - }, - "id": 2700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2627:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "src": "2612:50:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "id": 2702, - "nodeType": "ExpressionStatement", - "src": "2612:50:10" - }, - { - "expression": { - "id": 2707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2703, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "2672:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2705, - "name": "_stateManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2682, - "src": "2701:20:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2704, - "name": "IStateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4798, - "src": "2687:13:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStateManager_$4798_$", - "typeString": "type(contract IStateManager)" - } - }, - "id": 2706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2687:35:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "src": "2672:50:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 2708, - "nodeType": "ExpressionStatement", - "src": "2672:50:10" - } - ] - }, - "documentation": { - "id": 2674, - "nodeType": "StructuredDocumentation", - "src": "1988:333:10", - "text": "@param _schAddress The address of the Schelling token ERC20 contract\n @param _voteManagerAddress The address of the VoteManager contract\n @param _blockManagerAddress The address of the BlockManager contract\n @param _stateManagerAddress The address of the StateManager contract\n todo disable after init" - }, - "functionSelector": "06552ff3", - "id": 2710, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2683, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2676, - "mutability": "mutable", - "name": "_schAddress", - "nodeType": "VariableDeclaration", - "scope": 2710, - "src": "2350:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2675, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2350:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2678, - "mutability": "mutable", - "name": "_voteManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 2710, - "src": "2379:27:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2379:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2680, - "mutability": "mutable", - "name": "_blockManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 2710, - "src": "2416:28:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2679, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2416:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2682, - "mutability": "mutable", - "name": "_stateManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 2710, - "src": "2454:28:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2681, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2454:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2340:148:10" - }, - "returnParameters": { - "id": 2684, - "nodeType": "ParameterList", - "parameters": [], - "src": "2503:0:10" - }, - "scope": 3924, - "src": "2326:403:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2730, - "nodeType": "Block", - "src": "3026:68:10", - "statements": [ - { - "expression": { - "id": 2728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2723, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "3036:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2725, - "indexExpression": { - "id": 2724, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2713, - "src": "3044:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3036:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5524, - "src": "3036:30:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2727, - "name": "_epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2715, - "src": "3069:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3036:51:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2729, - "nodeType": "ExpressionStatement", - "src": "3036:51:10" - } - ] - }, - "documentation": { - "id": 2711, - "nodeType": "StructuredDocumentation", - "src": "2735:123:10", - "text": "@param _id The ID of the staker\n @param _epochLastRevealed The number of epoch that staker revealed asset values" - }, - "functionSelector": "9864f70a", - "id": 2731, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2718, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "2980:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakerActivityUpdaterHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5375, - "src": "2980:38:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2980:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2721, - "modifierName": { - "id": 2717, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "2971:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "2971:50:10" - } - ], - "name": "setStakerEpochLastRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2716, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2713, - "mutability": "mutable", - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2731, - "src": "2908:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2908:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2715, - "mutability": "mutable", - "name": "_epochLastRevealed", - "nodeType": "VariableDeclaration", - "scope": 2731, - "src": "2929:26:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2929:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2898:63:10" - }, - "returnParameters": { - "id": 2722, - "nodeType": "ParameterList", - "parameters": [], - "src": "3026:0:10" - }, - "scope": 3924, - "src": "2863:231:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2751, - "nodeType": "Block", - "src": "3272:79:10", - "statements": [ - { - "expression": { - "id": 2749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2742, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "3282:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2744, - "indexExpression": { - "id": 2743, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2734, - "src": "3290:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3282:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2745, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "epochLastCommitted", - "nodeType": "MemberAccess", - "referencedDeclaration": 5522, - "src": "3282:36:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2746, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "3321:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 2747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "3321:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3321:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3282:62:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2750, - "nodeType": "ExpressionStatement", - "src": "3282:62:10" - } - ] - }, - "documentation": { - "id": 2732, - "nodeType": "StructuredDocumentation", - "src": "3100:40:10", - "text": "@param stakerId The ID of the staker" - }, - "functionSelector": "188dc83b", - "id": 2752, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2737, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "3226:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakerActivityUpdaterHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5375, - "src": "3226:38:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3226:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2740, - "modifierName": { - "id": 2736, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "3217:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "3217:50:10" - } - ], - "name": "updateCommitmentEpoch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2734, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2752, - "src": "3185:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3185:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3175:32:10" - }, - "returnParameters": { - "id": 2741, - "nodeType": "ParameterList", - "parameters": [], - "src": "3272:0:10" - }, - "scope": 3924, - "src": "3145:206:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2766, - "nodeType": "Block", - "src": "3461:43:10", - "statements": [ - { - "expression": { - "id": 2764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2762, - "name": "blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "3471:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2763, - "name": "_blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2754, - "src": "3485:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3471:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2765, - "nodeType": "ExpressionStatement", - "src": "3471:26:10" - } - ] - }, - "functionSelector": "f580ffcb", - "id": 2767, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2757, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "3424:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDefaultAdminHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5384, - "src": "3424:29:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3424:31:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2760, - "modifierName": { - "id": 2756, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "3415:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "3415:41:10" - } - ], - "name": "updateBlockReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2754, - "mutability": "mutable", - "name": "_blockReward", - "nodeType": "VariableDeclaration", - "scope": 2767, - "src": "3384:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3383:22:10" - }, - "returnParameters": { - "id": 2761, - "nodeType": "ParameterList", - "parameters": [], - "src": "3461:0:10" - }, - "scope": 3924, - "src": "3357:147:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2921, - "nodeType": "Block", - "src": "3945:1299:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2784, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "4007:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 2785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "4007:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4007:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2787, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "4034:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "reveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 5232, - "src": "4034:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 2789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4034:18:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "4007:45:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e636f7272656374207374617465", - "id": 2791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4054:17:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ca26c3faaff56aa919715f58bb905a54a26bb23923d6ca4a5f99486cb2e50122", - "typeString": "literal_string \"Incorrect state\"" - }, - "value": "Incorrect state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ca26c3faaff56aa919715f58bb905a54a26bb23923d6ca4a5f99486cb2e50122", - "typeString": "literal_string \"Incorrect state\"" - } - ], - "id": 2783, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3999:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3999:73:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2793, - "nodeType": "ExpressionStatement", - "src": "3999:73:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2795, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2772, - "src": "4103:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2796, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "4113:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "minStake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "4113:18:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4113:20:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4103:30:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "7374616b656420616d6f756e74206973206c657373207468616e206d696e696d756d207374616b65207265717569726564", - "id": 2800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4148:51:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb68b1a04cb753747a8fd0228ce81c1b903ec58a44c6343bcbc04e0d2e45f04d", - "typeString": "literal_string \"staked amount is less than minimum stake required\"" - }, - "value": "staked amount is less than minimum stake required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb68b1a04cb753747a8fd0228ce81c1b903ec58a44c6343bcbc04e0d2e45f04d", - "typeString": "literal_string \"staked amount is less than minimum stake required\"" - } - ], - "id": 2794, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4082:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4082:127:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2802, - "nodeType": "ExpressionStatement", - "src": "4082:127:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 2806, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4244:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4244:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 2810, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4264:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakeManager_$3924", - "typeString": "contract StakeManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakeManager_$3924", - "typeString": "contract StakeManager" - } - ], - "id": 2809, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4256:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2808, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4256:7:10", - "typeDescriptions": {} - } - }, - "id": 2811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4256:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2812, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2772, - "src": "4271:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2804, - "name": "sch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2554, - "src": "4227:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5212", - "typeString": "contract SchellingCoin" - } - }, - "id": 2805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 522, - "src": "4227:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4227:51:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "736368207472616e73666572206661696c6564", - "id": 2814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4280:21:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7aaa5b67ce554abe16c4de620677e7c5af580dd691c9629dea90de09c6836b47", - "typeString": "literal_string \"sch transfer failed\"" - }, - "value": "sch transfer failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7aaa5b67ce554abe16c4de620677e7c5af580dd691c9629dea90de09c6836b47", - "typeString": "literal_string \"sch transfer failed\"" - } - ], - "id": 2803, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4219:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4219:83:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2816, - "nodeType": "ExpressionStatement", - "src": "4219:83:10" - }, - { - "assignments": [ - 2818 - ], - "declarations": [ - { - "constant": false, - "id": 2818, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2921, - "src": "4312:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4312:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2823, - "initialValue": { - "baseExpression": { - "id": 2819, - "name": "stakerIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4934, - "src": "4331:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2822, - "indexExpression": { - "expression": { - "id": 2820, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4341:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4341:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4331:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4312:40:10" - }, - { - "assignments": [ - 2825 - ], - "declarations": [ - { - "constant": false, - "id": 2825, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 2921, - "src": "4362:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4362:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2830, - "initialValue": { - "expression": { - "baseExpression": { - "id": 2826, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "4386:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2828, - "indexExpression": { - "id": 2827, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4394:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4386:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2829, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "4386:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4362:47:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2831, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4423:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4435:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4423:13:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2907, - "nodeType": "Block", - "src": "4726:416:10", - "statements": [ - { - "expression": { - "id": 2886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2875, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "4940:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2877, - "indexExpression": { - "id": 2876, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4948:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4940:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "4940:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2879, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "4966:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2881, - "indexExpression": { - "id": 2880, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4974:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4966:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "4966:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "id": 2883, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2772, - "src": "4991:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2884, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4990:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4966:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4940:58:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2887, - "nodeType": "ExpressionStatement", - "src": "4940:58:10" - }, - { - "expression": { - "id": 2898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2888, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "5012:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2890, - "indexExpression": { - "id": 2889, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "5020:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5012:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2891, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakeAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5526, - "src": "5012:30:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2892, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2770, - "src": "5045:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2893, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "5052:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakeLockPeriod", - "nodeType": "MemberAccess", - "referencedDeclaration": 5294, - "src": "5052:27:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 2895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5052:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2896, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5051:31:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5045:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5012:70:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2899, - "nodeType": "ExpressionStatement", - "src": "5012:70:10" - }, - { - "expression": { - "id": 2905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2900, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "5096:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2902, - "indexExpression": { - "id": 2901, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "5104:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5096:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2903, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "withdrawAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5528, - "src": "5096:31:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 2904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5130:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5096:35:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2906, - "nodeType": "ExpressionStatement", - "src": "5096:35:10" - } - ] - }, - "id": 2908, - "nodeType": "IfStatement", - "src": "4419:723:10", - "trueBody": { - "id": 2874, - "nodeType": "Block", - "src": "4438:282:10", - "statements": [ - { - "expression": { - "id": 2839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2834, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "4452:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2835, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "4465:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "hexValue": "31", - "id": 2836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4477:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 2837, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4476:3:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "src": "4465:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4452:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2840, - "nodeType": "ExpressionStatement", - "src": "4452:27:10" - }, - { - "expression": { - "id": 2861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2841, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "4493:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2843, - "indexExpression": { - "id": 2842, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "4501:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4493:19:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2846, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "4530:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2847, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4542:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4542:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2849, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2772, - "src": "4554:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2850, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2770, - "src": "4562:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 2851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4569:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 2852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4572:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2853, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2770, - "src": "4587:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2854, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "4594:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakeLockPeriod", - "nodeType": "MemberAccess", - "referencedDeclaration": 5294, - "src": "4594:27:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 2856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4594:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2857, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4593:31:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4587:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 2859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4626:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 2844, - "name": "Structs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "4515:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Structs_$5585_$", - "typeString": "type(library Structs)" - } - }, - "id": 2845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "Staker", - "nodeType": "MemberAccess", - "referencedDeclaration": 5529, - "src": "4515:14:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Staker_$5529_storage_ptr_$", - "typeString": "type(struct Structs.Staker storage pointer)" - } - }, - "id": 2860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4515:113:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "src": "4493:135:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2862, - "nodeType": "ExpressionStatement", - "src": "4493:135:10" - }, - { - "expression": { - "id": 2865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2863, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4642:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2864, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "4653:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4642:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2866, - "nodeType": "ExpressionStatement", - "src": "4642:21:10" - }, - { - "expression": { - "id": 2872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2867, - "name": "stakerIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4934, - "src": "4677:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2870, - "indexExpression": { - "expression": { - "id": 2868, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4687:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4687:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4677:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2871, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4701:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4677:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2873, - "nodeType": "ExpressionStatement", - "src": "4677:32:10" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 2910, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2770, - "src": "5164:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2911, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "5171:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2912, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2825, - "src": "5181:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "id": 2913, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "5196:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2915, - "indexExpression": { - "id": 2914, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "5204:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5196:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2916, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "5196:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2917, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "5221:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "5221:15:10", - "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" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2909, - "name": "Staked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "5157:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 2919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5157:80:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2920, - "nodeType": "EmitStatement", - "src": "5152:85:10" - } - ] - }, - "documentation": { - "id": 2768, - "nodeType": "StructuredDocumentation", - "src": "3510:282:10", - "text": "@notice stake during commit state only\n we check epoch during every transaction to avoid withholding and rebroadcasting attacks\n @param epoch The Epoch value for which staker is requesting to stake\n @param amount The amount of schelling tokens Staker stakes" - }, - "functionSelector": "7b0472f0", - "id": 2922, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 2775, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2770, - "src": "3902:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2776, - "modifierName": { - "id": 2774, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2648, - "src": "3891:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "3891:17:10" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2778, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "3920:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "commit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5223, - "src": "3920:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 2780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3920:18:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 2781, - "modifierName": { - "id": 2777, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2663, - "src": "3909:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "3909:30:10" - } - ], - "name": "stake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2770, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "3821:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3821:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2772, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "3844:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3844:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3811:53:10" - }, - "returnParameters": { - "id": 2782, - "nodeType": "ParameterList", - "parameters": [], - "src": "3945:0:10" - }, - "scope": 3924, - "src": "3797:1447:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3009, - "nodeType": "Block", - "src": "5579:496:10", - "statements": [ - { - "assignments": [ - 2937 - ], - "declarations": [ - { - "constant": false, - "id": 2937, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3009, - "src": "5589:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2936, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5589:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2942, - "initialValue": { - "baseExpression": { - "id": 2938, - "name": "stakerIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4934, - "src": "5608:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2941, - "indexExpression": { - "expression": { - "id": 2939, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5618:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5618:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5608:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5589:40:10" - }, - { - "assignments": [ - 2947 - ], - "declarations": [ - { - "constant": false, - "id": 2947, - "mutability": "mutable", - "name": "staker", - "nodeType": "VariableDeclaration", - "scope": 3009, - "src": "5639:29:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 2946, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2945, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5529, - "src": "5639:14:10" - }, - "referencedDeclaration": 5529, - "src": "5639:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 2951, - "initialValue": { - "baseExpression": { - "id": 2948, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "5671:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2950, - "indexExpression": { - "id": 2949, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2937, - "src": "5679:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5671:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5639:49:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2953, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "5706:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 2954, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5514, - "src": "5706:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 2955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5719:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5706:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "7374616b65722e6964203d2030", - "id": 2957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5722:15:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdab4eea84666b4ea254b28d59bb87847c43c977043418b35d698df21c02f227", - "typeString": "literal_string \"staker.id = 0\"" - }, - "value": "staker.id = 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bdab4eea84666b4ea254b28d59bb87847c43c977043418b35d698df21c02f227", - "typeString": "literal_string \"staker.id = 0\"" - } - ], - "id": 2952, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5698:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5698:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2959, - "nodeType": "ExpressionStatement", - "src": "5698:40:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2961, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "5756:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 2962, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "5756:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5771:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5756:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4e6f6e706f736974697665207374616b65", - "id": 2965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5774:19:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6b3918663fb999eb0c08fb3a7f8a053517b9f7c80327988e2d6c66567da15b5a", - "typeString": "literal_string \"Nonpositive stake\"" - }, - "value": "Nonpositive stake" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6b3918663fb999eb0c08fb3a7f8a053517b9f7c80327988e2d6c66567da15b5a", - "typeString": "literal_string \"Nonpositive stake\"" - } - ], - "id": 2960, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5748:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5748:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2967, - "nodeType": "ExpressionStatement", - "src": "5748:46:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2969, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "5812:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 2970, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakeAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5526, - "src": "5812:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 2971, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2925, - "src": "5835:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5812:28:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2973, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "5844:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 2974, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakeAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5526, - "src": "5844:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 2975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5867:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5844:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5812:56:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6c6f636b6564", - "id": 2978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5870:8:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ab99c6d7581cbb37d2e578d3097bfdd3323e05447f1fd7670b6c3a3fb9d9ff79", - "typeString": "literal_string \"locked\"" - }, - "value": "locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ab99c6d7581cbb37d2e578d3097bfdd3323e05447f1fd7670b6c3a3fb9d9ff79", - "typeString": "literal_string \"locked\"" - } - ], - "id": 2968, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5804:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5804:75:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2980, - "nodeType": "ExpressionStatement", - "src": "5804:75:10" - }, - { - "expression": { - "id": 2985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 2981, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "5889:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 2983, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakeAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5526, - "src": "5889:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 2984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5911:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5889:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2986, - "nodeType": "ExpressionStatement", - "src": "5889:23:10" - }, - { - "expression": { - "id": 2996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 2987, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "5922:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 2989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "withdrawAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5528, - "src": "5922:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2990, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2925, - "src": "5945:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2991, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "5952:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawLockPeriod", - "nodeType": "MemberAccess", - "referencedDeclaration": 5303, - "src": "5952:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 2993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5952:30:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2994, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5951:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5945:38:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5922:61:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2997, - "nodeType": "ExpressionStatement", - "src": "5922:61:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2999, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2925, - "src": "6007:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3000, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2937, - "src": "6014:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3001, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "6024:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3002, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "6024:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3003, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "6038:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "6038:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3005, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6052:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "6052:15:10", - "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" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2998, - "name": "Unstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2621, - "src": "5998:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 3007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5998:70:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3008, - "nodeType": "EmitStatement", - "src": "5993:75:10" - } - ] - }, - "documentation": { - "id": 2923, - "nodeType": "StructuredDocumentation", - "src": "5250:232:10", - "text": "@notice staker must call unstake() and should wait for Constants.WITHDRAW_LOCK_PERIOD\n after which she can call withdraw() to finally Withdraw\n @param epoch The Epoch value for which staker is requesting to unstake" - }, - "functionSelector": "2e17de78", - "id": 3010, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 2928, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2925, - "src": "5540:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2929, - "modifierName": { - "id": 2927, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2648, - "src": "5529:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "5529:17:10" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2931, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "5559:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 2932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "commit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5223, - "src": "5559:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 2933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5559:18:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 2934, - "modifierName": { - "id": 2930, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2663, - "src": "5548:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "5548:30:10" - } - ], - "name": "unstake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2925, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3010, - "src": "5505:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5505:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5504:15:10" - }, - "returnParameters": { - "id": 2935, - "nodeType": "ParameterList", - "parameters": [], - "src": "5579:0:10" - }, - "scope": 3924, - "src": "5487:588:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3139, - "nodeType": "Block", - "src": "6327:1024:10", - "statements": [ - { - "assignments": [ - 3025 - ], - "declarations": [ - { - "constant": false, - "id": 3025, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3139, - "src": "6337:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6337:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3030, - "initialValue": { - "baseExpression": { - "id": 3026, - "name": "stakerIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4934, - "src": "6356:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3029, - "indexExpression": { - "expression": { - "id": 3027, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6366:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6366:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6356:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6337:40:10" - }, - { - "assignments": [ - 3035 - ], - "declarations": [ - { - "constant": false, - "id": 3035, - "mutability": "mutable", - "name": "staker", - "nodeType": "VariableDeclaration", - "scope": 3139, - "src": "6387:29:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 3034, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3033, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5529, - "src": "6387:14:10" - }, - "referencedDeclaration": 5529, - "src": "6387:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 3039, - "initialValue": { - "baseExpression": { - "id": 3036, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "6419:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3038, - "indexExpression": { - "id": 3037, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3025, - "src": "6427:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6419:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6387:49:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3041, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3035, - "src": "6454:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3042, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5514, - "src": "6454:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 3043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6467:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6454:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "7374616b657220646f65736e74206578697374", - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6470:21:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a113a0c9b7ecb25bf74a95ce032f1c4492c26de43ba45cb480773d9125636f9b", - "typeString": "literal_string \"staker doesnt exist\"" - }, - "value": "staker doesnt exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a113a0c9b7ecb25bf74a95ce032f1c4492c26de43ba45cb480773d9125636f9b", - "typeString": "literal_string \"staker doesnt exist\"" - } - ], - "id": 3040, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6446:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6446:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3047, - "nodeType": "ExpressionStatement", - "src": "6446:46:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3049, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3035, - "src": "6510:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3050, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakeAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5526, - "src": "6510:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 3051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6533:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6510:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "446964206e6f7420756e7374616b65", - "id": 3053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6536:17:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e78ec75f598dcd03331f3963b6697277106610c26010b4ec4db871858b3a5b29", - "typeString": "literal_string \"Did not unstake\"" - }, - "value": "Did not unstake" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e78ec75f598dcd03331f3963b6697277106610c26010b4ec4db871858b3a5b29", - "typeString": "literal_string \"Did not unstake\"" - } - ], - "id": 3048, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6502:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6502:52:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3055, - "nodeType": "ExpressionStatement", - "src": "6502:52:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3057, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3035, - "src": "6586:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5528, - "src": "6586:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 3059, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "6610:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6586:29:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3061, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6585:31:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3062, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3035, - "src": "6620:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3063, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5528, - "src": "6620:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 3064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6644:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6620:25:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6585:60:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "57697468647261772065706f6368206e6f742072656163686564", - "id": 3067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6659:28:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2634de0e003793e166e3d97211813e50178a1fe7320c5468fddff641fa460575", - "typeString": "literal_string \"Withdraw epoch not reached\"" - }, - "value": "Withdraw epoch not reached" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2634de0e003793e166e3d97211813e50178a1fe7320c5468fddff641fa460575", - "typeString": "literal_string \"Withdraw epoch not reached\"" - } - ], - "id": 3056, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6564:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6564:133:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3069, - "nodeType": "ExpressionStatement", - "src": "6564:133:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3071, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3035, - "src": "6729:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3072, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5528, - "src": "6729:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3073, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "6752:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawLockPeriod", - "nodeType": "MemberAccess", - "referencedDeclaration": 5303, - "src": "6752:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6752:30:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6729:53:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3077, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6728:55:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 3078, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3035, - "src": "6787:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3079, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5524, - "src": "6787:24:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6728:83:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "50617274696369706174656420696e205769746864726177206c6f636b20706572696f642c2043616e74207769746864726177", - "id": 3081, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6825:53:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8c0f978acf8435b7df5019fed51409365d54b03cc05b322280c7239d75c06443", - "typeString": "literal_string \"Participated in Withdraw lock period, Cant withdraw\"" - }, - "value": "Participated in Withdraw lock period, Cant withdraw" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8c0f978acf8435b7df5019fed51409365d54b03cc05b322280c7239d75c06443", - "typeString": "literal_string \"Participated in Withdraw lock period, Cant withdraw\"" - } - ], - "id": 3070, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6707:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6707:181:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3083, - "nodeType": "ExpressionStatement", - "src": "6707:181:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 3087, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "6945:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3088, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3025, - "src": "6952:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3085, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "6919:11:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "id": 3086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getCommitment", - "nodeType": "MemberAccess", - "referencedDeclaration": 4842, - "src": "6919:25:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (uint256,uint256) view external returns (bytes32)" - } - }, - "id": 3089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6919:42:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "307830", - "id": 3090, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6965:3:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "6919:49:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "616c726561647920636f6d6d6974656420746869732065706f63682e2043616e74207769746864726177", - "id": 3092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6982:44:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e28e7431deba574db0112ec0b937aaf1eb1cf46251a078d34bc069c9a6e2ba1e", - "typeString": "literal_string \"already commited this epoch. Cant withdraw\"" - }, - "value": "already commited this epoch. Cant withdraw" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e28e7431deba574db0112ec0b937aaf1eb1cf46251a078d34bc069c9a6e2ba1e", - "typeString": "literal_string \"already commited this epoch. Cant withdraw\"" - } - ], - "id": 3084, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6898:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6898:138:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3094, - "nodeType": "ExpressionStatement", - "src": "6898:138:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3096, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3035, - "src": "7054:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3097, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "7054:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7069:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7054:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4e6f6e706f736974697665205374616b65", - "id": 3100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7072:19:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f810ff1ebbf47d94f8225d3c6edf23be7b0290f78abb3c694a0753fdc11ea065", - "typeString": "literal_string \"Nonpositive Stake\"" - }, - "value": "Nonpositive Stake" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f810ff1ebbf47d94f8225d3c6edf23be7b0290f78abb3c694a0753fdc11ea065", - "typeString": "literal_string \"Nonpositive Stake\"" - } - ], - "id": 3095, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7046:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7046:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3102, - "nodeType": "ExpressionStatement", - "src": "7046:46:10" - }, - { - "assignments": [ - 3104 - ], - "declarations": [ - { - "constant": false, - "id": 3104, - "mutability": "mutable", - "name": "toTransfer", - "nodeType": "VariableDeclaration", - "scope": 3139, - "src": "7103:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7103:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3109, - "initialValue": { - "expression": { - "baseExpression": { - "id": 3105, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "7124:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3107, - "indexExpression": { - "id": 3106, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3025, - "src": "7132:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7124:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "7124:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7103:44:10" - }, - { - "expression": { - "id": 3115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3110, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "7157:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3112, - "indexExpression": { - "id": 3111, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3025, - "src": "7165:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7157:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3113, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "7157:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7183:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7157:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3116, - "nodeType": "ExpressionStatement", - "src": "7157:27:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3118, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "7208:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3119, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3025, - "src": "7215:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "id": 3120, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "7225:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3122, - "indexExpression": { - "id": 3121, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3025, - "src": "7233:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7225:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "7225:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 3124, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7250:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "expression": { - "id": 3125, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7253:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "7253:15:10", - "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_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3117, - "name": "Withdrew", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2633, - "src": "7199:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 3127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7199:70:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3128, - "nodeType": "EmitStatement", - "src": "7194:75:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 3132, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7300:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7300:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3134, - "name": "toTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3104, - "src": "7312:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3130, - "name": "sch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2554, - "src": "7287:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5212", - "typeString": "contract SchellingCoin" - } - }, - "id": 3131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 436, - "src": "7287:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7287:36:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "636f756c646e74207472616e73666572", - "id": 3136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7325:18:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_805d1088d8486a1f8aa0a66a0afc9b1041d76f1529ec36a6088491eaaf4f87f3", - "typeString": "literal_string \"couldnt transfer\"" - }, - "value": "couldnt transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_805d1088d8486a1f8aa0a66a0afc9b1041d76f1529ec36a6088491eaaf4f87f3", - "typeString": "literal_string \"couldnt transfer\"" - } - ], - "id": 3129, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7279:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7279:65:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3138, - "nodeType": "ExpressionStatement", - "src": "7279:65:10" - } - ] - }, - "documentation": { - "id": 3011, - "nodeType": "StructuredDocumentation", - "src": "6082:148:10", - "text": "@notice Helps stakers withdraw their stake if previously unstaked\n @param epoch The Epoch value for which staker is requesting a withdraw" - }, - "functionSelector": "2e1a7d4d", - "id": 3140, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 3016, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "6289:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3017, - "modifierName": { - "id": 3015, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2648, - "src": "6278:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "6278:17:10" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3019, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "6307:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "commit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5223, - "src": "6307:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 3021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6307:18:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 3022, - "modifierName": { - "id": 3018, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2663, - "src": "6296:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "6296:30:10" - } - ], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3013, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3140, - "src": "6254:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6254:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6253:15:10" - }, - "returnParameters": { - "id": 3023, - "nodeType": "ParameterList", - "parameters": [], - "src": "6327:0:10" - }, - "scope": 3924, - "src": "6235:1116:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3158, - "nodeType": "Block", - "src": "7725:48:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3154, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3143, - "src": "7750:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3155, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "7760:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3153, - "name": "_givePenalties", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3923, - "src": "7735:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 3156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7735:31:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3157, - "nodeType": "ExpressionStatement", - "src": "7735:31:10" - } - ] - }, - "documentation": { - "id": 3141, - "nodeType": "StructuredDocumentation", - "src": "7357:229:10", - "text": "@notice gives penalty to stakers for failing to reveal or\n reveal value deviations\n @param stakerId The id of staker currently in consideration\n @param epoch the epoch value\n todo reduce complexity" - }, - "functionSelector": "54eae15e", - "id": 3159, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3148, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "7687:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakeModifierHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5366, - "src": "7687:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7687:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3151, - "modifierName": { - "id": 3147, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "7678:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "7678:42:10" - } - ], - "name": "givePenalties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3143, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3159, - "src": "7623:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7623:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3145, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3159, - "src": "7649:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7649:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7613:55:10" - }, - "returnParameters": { - "id": 3152, - "nodeType": "ParameterList", - "parameters": [], - "src": "7725:0:10" - }, - "scope": 3924, - "src": "7591:182:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3221, - "nodeType": "Block", - "src": "8184:516:10", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3172, - "name": "blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "8198:11:10", - "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": "8212:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8198:15:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3204, - "nodeType": "IfStatement", - "src": "8194:233:10", - "trueBody": { - "id": 3203, - "nodeType": "Block", - "src": "8215:212:10", - "statements": [ - { - "assignments": [ - 3176 - ], - "declarations": [ - { - "constant": false, - "id": 3176, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 3203, - "src": "8229:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8229:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3184, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 3177, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "8248:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3179, - "indexExpression": { - "id": 3178, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3162, - "src": "8256:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8248:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3180, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "8248:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "id": 3181, - "name": "blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "8273:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3182, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8272:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8248:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8229:56:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3186, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3162, - "src": "8315:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3187, - "name": "newStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "8325:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "426c6f636b20526577617264", - "id": 3188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8335:14:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7847f4b872e007a21e06d6da4e670fd8d44af5a9fa41a9af6bb822a535da6edf", - "typeString": "literal_string \"Block Reward\"" - }, - "value": "Block Reward" - }, - { - "id": 3189, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3164, - "src": "8351:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_7847f4b872e007a21e06d6da4e670fd8d44af5a9fa41a9af6bb822a535da6edf", - "typeString": "literal_string \"Block Reward\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3185, - "name": "_setStakerStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3646, - "src": "8299:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,uint256)" - } - }, - "id": 3190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8299:58:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3191, - "nodeType": "ExpressionStatement", - "src": "8299:58:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 3197, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "8396:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakeManager_$3924", - "typeString": "contract StakeManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakeManager_$3924", - "typeString": "contract StakeManager" - } - ], - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8388:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3195, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8388:7:10", - "typeDescriptions": {} - } - }, - "id": 3198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8388:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3199, - "name": "blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "8403:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3193, - "name": "sch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2554, - "src": "8379:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5212", - "typeString": "contract SchellingCoin" - } - }, - "id": 3194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 5211, - "src": "8379:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8379:36:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3192, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8371:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8371:45:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3202, - "nodeType": "ExpressionStatement", - "src": "8371:45:10" - } - ] - } - }, - { - "assignments": [ - 3206 - ], - "declarations": [ - { - "constant": false, - "id": 3206, - "mutability": "mutable", - "name": "prevStakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 3221, - "src": "8436:30:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8436:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3208, - "initialValue": { - "id": 3207, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "8469:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8436:51:10" - }, - { - "expression": { - "id": 3211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3209, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "8497:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8518:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8497:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3212, - "nodeType": "ExpressionStatement", - "src": "8497:22:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3214, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3164, - "src": "8581:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3215, - "name": "prevStakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3206, - "src": "8600:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3216, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "8636:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3217, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8668:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "8668:15:10", - "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": 3213, - "name": "StakeGettingRewardChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "8543:24:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8543:150:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3220, - "nodeType": "EmitStatement", - "src": "8538:155:10" - } - ] - }, - "documentation": { - "id": 3160, - "nodeType": "StructuredDocumentation", - "src": "7779:264:10", - "text": "@notice The function gives block reward for one valid proposer in the\n previous epoch by minting new tokens from the schelling token contract\n called from confirmBlock function of BlockManager contract\n @param stakerId The ID of the staker" - }, - "functionSelector": "746c8b65", - "id": 3222, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3167, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "8146:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakeModifierHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5366, - "src": "8146:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8146:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3170, - "modifierName": { - "id": 3166, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "8137:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "8137:42:10" - } - ], - "name": "giveBlockReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3162, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3222, - "src": "8082:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3161, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8082:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3164, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3222, - "src": "8108:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8108:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8072:55:10" - }, - "returnParameters": { - "id": 3171, - "nodeType": "ParameterList", - "parameters": [], - "src": "8184:0:10" - }, - "scope": 3924, - "src": "8048:652:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3448, - "nodeType": "Block", - "src": "9180:2220:10", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3235, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "9194:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 3236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9216:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9194:23:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3239, - "nodeType": "IfStatement", - "src": "9190:36:10", - "trueBody": { - "functionReturnParameters": 3234, - "id": 3238, - "nodeType": "Return", - "src": "9219:7:10" - } - }, - { - "assignments": [ - 3244 - ], - "declarations": [ - { - "constant": false, - "id": 3244, - "mutability": "mutable", - "name": "thisStaker", - "nodeType": "VariableDeclaration", - "scope": 3448, - "src": "9235:32:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 3243, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3242, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5529, - "src": "9235:14:10" - }, - "referencedDeclaration": 5529, - "src": "9235:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 3248, - "initialValue": { - "baseExpression": { - "id": 3245, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "9270:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3247, - "indexExpression": { - "id": 3246, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "9278:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9270:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9235:52:10" - }, - { - "assignments": [ - 3250 - ], - "declarations": [ - { - "constant": false, - "id": 3250, - "mutability": "mutable", - "name": "epochLastRevealed", - "nodeType": "VariableDeclaration", - "scope": 3448, - "src": "9297:25:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9297:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3253, - "initialValue": { - "expression": { - "id": 3251, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "9325:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3252, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5524, - "src": "9325:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9297:56:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3254, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "9425:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3255, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3250, - "src": "9433:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9425:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3257, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9424:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "31", - "id": 3258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9455:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9424:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3261, - "nodeType": "IfStatement", - "src": "9420:45:10", - "trueBody": { - "functionReturnParameters": 3234, - "id": 3260, - "nodeType": "Return", - "src": "9458:7:10" - } - }, - { - "assignments": [ - 3266 - ], - "declarations": [ - { - "constant": false, - "id": 3266, - "mutability": "mutable", - "name": "mediansLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3448, - "src": "9474:33:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9474:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3265, - "nodeType": "ArrayTypeName", - "src": "9474:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 3271, - "initialValue": { - "arguments": [ - { - "id": 3269, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3250, - "src": "9539:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3267, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "9510:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "id": 3268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getBlockMedians", - "nodeType": "MemberAccess", - "referencedDeclaration": 4606, - "src": "9510:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) view external returns (uint256[] memory)" - } - }, - "id": 3270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9510:47:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9474:83:10" - }, - { - "assignments": [ - 3276 - ], - "declarations": [ - { - "constant": false, - "id": 3276, - "mutability": "mutable", - "name": "lowerCutoffsLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3448, - "src": "9567:38:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9567:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3275, - "nodeType": "ArrayTypeName", - "src": "9567:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 3281, - "initialValue": { - "arguments": [ - { - "id": 3279, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3250, - "src": "9637:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3277, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "9608:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "id": 3278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getLowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 4614, - "src": "9608:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) view external returns (uint256[] memory)" - } - }, - "id": 3280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9608:47:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9567:88:10" - }, - { - "assignments": [ - 3286 - ], - "declarations": [ - { - "constant": false, - "id": 3286, - "mutability": "mutable", - "name": "higherCutoffsLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3448, - "src": "9665:39:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9665:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3285, - "nodeType": "ArrayTypeName", - "src": "9665:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 3291, - "initialValue": { - "arguments": [ - { - "id": 3289, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3250, - "src": "9737:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3287, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "9707:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "id": 3288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getHigherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 4622, - "src": "9707:29:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) view external returns (uint256[] memory)" - } - }, - "id": 3290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9707:48:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9665:90:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3292, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "9770:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9770:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9801:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9770:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3447, - "nodeType": "IfStatement", - "src": "9766:1628:10", - "trueBody": { - "id": 3446, - "nodeType": "Block", - "src": "9804:1590:10", - "statements": [ - { - "assignments": [ - 3297 - ], - "declarations": [ - { - "constant": false, - "id": 3297, - "mutability": "mutable", - "name": "rewardable", - "nodeType": "VariableDeclaration", - "scope": 3446, - "src": "9818:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3296, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9818:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3299, - "initialValue": { - "hexValue": "30", - "id": 3298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9839:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9818:22:10" - }, - { - "body": { - "id": 3363, - "nodeType": "Block", - "src": "9913:648:10", - "statements": [ - { - "assignments": [ - 3312 - ], - "declarations": [ - { - "constant": false, - "id": 3312, - "mutability": "mutable", - "name": "voteLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3363, - "src": "9931:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9931:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3321, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 3315, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3250, - "src": "9996:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3316, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "10015:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3317, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5514, - "src": "10015:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3318, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3301, - "src": "10030:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3313, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "9976:11:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "id": 3314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getVote", - "nodeType": "MemberAccess", - "referencedDeclaration": 4854, - "src": "9976:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_struct$_Vote_$5512_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) view external returns (struct Structs.Vote memory)" - } - }, - "id": 3319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9976:56:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_memory_ptr", - "typeString": "struct Structs.Vote memory" - } - }, - "id": 3320, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 5509, - "src": "9976:62:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9931:107:10" - }, - { - "assignments": [ - 3323 - ], - "declarations": [ - { - "constant": false, - "id": 3323, - "mutability": "mutable", - "name": "medianLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3363, - "src": "10056:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3322, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10056:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3327, - "initialValue": { - "baseExpression": { - "id": 3324, - "name": "mediansLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3266, - "src": "10082:16:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3326, - "indexExpression": { - "id": 3325, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3301, - "src": "10099:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10082:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10056:45:10" - }, - { - "assignments": [ - 3329 - ], - "declarations": [ - { - "constant": false, - "id": 3329, - "mutability": "mutable", - "name": "lowerCutoffLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3363, - "src": "10119:28:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3328, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10119:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3333, - "initialValue": { - "baseExpression": { - "id": 3330, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "10150:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3332, - "indexExpression": { - "id": 3331, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3301, - "src": "10172:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10150:24:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10119:55:10" - }, - { - "assignments": [ - 3335 - ], - "declarations": [ - { - "constant": false, - "id": 3335, - "mutability": "mutable", - "name": "higherCutoffLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3363, - "src": "10192:29:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10192:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3339, - "initialValue": { - "baseExpression": { - "id": 3336, - "name": "higherCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3286, - "src": "10224:22:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3338, - "indexExpression": { - "id": 3337, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3301, - "src": "10247:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10224:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10192:57:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3340, - "name": "voteLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3312, - "src": "10321:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 3341, - "name": "medianLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3323, - "src": "10338:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10321:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3343, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10320:34:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3344, - "name": "voteLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3312, - "src": "10376:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 3345, - "name": "lowerCutoffLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3329, - "src": "10392:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10376:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3347, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10375:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3348, - "name": "voteLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3312, - "src": "10438:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3349, - "name": "higherCutoffLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "10454:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10438:37:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3351, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10437:39:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10375:101:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3353, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10374:103:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10320:157:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3362, - "nodeType": "IfStatement", - "src": "10316:231:10", - "trueBody": { - "id": 3361, - "nodeType": "Block", - "src": "10479:68:10", - "statements": [ - { - "expression": { - "id": 3359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3355, - "name": "rewardable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3297, - "src": "10501:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3356, - "name": "rewardable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3297, - "src": "10514:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 3357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10527:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10514:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10501:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3360, - "nodeType": "ExpressionStatement", - "src": "10501:27:10" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3304, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3301, - "src": "9874:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 3305, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "9878:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9878:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9874:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3364, - "initializationExpression": { - "assignments": [ - 3301 - ], - "declarations": [ - { - "constant": false, - "id": 3301, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3364, - "src": "9859:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9859:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3303, - "initialValue": { - "hexValue": "30", - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9871:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9859:13:10" - }, - "loopExpression": { - "expression": { - "id": 3309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9908:3:10", - "subExpression": { - "id": 3308, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3301, - "src": "9908:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3310, - "nodeType": "ExpressionStatement", - "src": "9908:3:10" - }, - "nodeType": "ForStatement", - "src": "9854:707:10" - }, - { - "assignments": [ - 3366 - ], - "declarations": [ - { - "constant": false, - "id": 3366, - "mutability": "mutable", - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 3446, - "src": "10575:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10575:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3380, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3367, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "10593:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3368, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "10593:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 3369, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "10610:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10593:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 3371, - "name": "rewardable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3297, - "src": "10621:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10593:38:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3373, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10592:40:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3374, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "10647:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "expression": { - "id": 3375, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "10666:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "10666:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10647:47:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3378, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10646:49:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10592:103:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10575:120:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3381, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3366, - "src": "10713:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10722:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10713:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3445, - "nodeType": "IfStatement", - "src": "10709:675:10", - "trueBody": { - "id": 3444, - "nodeType": "Block", - "src": "10725:659:10", - "statements": [ - { - "assignments": [ - 3385 - ], - "declarations": [ - { - "constant": false, - "id": 3385, - "mutability": "mutable", - "name": "prevStakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 3444, - "src": "10743:30:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3384, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10743:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3387, - "initialValue": { - "id": 3386, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "10776:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10743:51:10" - }, - { - "expression": { - "id": 3400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3388, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "10812:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3389, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "10833:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 3390, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "10855:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3391, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "10855:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10833:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 3398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10914:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 3399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "10833:82:10", - "trueExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3393, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "10874:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "expression": { - "id": 3394, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "10894:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "10894:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3396, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10893:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10874:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10812:103:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3401, - "nodeType": "ExpressionStatement", - "src": "10812:103:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3403, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "10963:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3404, - "name": "prevStakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "10970:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3405, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "10994:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3406, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "11014:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "11014:15:10", - "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": 3402, - "name": "StakeGettingRewardChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "10938:24:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10938:92:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3409, - "nodeType": "EmitStatement", - "src": "10933:97:10" - }, - { - "assignments": [ - 3411 - ], - "declarations": [ - { - "constant": false, - "id": 3411, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 3444, - "src": "11048:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3410, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11048:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3416, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3412, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "11067:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3413, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "11067:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 3414, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3366, - "src": "11086:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11067:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11048:44:10" - }, - { - "assignments": [ - 3418 - ], - "declarations": [ - { - "constant": false, - "id": 3418, - "mutability": "mutable", - "name": "prevRewardPool", - "nodeType": "VariableDeclaration", - "scope": 3444, - "src": "11110:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3417, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11110:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3420, - "initialValue": { - "id": 3419, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "11135:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11110:35:10" - }, - { - "expression": { - "id": 3426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3421, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "11163:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3422, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "11176:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "id": 3423, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3366, - "src": "11188:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3424, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11187:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11176:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11163:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3427, - "nodeType": "ExpressionStatement", - "src": "11163:32:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3429, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "11235:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3430, - "name": "prevRewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3418, - "src": "11242:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3431, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "11258:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3432, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "11270:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "11270:15:10", - "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": 3428, - "name": "RewardPoolChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2587, - "src": "11218:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11218:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3435, - "nodeType": "EmitStatement", - "src": "11213:73:10" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 3437, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "11320:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5514, - "src": "11320:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3439, - "name": "newStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3411, - "src": "11335:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "566f74696e672052657761726473", - "id": 3440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11345:16:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9b53049769b4a3f2fba2643b9ef1039494340d4a9f04f5aa90ef9e2f91757cc8", - "typeString": "literal_string \"Voting Rewards\"" - }, - "value": "Voting Rewards" - }, - { - "id": 3441, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3227, - "src": "11363:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_9b53049769b4a3f2fba2643b9ef1039494340d4a9f04f5aa90ef9e2f91757cc8", - "typeString": "literal_string \"Voting Rewards\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3436, - "name": "_setStakerStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3646, - "src": "11304:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,uint256)" - } - }, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11304:65:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3443, - "nodeType": "ExpressionStatement", - "src": "11304:65:10" - } - ] - } - } - ] - } - } - ] - }, - "documentation": { - "id": 3223, - "nodeType": "StructuredDocumentation", - "src": "8710:333:10", - "text": "@notice This function is called in VoteManager reveal function to give\n rewards to all the stakers who have correctly staked, committed, revealed\n the Values of assets according to the razor protocol rules.\n @param stakerId The staker id\n @param epoch The epoch number for which reveal has been called" - }, - "functionSelector": "fabb9890", - "id": 3449, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3230, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "9142:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakeModifierHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5366, - "src": "9142:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9142:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3233, - "modifierName": { - "id": 3229, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "9133:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "9133:42:10" - } - ], - "name": "giveRewards", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3225, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3449, - "src": "9078:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3224, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9078:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3227, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3449, - "src": "9104:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9104:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9068:55:10" - }, - "returnParameters": { - "id": 3234, - "nodeType": "ParameterList", - "parameters": [], - "src": "9180:0:10" - }, - "scope": 3924, - "src": "9048:2352:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3495, - "nodeType": "Block", - "src": "11872:236:10", - "statements": [ - { - "assignments": [ - 3465 - ], - "declarations": [ - { - "constant": false, - "id": 3465, - "mutability": "mutable", - "name": "halfStake", - "nodeType": "VariableDeclaration", - "scope": 3495, - "src": "11882:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11882:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3473, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 3466, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "11902:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3468, - "indexExpression": { - "id": 3467, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3452, - "src": "11910:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11902:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3469, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "11902:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "hexValue": "32", - "id": 3470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11921:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "id": 3471, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11920:3:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - }, - "src": "11902:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11882:41:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3475, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3452, - "src": "11949:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 3476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11953:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "536c6173686564", - "id": 3477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11956:9:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_15b356a75cb2bb67a6f512d451791f3aea06edbdd693a6bfe4145016eb69ebff", - "typeString": "literal_string \"Slashed\"" - }, - "value": "Slashed" - }, - { - "id": 3478, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3456, - "src": "11967:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_stringliteral_15b356a75cb2bb67a6f512d451791f3aea06edbdd693a6bfe4145016eb69ebff", - "typeString": "literal_string \"Slashed\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3474, - "name": "_setStakerStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3646, - "src": "11933:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,uint256)" - } - }, - "id": 3479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11933:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3480, - "nodeType": "ExpressionStatement", - "src": "11933:40:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3481, - "name": "halfStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3465, - "src": "11987:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "31", - "id": 3482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11999:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11987:13:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3494, - "nodeType": "IfStatement", - "src": "11983:119:10", - "trueBody": { - "id": 3493, - "nodeType": "Block", - "src": "12002:100:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3487, - "name": "bountyHunter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3454, - "src": "12037:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3488, - "name": "halfStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3465, - "src": "12051:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3485, - "name": "sch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2554, - "src": "12024:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5212", - "typeString": "contract SchellingCoin" - } - }, - "id": 3486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 436, - "src": "12024:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12024:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6661696c656420746f207472616e7366657220626f756e7479", - "id": 3490, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12063:27:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3d5bf2052aff186c28929fe02a490fd5212178072a98ef575ed3d58026bb8c39", - "typeString": "literal_string \"failed to transfer bounty\"" - }, - "value": "failed to transfer bounty" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3d5bf2052aff186c28929fe02a490fd5212178072a98ef575ed3d58026bb8c39", - "typeString": "literal_string \"failed to transfer bounty\"" - } - ], - "id": 3484, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12016:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12016:75:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3492, - "nodeType": "ExpressionStatement", - "src": "12016:75:10" - } - ] - } - } - ] - }, - "documentation": { - "id": 3450, - "nodeType": "StructuredDocumentation", - "src": "11406:344:10", - "text": "@notice The function is used by the Votemanager reveal function\n to penalise the staker who lost his secret and make his stake zero and\n transfer to bounty hunter half the schelling tokens of the stakers stake\n @param id The ID of the staker who is penalised\n @param bountyHunter The address of the bounty hunter" - }, - "functionSelector": "0f91ce19", - "id": 3496, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3459, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "11838:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakeModifierHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5366, - "src": "11838:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11838:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3462, - "modifierName": { - "id": 3458, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "11829:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "11829:42:10" - } - ], - "name": "slash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3452, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 3496, - "src": "11771:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11771:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3454, - "mutability": "mutable", - "name": "bountyHunter", - "nodeType": "VariableDeclaration", - "scope": 3496, - "src": "11783:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3453, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11783:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3456, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3496, - "src": "11805:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11805:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11770:49:10" - }, - "returnParameters": { - "id": 3463, - "nodeType": "ParameterList", - "parameters": [], - "src": "11872:0:10" - }, - "scope": 3924, - "src": "11755:353:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3509, - "nodeType": "Block", - "src": "12261:44:10", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "id": 3504, - "name": "stakerIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4934, - "src": "12278:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3506, - "indexExpression": { - "id": 3505, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3499, - "src": "12288:8:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12278:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3507, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12277:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3503, - "id": 3508, - "nodeType": "Return", - "src": "12271:27:10" - } - ] - }, - "documentation": { - "id": 3497, - "nodeType": "StructuredDocumentation", - "src": "12115:71:10", - "text": "@param _address Address of the staker\n @return The staker ID" - }, - "functionSelector": "6022a485", - "id": 3510, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStakerId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3499, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 3510, - "src": "12212:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12212:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "12211:18:10" - }, - "returnParameters": { - "id": 3503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3510, - "src": "12252:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12252:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12251:9:10" - }, - "scope": 3924, - "src": "12191:114:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3524, - "nodeType": "Block", - "src": "12484:37:10", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "id": 3519, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "12501:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3521, - "indexExpression": { - "id": 3520, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3513, - "src": "12509:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12501:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - } - ], - "id": 3522, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12500:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "functionReturnParameters": 3518, - "id": 3523, - "nodeType": "Return", - "src": "12494:20:10" - } - ] - }, - "documentation": { - "id": 3511, - "nodeType": "StructuredDocumentation", - "src": "12311:84:10", - "text": "@param _id The staker ID\n @return staker The Struct of staker information" - }, - "functionSelector": "e3c998fe", - "id": 3525, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStaker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3514, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3513, - "mutability": "mutable", - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3525, - "src": "12419:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12419:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12418:13:10" - }, - "returnParameters": { - "id": 3518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3517, - "mutability": "mutable", - "name": "staker", - "nodeType": "VariableDeclaration", - "scope": 3525, - "src": "12454:28:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 3516, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3515, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5529, - "src": "12454:14:10" - }, - "referencedDeclaration": 5529, - "src": "12454:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "src": "12453:30:10" - }, - "scope": 3924, - "src": "12400:121:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3534, - "nodeType": "Block", - "src": "12642:35:10", - "statements": [ - { - "expression": { - "components": [ - { - "id": 3531, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "12659:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3532, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12658:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3530, - "id": 3533, - "nodeType": "Return", - "src": "12652:18:10" - } - ] - }, - "documentation": { - "id": 3526, - "nodeType": "StructuredDocumentation", - "src": "12527:54:10", - "text": "@return The number of stakers in the razor network" - }, - "functionSelector": "bc788d46", - "id": 3535, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getNumStakers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3527, - "nodeType": "ParameterList", - "parameters": [], - "src": "12608:2:10" - }, - "returnParameters": { - "id": 3530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3529, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3535, - "src": "12633:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3528, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12633:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12632:9:10" - }, - "scope": 3924, - "src": "12586:91:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3544, - "nodeType": "Block", - "src": "12770:35:10", - "statements": [ - { - "expression": { - "components": [ - { - "id": 3541, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "12787:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3542, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12786:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3540, - "id": 3543, - "nodeType": "Return", - "src": "12780:18:10" - } - ] - }, - "documentation": { - "id": 3536, - "nodeType": "StructuredDocumentation", - "src": "12683:26:10", - "text": "@return The rewardpool" - }, - "functionSelector": "1b8b13a7", - "id": 3545, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRewardPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3537, - "nodeType": "ParameterList", - "parameters": [], - "src": "12736:2:10" - }, - "returnParameters": { - "id": 3540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3539, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3545, - "src": "12761:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3538, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12761:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12760:9:10" - }, - "scope": 3924, - "src": "12714:91:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3554, - "nodeType": "Block", - "src": "12920:43:10", - "statements": [ - { - "expression": { - "components": [ - { - "id": 3551, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "12937:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3552, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12936:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3550, - "id": 3553, - "nodeType": "Return", - "src": "12930:26:10" - } - ] - }, - "documentation": { - "id": 3546, - "nodeType": "StructuredDocumentation", - "src": "12811:40:10", - "text": "@return The stakeGettingReward value" - }, - "functionSelector": "1ad54991", - "id": 3555, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStakeGettingReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3547, - "nodeType": "ParameterList", - "parameters": [], - "src": "12886:2:10" - }, - "returnParameters": { - "id": 3550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3549, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3555, - "src": "12911:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12911:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12910:9:10" - }, - "scope": 3924, - "src": "12856:107:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3608, - "nodeType": "Block", - "src": "13281:395:10", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3565, - "name": "epochs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3558, - "src": "13358:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "hexValue": "3130", - "id": 3566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13367:2:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "13358:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3572, - "nodeType": "IfStatement", - "src": "13354:60:10", - "trueBody": { - "id": 3571, - "nodeType": "Block", - "src": "13371:43:10", - "statements": [ - { - "expression": { - "components": [ - { - "id": 3568, - "name": "stakeValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3560, - "src": "13392:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3569, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13391:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3564, - "id": 3570, - "nodeType": "Return", - "src": "13385:18:10" - } - ] - } - }, - { - "assignments": [ - 3574 - ], - "declarations": [ - { - "constant": false, - "id": 3574, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "scope": 3608, - "src": "13424:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13424:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3592, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3575, - "name": "epochs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3558, - "src": "13444:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 3576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13453:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13444:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3578, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13443:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3579, - "name": "stakeValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3560, - "src": "13459:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3580, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "13471:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "penaltyNotRevealNum", - "nodeType": "MemberAccess", - "referencedDeclaration": 5259, - "src": "13471:29:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13471:31:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3583, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13470:33:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13459:44:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3585, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13458:46:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13443:61:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3587, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13442:63:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3588, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "13508:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "penaltyNotRevealDenom", - "nodeType": "MemberAccess", - "referencedDeclaration": 5268, - "src": "13508:31:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13508:33:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13442:99:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13424:117:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3593, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "13555:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3594, - "name": "stakeValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3560, - "src": "13565:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13555:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3606, - "nodeType": "Block", - "src": "13636:34:10", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "30", - "id": 3603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13657:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 3604, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13656:3:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - }, - "functionReturnParameters": 3564, - "id": 3605, - "nodeType": "Return", - "src": "13650:9:10" - } - ] - }, - "id": 3607, - "nodeType": "IfStatement", - "src": "13551:119:10", - "trueBody": { - "id": 3602, - "nodeType": "Block", - "src": "13577:53:10", - "statements": [ - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3596, - "name": "stakeValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3560, - "src": "13598:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "id": 3597, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "13610:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3598, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13609:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13598:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3600, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13597:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3564, - "id": 3601, - "nodeType": "Return", - "src": "13591:28:10" - } - ] - } - } - ] - }, - "documentation": { - "id": 3556, - "nodeType": "StructuredDocumentation", - "src": "12969:204:10", - "text": "@notice Calculates the inactivity penalties of the staker\n @param epochs The difference of epochs where the staker was inactive\n @param stakeValue The Stake that staker had in last epoch" - }, - "functionSelector": "1a69f008", - "id": 3609, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateInactivityPenalties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3561, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3558, - "mutability": "mutable", - "name": "epochs", - "nodeType": "VariableDeclaration", - "scope": 3609, - "src": "13216:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3557, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13216:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3560, - "mutability": "mutable", - "name": "stakeValue", - "nodeType": "VariableDeclaration", - "scope": 3609, - "src": "13232:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13232:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13215:36:10" - }, - "returnParameters": { - "id": 3564, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3563, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3609, - "src": "13272:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13272:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13271:9:10" - }, - "scope": 3924, - "src": "13178:498:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3645, - "nodeType": "Block", - "src": "13986:184:10", - "statements": [ - { - "assignments": [ - 3622 - ], - "declarations": [ - { - "constant": false, - "id": 3622, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 3645, - "src": "13996:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3621, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13996:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3627, - "initialValue": { - "expression": { - "baseExpression": { - "id": 3623, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "14020:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3625, - "indexExpression": { - "id": 3624, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3612, - "src": "14028:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14020:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3626, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "14020:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13996:42:10" - }, - { - "expression": { - "id": 3633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3628, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "14048:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3630, - "indexExpression": { - "id": 3629, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3612, - "src": "14056:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14048:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3631, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "14048:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3632, - "name": "_stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "14069:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14048:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3634, - "nodeType": "ExpressionStatement", - "src": "14048:27:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3636, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3612, - "src": "14102:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3637, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3622, - "src": "14107:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3638, - "name": "_stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "14122:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3639, - "name": "_reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3616, - "src": "14130:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 3640, - "name": "_epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3618, - "src": "14139:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3641, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "14147:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "14147:15:10", - "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_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3635, - "name": "StakeChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2577, - "src": "14090:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,string memory,uint256,uint256)" - } - }, - "id": 3643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14090:73:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3644, - "nodeType": "EmitStatement", - "src": "14085:78:10" - } - ] - }, - "documentation": { - "id": 3610, - "nodeType": "StructuredDocumentation", - "src": "13682:197:10", - "text": "@notice internal function for setting stake of the staker\n called in the giveRewards function\n @param _id of the staker\n @param _stake the amount of schelling tokens staked" - }, - "id": 3646, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setStakerStake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3619, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3612, - "mutability": "mutable", - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3646, - "src": "13909:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13909:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3614, - "mutability": "mutable", - "name": "_stake", - "nodeType": "VariableDeclaration", - "scope": 3646, - "src": "13922:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13922:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3616, - "mutability": "mutable", - "name": "_reason", - "nodeType": "VariableDeclaration", - "scope": 3646, - "src": "13938:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3615, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "13938:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3618, - "mutability": "mutable", - "name": "_epoch", - "nodeType": "VariableDeclaration", - "scope": 3646, - "src": "13961:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3617, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13961:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13908:68:10" - }, - "returnParameters": { - "id": 3620, - "nodeType": "ParameterList", - "parameters": [], - "src": "13986:0:10" - }, - "scope": 3924, - "src": "13884:286:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3730, - "nodeType": "Block", - "src": "14548:938:10", - "statements": [ - { - "assignments": [ - 3658 - ], - "declarations": [ - { - "constant": false, - "id": 3658, - "mutability": "mutable", - "name": "thisStaker", - "nodeType": "VariableDeclaration", - "scope": 3730, - "src": "14558:32:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 3657, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3656, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5529, - "src": "14558:14:10" - }, - "referencedDeclaration": 5529, - "src": "14558:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 3662, - "initialValue": { - "baseExpression": { - "id": 3659, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "14593:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3661, - "indexExpression": { - "id": 3660, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3649, - "src": "14601:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14593:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14558:52:10" - }, - { - "assignments": [ - 3664 - ], - "declarations": [ - { - "constant": false, - "id": 3664, - "mutability": "mutable", - "name": "epochLastActive", - "nodeType": "VariableDeclaration", - "scope": 3730, - "src": "14621:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14621:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3675, - "initialValue": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3665, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "14647:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5520, - "src": "14647:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 3667, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "14672:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3668, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5524, - "src": "14672:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14647:53:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "expression": { - "id": 3672, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "14798:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3673, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5520, - "src": "14798:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "14647:173:10", - "trueExpression": { - "expression": { - "id": 3670, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "14735:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3671, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5524, - "src": "14735:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14621:199:10" - }, - { - "assignments": [ - 3677 - ], - "declarations": [ - { - "constant": false, - "id": 3677, - "mutability": "mutable", - "name": "penalizeEpochs", - "nodeType": "VariableDeclaration", - "scope": 3730, - "src": "14895:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3676, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14895:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3682, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3678, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3651, - "src": "14920:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "id": 3679, - "name": "epochLastActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3664, - "src": "14927:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3680, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14926:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14920:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14895:48:10" - }, - { - "assignments": [ - 3684 - ], - "declarations": [ - { - "constant": false, - "id": 3684, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 3730, - "src": "14953:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14953:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3687, - "initialValue": { - "expression": { - "id": 3685, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "14977:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "14977:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14953:40:10" - }, - { - "assignments": [ - 3689 - ], - "declarations": [ - { - "constant": false, - "id": 3689, - "mutability": "mutable", - "name": "currentStake", - "nodeType": "VariableDeclaration", - "scope": 3730, - "src": "15052:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15052:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3694, - "initialValue": { - "arguments": [ - { - "id": 3691, - "name": "penalizeEpochs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "15104:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3692, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "15120:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3690, - "name": "calculateInactivityPenalties", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3609, - "src": "15075:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15075:59:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15052:82:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3695, - "name": "currentStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "15148:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3696, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "15163:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15148:28:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3729, - "nodeType": "IfStatement", - "src": "15144:336:10", - "trueBody": { - "id": 3728, - "nodeType": "Block", - "src": "15178:302:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 3699, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "15208:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3700, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5514, - "src": "15208:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3701, - "name": "currentStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "15223:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "496e61637469766974792050656e616c7479", - "id": 3702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15237:20:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a4344606ed7f554e216e523c4674ccd906b7c63915c2b6de0fdb27f7c2b41432", - "typeString": "literal_string \"Inactivity Penalty\"" - }, - "value": "Inactivity Penalty" - }, - { - "id": 3703, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3651, - "src": "15259:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_a4344606ed7f554e216e523c4674ccd906b7c63915c2b6de0fdb27f7c2b41432", - "typeString": "literal_string \"Inactivity Penalty\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3698, - "name": "_setStakerStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3646, - "src": "15192:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,uint256)" - } - }, - "id": 3704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15192:73:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3705, - "nodeType": "ExpressionStatement", - "src": "15192:73:10" - }, - { - "assignments": [ - 3707 - ], - "declarations": [ - { - "constant": false, - "id": 3707, - "mutability": "mutable", - "name": "prevRewardPool", - "nodeType": "VariableDeclaration", - "scope": 3728, - "src": "15279:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15279:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3709, - "initialValue": { - "id": 3708, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "15304:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15279:35:10" - }, - { - "expression": { - "id": 3718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3710, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "15328:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3711, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "15341:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3712, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "15353:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "id": 3713, - "name": "currentStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "15368:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3714, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15367:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15353:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3716, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15352:30:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15341:41:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15328:54:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3719, - "nodeType": "ExpressionStatement", - "src": "15328:54:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3721, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3651, - "src": "15418:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3722, - "name": "prevRewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3707, - "src": "15425:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3723, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "15441:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3724, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "15453:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "15453:15:10", - "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": 3720, - "name": "RewardPoolChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2587, - "src": "15401:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15401:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3727, - "nodeType": "EmitStatement", - "src": "15396:73:10" - } - ] - } - } - ] - }, - "documentation": { - "id": 3647, - "nodeType": "StructuredDocumentation", - "src": "14176:291:10", - "text": "@notice The function gives out penalties to stakers during commit. \n The penalties are given for inactivity, failing to reveal\n , deviation from the median value of particular asset\n @param stakerId The staker id\n @param epoch The Epoch value in consideration" - }, - "id": 3731, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_giveInactivityPenalties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3652, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3649, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3731, - "src": "14506:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3648, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14506:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3651, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3731, - "src": "14524:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14524:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14505:33:10" - }, - "returnParameters": { - "id": 3653, - "nodeType": "ParameterList", - "parameters": [], - "src": "14548:0:10" - }, - "scope": 3924, - "src": "14472:1014:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3922, - "nodeType": "Block", - "src": "15558:2101:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3739, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3733, - "src": "15593:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3740, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3735, - "src": "15603:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3738, - "name": "_giveInactivityPenalties", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3731, - "src": "15568:24:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 3741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15568:41:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3742, - "nodeType": "ExpressionStatement", - "src": "15568:41:10" - }, - { - "assignments": [ - 3747 - ], - "declarations": [ - { - "constant": false, - "id": 3747, - "mutability": "mutable", - "name": "thisStaker", - "nodeType": "VariableDeclaration", - "scope": 3922, - "src": "15619:33:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 3746, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3745, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5529, - "src": "15619:14:10" - }, - "referencedDeclaration": 5529, - "src": "15619:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 3751, - "initialValue": { - "baseExpression": { - "id": 3748, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4939, - "src": "15655:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3750, - "indexExpression": { - "id": 3749, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3733, - "src": "15663:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15655:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15619:53:10" - }, - { - "assignments": [ - 3753 - ], - "declarations": [ - { - "constant": false, - "id": 3753, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 3922, - "src": "15682:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15682:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3756, - "initialValue": { - "expression": { - "id": 3754, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3747, - "src": "15706:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3755, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "15706:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15682:40:10" - }, - { - "assignments": [ - 3758 - ], - "declarations": [ - { - "constant": false, - "id": 3758, - "mutability": "mutable", - "name": "epochLastRevealed", - "nodeType": "VariableDeclaration", - "scope": 3922, - "src": "15732:25:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15732:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3761, - "initialValue": { - "expression": { - "id": 3759, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3747, - "src": "15760:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5524, - "src": "15760:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15732:56:10" - }, - { - "assignments": [ - 3766 - ], - "declarations": [ - { - "constant": false, - "id": 3766, - "mutability": "mutable", - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 3922, - "src": "15799:27:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block" - }, - "typeName": { - "id": 3765, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3764, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5550, - "src": "15799:13:10" - }, - "referencedDeclaration": 5550, - "src": "15799:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "visibility": "internal" - } - ], - "id": 3771, - "initialValue": { - "arguments": [ - { - "id": 3769, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3758, - "src": "15851:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3767, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2560, - "src": "15829:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "id": 3768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 4598, - "src": "15829:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Block_$5550_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Block memory)" - } - }, - "id": 3770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15829:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15799:70:10" - }, - { - "assignments": [ - 3776 - ], - "declarations": [ - { - "constant": false, - "id": 3776, - "mutability": "mutable", - "name": "lowerCutoffsLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3922, - "src": "15880:38:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15880:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3775, - "nodeType": "ArrayTypeName", - "src": "15880:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 3779, - "initialValue": { - "expression": { - "id": 3777, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3766, - "src": "15921:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 3778, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5540, - "src": "15921:19:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15880:60:10" - }, - { - "assignments": [ - 3784 - ], - "declarations": [ - { - "constant": false, - "id": 3784, - "mutability": "mutable", - "name": "higherCutoffsLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3922, - "src": "15950:39:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15950:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3783, - "nodeType": "ArrayTypeName", - "src": "15950:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 3787, - "initialValue": { - "expression": { - "id": 3785, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3766, - "src": "15992:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 3786, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5543, - "src": "15992:20:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15950:62:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3788, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "16036:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "16036:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16067:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16036:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3921, - "nodeType": "IfStatement", - "src": "16032:1621:10", - "trueBody": { - "id": 3920, - "nodeType": "Block", - "src": "16070:1583:10", - "statements": [ - { - "assignments": [ - 3793 - ], - "declarations": [ - { - "constant": false, - "id": 3793, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "scope": 3920, - "src": "16084:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16084:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3795, - "initialValue": { - "hexValue": "30", - "id": 3794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16102:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16084:19:10" - }, - { - "body": { - "id": 3852, - "nodeType": "Block", - "src": "16176:716:10", - "statements": [ - { - "assignments": [ - 3808 - ], - "declarations": [ - { - "constant": false, - "id": 3808, - "mutability": "mutable", - "name": "voteLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3852, - "src": "16194:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3807, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16194:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3817, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 3811, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3758, - "src": "16238:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3812, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3747, - "src": "16257:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5514, - "src": "16257:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3814, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "16272:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3809, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "16218:11:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4886", - "typeString": "contract IVoteManager" - } - }, - "id": 3810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getVote", - "nodeType": "MemberAccess", - "referencedDeclaration": 4854, - "src": "16218:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_struct$_Vote_$5512_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) view external returns (struct Structs.Vote memory)" - } - }, - "id": 3815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16218:56:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_memory_ptr", - "typeString": "struct Structs.Vote memory" - } - }, - "id": 3816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 5509, - "src": "16218:62:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16194:86:10" - }, - { - "assignments": [ - 3819 - ], - "declarations": [ - { - "constant": false, - "id": 3819, - "mutability": "mutable", - "name": "lowerCutoffLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3852, - "src": "16298:28:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3818, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16298:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3823, - "initialValue": { - "baseExpression": { - "id": 3820, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "16329:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3822, - "indexExpression": { - "id": 3821, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "16351:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16329:24:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16298:55:10" - }, - { - "assignments": [ - 3825 - ], - "declarations": [ - { - "constant": false, - "id": 3825, - "mutability": "mutable", - "name": "higherCutoffLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3852, - "src": "16371:29:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16371:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3829, - "initialValue": { - "baseExpression": { - "id": 3826, - "name": "higherCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3784, - "src": "16403:22:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3828, - "indexExpression": { - "id": 3827, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "16426:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16403:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16371:57:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3830, - "name": "voteLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3808, - "src": "16469:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3831, - "name": "lowerCutoffLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3819, - "src": "16485:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16469:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3833, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16468:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3834, - "name": "voteLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3808, - "src": "16511:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 3835, - "name": "higherCutoffLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "16527:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16511:37:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3837, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16510:39:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16468:81:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3851, - "nodeType": "IfStatement", - "src": "16464:414:10", - "trueBody": { - "id": 3850, - "nodeType": "Block", - "src": "16551:327:10", - "statements": [ - { - "expression": { - "id": 3848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3839, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3793, - "src": "16792:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3840, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3793, - "src": "16802:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3841, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "16813:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3842, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "16827:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "exposureDenominator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5339, - "src": "16827:29:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16827:31:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16813:45:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3846, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16812:47:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16802:57:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16792:67:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3849, - "nodeType": "ExpressionStatement", - "src": "16792:67:10" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3800, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "16137:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 3801, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "16141:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "16141:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16137:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3853, - "initializationExpression": { - "assignments": [ - 3797 - ], - "declarations": [ - { - "constant": false, - "id": 3797, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3853, - "src": "16122:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16122:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3799, - "initialValue": { - "hexValue": "30", - "id": 3798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16134:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16122:13:10" - }, - "loopExpression": { - "expression": { - "id": 3805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "16171:3:10", - "subExpression": { - "id": 3804, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "16171:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3806, - "nodeType": "ExpressionStatement", - "src": "16171:3:10" - }, - "nodeType": "ForStatement", - "src": "16117:775:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3854, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3793, - "src": "16910:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16920:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16910:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3918, - "nodeType": "Block", - "src": "17318:325:10", - "statements": [ - { - "assignments": [ - 3900 - ], - "declarations": [ - { - "constant": false, - "id": 3900, - "mutability": "mutable", - "name": "prevStakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 3918, - "src": "17378:30:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17378:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3902, - "initialValue": { - "id": 3901, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "17411:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17378:51:10" - }, - { - "expression": { - "id": 3908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3903, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "17447:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3904, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "17468:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "id": 3905, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "17488:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3906, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17487:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17468:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17447:55:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3909, - "nodeType": "ExpressionStatement", - "src": "17447:55:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3911, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3735, - "src": "17561:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3912, - "name": "prevStakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3900, - "src": "17568:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3913, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "17592:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3914, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "17612:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "17612:15:10", - "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": 3910, - "name": "StakeGettingRewardChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "17536:24:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17536:92:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3917, - "nodeType": "EmitStatement", - "src": "17531:97:10" - } - ] - }, - "id": 3919, - "nodeType": "IfStatement", - "src": "16906:737:10", - "trueBody": { - "id": 3898, - "nodeType": "Block", - "src": "16923:389:10", - "statements": [ - { - "expression": { - "id": 3865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3857, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3793, - "src": "16941:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "condition": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3858, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3793, - "src": "16952:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 3859, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "16962:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16952:23:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3861, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16951:25:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 3863, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3793, - "src": "16995:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "16951:51:10", - "trueExpression": { - "id": 3862, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "16979:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16941:61:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3866, - "nodeType": "ExpressionStatement", - "src": "16941:61:10" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 3868, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3747, - "src": "17036:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3869, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5514, - "src": "17036:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3870, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "17052:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "id": 3871, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3793, - "src": "17067:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3872, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17066:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17052:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3874, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17051:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "566f74696e672050656e616c7479", - "id": 3875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17078:16:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_66ee0ab3028df9f2ba3847bf49c42b6060ee42fd6e5deaa8cc2f229e77771533", - "typeString": "literal_string \"Voting Penalty\"" - }, - "value": "Voting Penalty" - }, - { - "id": 3876, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3735, - "src": "17096:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_66ee0ab3028df9f2ba3847bf49c42b6060ee42fd6e5deaa8cc2f229e77771533", - "typeString": "literal_string \"Voting Penalty\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3867, - "name": "_setStakerStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3646, - "src": "17020:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,uint256)" - } - }, - "id": 3877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17020:82:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3878, - "nodeType": "ExpressionStatement", - "src": "17020:82:10" - }, - { - "assignments": [ - 3880 - ], - "declarations": [ - { - "constant": false, - "id": 3880, - "mutability": "mutable", - "name": "prevRewardPool", - "nodeType": "VariableDeclaration", - "scope": 3898, - "src": "17120:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17120:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3882, - "initialValue": { - "id": 3881, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "17145:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17120:35:10" - }, - { - "expression": { - "id": 3888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3883, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "17173:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3884, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "17186:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "id": 3885, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3793, - "src": "17198:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3886, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17197:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17186:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17173:33:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3889, - "nodeType": "ExpressionStatement", - "src": "17173:33:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3891, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3735, - "src": "17246:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3892, - "name": "prevRewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3880, - "src": "17253:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3893, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "17269:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3894, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "17281:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "17281:15:10", - "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": 3890, - "name": "RewardPoolChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2587, - "src": "17229:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17229:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3897, - "nodeType": "EmitStatement", - "src": "17224:73:10" - } - ] - } - } - ] - } - } - ] - }, - "id": 3923, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_givePenalties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3736, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3733, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3923, - "src": "15516:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15516:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3735, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3923, - "src": "15534:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15534:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15515:33:10" - }, - "returnParameters": { - "id": 3737, - "nodeType": "ParameterList", - "parameters": [], - "src": "15558:0:10" - }, - "scope": 3924, - "src": "15491:2168:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 3925, - "src": "453:17208:10" - } - ], - "src": "39:17623:10" - }, - "id": 10 - }, - "contracts/Core/StateManager.sol": { - "ast": { - "absolutePath": "contracts/Core/StateManager.sol", - "exportedSymbols": { - "Constants": [ - 5385 - ], - "StateManager": [ - 3972 - ] - }, - "id": 3973, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3926, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:11" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 3927, - "nodeType": "ImportDirective", - "scope": 3973, - "sourceUnit": 5386, - "src": "64:30:11", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 3972, - "linearizedBaseContracts": [ - 3972 - ], - "name": "StateManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3941, - "nodeType": "Block", - "src": "178:63:11", - "statements": [ - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3932, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "195:5:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "src": "195:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3934, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "209:9:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 5321, - "src": "209:21:11", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "209:23:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3937, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "208:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "195:38:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3939, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "194:40:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3931, - "id": 3940, - "nodeType": "Return", - "src": "188:46:11" - } - ] - }, - "functionSelector": "757991a8", - "id": 3942, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEpoch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3928, - "nodeType": "ParameterList", - "parameters": [], - "src": "144:2:11" - }, - "returnParameters": { - "id": 3931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3930, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3942, - "src": "169:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "169:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "168:9:11" - }, - "scope": 3972, - "src": "126:115:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3970, - "nodeType": "Block", - "src": "299:143:11", - "statements": [ - { - "assignments": [ - 3948 - ], - "declarations": [ - { - "constant": false, - "id": 3948, - "mutability": "mutable", - "name": "state", - "nodeType": "VariableDeclaration", - "scope": 3970, - "src": "309:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "309:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3961, - "initialValue": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3949, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "326:5:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "src": "326:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3951, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "340:9:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 5321, - "src": "340:21:11", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "340:23:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3954, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "364:9:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "numStates", - "nodeType": "MemberAccess", - "referencedDeclaration": 5330, - "src": "364:19:11", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "364:21:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "340:45:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3958, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "339:47:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "326:60:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3960, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "325:62:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "309:78:11" - }, - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3962, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3948, - "src": "405:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3963, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "412:9:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 3964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "numStates", - "nodeType": "MemberAccess", - "referencedDeclaration": 5330, - "src": "412:19:11", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "412:21:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3966, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "411:23:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "405:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3968, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "404:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3946, - "id": 3969, - "nodeType": "Return", - "src": "397:38:11" - } - ] - }, - "functionSelector": "1865c57d", - "id": 3971, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getState", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3943, - "nodeType": "ParameterList", - "parameters": [], - "src": "265:2:11" - }, - "returnParameters": { - "id": 3946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3945, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3971, - "src": "290:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "290:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "289:9:11" - }, - "scope": 3972, - "src": "247:195:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3973, - "src": "97:347:11" - } - ], - "src": "39:406:11" - }, - "id": 11 - }, - "contracts/Core/VoteManager.sol": { - "ast": { - "absolutePath": "contracts/Core/VoteManager.sol", - "exportedSymbols": { - "Constants": [ - 5385 - ], - "IBlockManager": [ - 4640 - ], - "IStakeManager": [ - 4785 - ], - "IStateManager": [ - 4798 - ], - "MerkleProof": [ - 995 - ], - "Structs": [ - 5585 - ], - "VoteManager": [ - 4528 - ], - "VoteStorage": [ - 4973 - ] - }, - "id": 4529, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3974, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:12" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", - "file": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", - "id": 3975, - "nodeType": "ImportDirective", - "scope": 4529, - "sourceUnit": 996, - "src": "64:68:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IStakeManager.sol", - "file": "./interface/IStakeManager.sol", - "id": 3976, - "nodeType": "ImportDirective", - "scope": 4529, - "sourceUnit": 4786, - "src": "133:39:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IStateManager.sol", - "file": "./interface/IStateManager.sol", - "id": 3977, - "nodeType": "ImportDirective", - "scope": 4529, - "sourceUnit": 4799, - "src": "173:39:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IBlockManager.sol", - "file": "./interface/IBlockManager.sol", - "id": 3978, - "nodeType": "ImportDirective", - "scope": 4529, - "sourceUnit": 4641, - "src": "213:39:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/storage/VoteStorage.sol", - "file": "./storage/VoteStorage.sol", - "id": 3979, - "nodeType": "ImportDirective", - "scope": 4529, - "sourceUnit": 4974, - "src": "253:35:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 3980, - "nodeType": "ImportDirective", - "scope": 4529, - "sourceUnit": 5386, - "src": "289:30:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 3981, - "name": "VoteStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4973, - "src": "346:11:12" - }, - "id": 3982, - "nodeType": "InheritanceSpecifier", - "src": "346:11:12" - } - ], - "contractDependencies": [ - 4973 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4528, - "linearizedBaseContracts": [ - 4528, - 4973 - ], - "name": "VoteManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "7542ff95", - "id": 3985, - "mutability": "mutable", - "name": "stakeManager", - "nodeType": "VariableDeclaration", - "scope": 4528, - "src": "365:33:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - }, - "typeName": { - "id": 3984, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3983, - "name": "IStakeManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4785, - "src": "365:13:12" - }, - "referencedDeclaration": 4785, - "src": "365:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2e716fb1", - "id": 3988, - "mutability": "mutable", - "name": "stateManager", - "nodeType": "VariableDeclaration", - "scope": 4528, - "src": "404:33:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - }, - "typeName": { - "id": 3987, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3986, - "name": "IStateManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4798, - "src": "404:13:12" - }, - "referencedDeclaration": 4798, - "src": "404:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d9169b32", - "id": 3991, - "mutability": "mutable", - "name": "blockManager", - "nodeType": "VariableDeclaration", - "scope": 4528, - "src": "443:33:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - }, - "typeName": { - "id": 3990, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3989, - "name": "IBlockManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4640, - "src": "443:13:12" - }, - "referencedDeclaration": 4640, - "src": "443:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 4005, - "nodeType": "Block", - "src": "519:88:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3996, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3993, - "src": "537:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3997, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3988, - "src": "546:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 3998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "546:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 3999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "546:23:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "537:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f72726563742065706f6368", - "id": 4001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "571:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - }, - "value": "incorrect epoch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - } - ], - "id": 3995, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "529:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "529:60:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4003, - "nodeType": "ExpressionStatement", - "src": "529:60:12" - }, - { - "id": 4004, - "nodeType": "PlaceholderStatement", - "src": "599:1:12" - } - ] - }, - "id": 4006, - "name": "checkEpoch", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 3994, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3993, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4006, - "src": "504:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "504:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "503:15:12" - }, - "src": "483:124:12", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4020, - "nodeType": "Block", - "src": "649:88:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4011, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "667:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4012, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3988, - "src": "676:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 4013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "676:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 4014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "676:23:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "667:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f7272656374207374617465", - "id": 4016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "701:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - }, - "value": "incorrect state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - } - ], - "id": 4010, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "659:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "659:60:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4018, - "nodeType": "ExpressionStatement", - "src": "659:60:12" - }, - { - "id": 4019, - "nodeType": "PlaceholderStatement", - "src": "729:1:12" - } - ] - }, - "id": 4021, - "name": "checkState", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 4009, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4008, - "mutability": "mutable", - "name": "state", - "nodeType": "VariableDeclaration", - "scope": 4021, - "src": "634:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "634:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "633:15:12" - }, - "src": "613:124:12", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4048, - "nodeType": "Block", - "src": "855:187:12", - "statements": [ - { - "expression": { - "id": 4034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4030, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3985, - "src": "865:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 4032, - "name": "_stakeManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4023, - "src": "894:20:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4031, - "name": "IStakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4785, - "src": "880:13:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStakeManager_$4785_$", - "typeString": "type(contract IStakeManager)" - } - }, - "id": 4033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "880:35:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "src": "865:50:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 4035, - "nodeType": "ExpressionStatement", - "src": "865:50:12" - }, - { - "expression": { - "id": 4040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4036, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3988, - "src": "925:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 4038, - "name": "_stateManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4025, - "src": "954:20:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4037, - "name": "IStateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4798, - "src": "940:13:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStateManager_$4798_$", - "typeString": "type(contract IStateManager)" - } - }, - "id": 4039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "940:35:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "src": "925:50:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 4041, - "nodeType": "ExpressionStatement", - "src": "925:50:12" - }, - { - "expression": { - "id": 4046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4042, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3991, - "src": "985:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 4044, - "name": "_blockManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4027, - "src": "1014:20:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4043, - "name": "IBlockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4640, - "src": "1000:13:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBlockManager_$4640_$", - "typeString": "type(contract IBlockManager)" - } - }, - "id": 4045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1000:35:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "src": "985:50:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "id": 4047, - "nodeType": "ExpressionStatement", - "src": "985:50:12" - } - ] - }, - "functionSelector": "184b9559", - "id": 4049, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4028, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4023, - "mutability": "mutable", - "name": "_stakeManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4049, - "src": "758:28:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "758:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4025, - "mutability": "mutable", - "name": "_stateManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4049, - "src": "788:28:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "788:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4027, - "mutability": "mutable", - "name": "_blockManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4049, - "src": "818:28:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4026, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "818:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "757:90:12" - }, - "returnParameters": { - "id": 4029, - "nodeType": "ParameterList", - "parameters": [], - "src": "855:0:12" - }, - "scope": 4528, - "src": "743:299:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "anonymous": false, - "id": 4059, - "name": "Committed", - "nodeType": "EventDefinition", - "parameters": { - "id": 4058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4051, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4059, - "src": "1064:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4050, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1064:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4053, - "indexed": false, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4059, - "src": "1079:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1079:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4055, - "indexed": false, - "mutability": "mutable", - "name": "commitment", - "nodeType": "VariableDeclaration", - "scope": 4059, - "src": "1097:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4054, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1097:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4057, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 4059, - "src": "1117:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1117:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1063:72:12" - }, - "src": "1048:88:12" - }, - { - "body": { - "id": 4165, - "nodeType": "Block", - "src": "1249:850:12", - "statements": [ - { - "assignments": [ - 4075 - ], - "declarations": [ - { - "constant": false, - "id": 4075, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4165, - "src": "1259:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4074, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1259:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 4081, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 4078, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1303:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1303:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 4076, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3985, - "src": "1278:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 4077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "1278:24:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1278:36:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1259:55:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 4089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 4083, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4949, - "src": "1332:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4085, - "indexExpression": { - "id": 4084, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "1344:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1332:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4087, - "indexExpression": { - "id": 4086, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4075, - "src": "1351:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1332:28:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "307830", - "id": 4088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1364:3:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "1332:35:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "616c726561647920636f6d6d69746564", - "id": 4090, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1369:18:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fde99a45e22e2bf34447c936fa58763b0e7ceae0cf197e297f2efc966d028475", - "typeString": "literal_string \"already commited\"" - }, - "value": "already commited" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fde99a45e22e2bf34447c936fa58763b0e7ceae0cf197e297f2efc966d028475", - "typeString": "literal_string \"already commited\"" - } - ], - "id": 4082, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1324:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1324:64:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4092, - "nodeType": "ExpressionStatement", - "src": "1324:64:12" - }, - { - "assignments": [ - 4097 - ], - "declarations": [ - { - "constant": false, - "id": 4097, - "mutability": "mutable", - "name": "thisStaker", - "nodeType": "VariableDeclaration", - "scope": 4165, - "src": "1398:32:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 4096, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4095, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5529, - "src": "1398:14:12" - }, - "referencedDeclaration": 5529, - "src": "1398:14:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 4102, - "initialValue": { - "arguments": [ - { - "id": 4100, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4075, - "src": "1456:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4098, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3985, - "src": "1433:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 4099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "1433:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5529_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 4101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1433:32:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1398:67:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4105, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "1658:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 4106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1664:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1658:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4103, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3991, - "src": "1636:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "id": 4104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 4598, - "src": "1636:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Block_$5550_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Block memory)" - } - }, - "id": 4108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1636:30:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 4109, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5531, - "src": "1636:41:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 4110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1681:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1636:46:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4114, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "1720:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 4115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1726:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1720:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4112, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3991, - "src": "1686:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "id": 4113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumProposedBlocks", - "nodeType": "MemberAccess", - "referencedDeclaration": 4639, - "src": "1686:33:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 4117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1686:42:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 4118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1731:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1686:46:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1636:96:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4127, - "nodeType": "IfStatement", - "src": "1632:154:12", - "trueBody": { - "id": 4126, - "nodeType": "Block", - "src": "1734:52:12", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4121, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3991, - "src": "1748:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4640", - "typeString": "contract IBlockManager" - } - }, - "id": 4123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "confirmBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 4590, - "src": "1748:25:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 4124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1748:27:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4125, - "nodeType": "ExpressionStatement", - "src": "1748:27:12" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 4131, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4075, - "src": "1822:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4132, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "1832:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4128, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3985, - "src": "1795:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 4130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "givePenalties", - "nodeType": "MemberAccess", - "referencedDeclaration": 4731, - "src": "1795:26:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 4133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1795:43:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4134, - "nodeType": "ExpressionStatement", - "src": "1795:43:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4135, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "1853:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4136, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "1853:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4137, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "1873:9:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 4138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "minStake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "1873:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 4139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1873:20:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1853:40:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4164, - "nodeType": "IfStatement", - "src": "1849:244:12", - "trueBody": { - "id": 4163, - "nodeType": "Block", - "src": "1895:198:12", - "statements": [ - { - "expression": { - "id": 4147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 4141, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4949, - "src": "1909:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4144, - "indexExpression": { - "id": 4142, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "1921:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1909:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4145, - "indexExpression": { - "id": 4143, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4075, - "src": "1928:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1909:28:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4146, - "name": "commitment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4063, - "src": "1940:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1909:41:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4148, - "nodeType": "ExpressionStatement", - "src": "1909:41:12" - }, - { - "expression": { - "arguments": [ - { - "id": 4152, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4075, - "src": "1999:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4149, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3985, - "src": "1964:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 4151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateCommitmentEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4707, - "src": "1964:34:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 4153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1964:44:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4154, - "nodeType": "ExpressionStatement", - "src": "1964:44:12" - }, - { - "eventCall": { - "arguments": [ - { - "id": 4156, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "2037:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4157, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4075, - "src": "2044:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4158, - "name": "commitment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4063, - "src": "2054:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 4159, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2066:5:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "2066:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4155, - "name": "Committed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "2027:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,bytes32,uint256)" - } - }, - "id": 4161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2027:55:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4162, - "nodeType": "EmitStatement", - "src": "2022:60:12" - } - ] - } - } - ] - }, - "functionSelector": "f2f03877", - "id": 4166, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 4066, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4061, - "src": "1211:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4067, - "modifierName": { - "id": 4065, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4006, - "src": "1200:10:12" - }, - "nodeType": "ModifierInvocation", - "src": "1200:17:12" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4069, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "1229:9:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 4070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "commit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5223, - "src": "1229:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 4071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1229:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4072, - "modifierName": { - "id": 4068, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4021, - "src": "1218:10:12" - }, - "nodeType": "ModifierInvocation", - "src": "1218:30:12" - } - ], - "name": "commit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4061, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4166, - "src": "1158:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4060, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1158:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4063, - "mutability": "mutable", - "name": "commitment", - "nodeType": "VariableDeclaration", - "scope": 4166, - "src": "1173:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4062, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1173:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1157:35:12" - }, - "returnParameters": { - "id": 4073, - "nodeType": "ParameterList", - "parameters": [], - "src": "1249:0:12" - }, - "scope": 4528, - "src": "1142:957:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "anonymous": false, - "id": 4179, - "name": "Revealed", - "nodeType": "EventDefinition", - "parameters": { - "id": 4178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4168, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4179, - "src": "2120:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2120:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4170, - "indexed": false, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4179, - "src": "2135:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4169, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2135:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4172, - "indexed": false, - "mutability": "mutable", - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 4179, - "src": "2153:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2153:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4175, - "indexed": false, - "mutability": "mutable", - "name": "values", - "nodeType": "VariableDeclaration", - "scope": 4179, - "src": "2168:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2168:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4174, - "nodeType": "ArrayTypeName", - "src": "2168:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4177, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 4179, - "src": "2186:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2186:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2119:85:12" - }, - "src": "2105:100:12" - }, - { - "body": { - "id": 4428, - "nodeType": "Block", - "src": "2401:1791:12", - "statements": [ - { - "assignments": [ - 4201 - ], - "declarations": [ - { - "constant": false, - "id": 4201, - "mutability": "mutable", - "name": "thisStakerId", - "nodeType": "VariableDeclaration", - "scope": 4428, - "src": "2411:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4200, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2411:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 4206, - "initialValue": { - "arguments": [ - { - "id": 4204, - "name": "stakerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4194, - "src": "2459:13:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 4202, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3985, - "src": "2434:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 4203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "2434:24:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2434:39:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2411:62:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4208, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "2491:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 4209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2506:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2491:16:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "537472756374732e5374616b657220646f6573206e6f74206578697374", - "id": 4211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2509:31:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_743d03e1fcb061f47e6c95bfe6f5992a265f5b91e947a0c52d7b1b2db5a6c7f7", - "typeString": "literal_string \"Structs.Staker does not exist\"" - }, - "value": "Structs.Staker does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_743d03e1fcb061f47e6c95bfe6f5992a265f5b91e947a0c52d7b1b2db5a6c7f7", - "typeString": "literal_string \"Structs.Staker does not exist\"" - } - ], - "id": 4207, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2483:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2483:58:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4213, - "nodeType": "ExpressionStatement", - "src": "2483:58:12" - }, - { - "assignments": [ - 4218 - ], - "declarations": [ - { - "constant": false, - "id": 4218, - "mutability": "mutable", - "name": "thisStaker", - "nodeType": "VariableDeclaration", - "scope": 4428, - "src": "2551:32:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 4217, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4216, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5529, - "src": "2551:14:12" - }, - "referencedDeclaration": 5529, - "src": "2551:14:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 4223, - "initialValue": { - "arguments": [ - { - "id": 4221, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "2609:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4219, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3985, - "src": "2586:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 4220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "2586:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5529_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 4222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2586:36:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2551:71:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 4231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 4225, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4949, - "src": "2640:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4227, - "indexExpression": { - "id": 4226, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "2652:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2640:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4229, - "indexExpression": { - "id": 4228, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "2659:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2640:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "307830", - "id": 4230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2676:3:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "2640:39:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6e6f7420636f6d6d69746564206f7220616c72656164792072657665616c6564", - "id": 4232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2681:34:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a940b2a52672d706cd6529433302ee1085aa924690eb9c0a6dfda6488ef2bcdb", - "typeString": "literal_string \"not commited or already revealed\"" - }, - "value": "not commited or already revealed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a940b2a52672d706cd6529433302ee1085aa924690eb9c0a6dfda6488ef2bcdb", - "typeString": "literal_string \"not commited or already revealed\"" - } - ], - "id": 4224, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2632:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2632:84:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4234, - "nodeType": "ExpressionStatement", - "src": "2632:84:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 4249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 4239, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "2761:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4240, - "name": "root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4183, - "src": "2768:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4241, - "name": "secret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4192, - "src": "2774:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 4237, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2744:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "2744:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2744:37:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4236, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2734:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2734:48:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "baseExpression": { - "baseExpression": { - "id": 4244, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4949, - "src": "2786:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4246, - "indexExpression": { - "id": 4245, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "2798:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2786:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4248, - "indexExpression": { - "id": 4247, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "2805:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2786:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2734:84:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f7272656374207365637265742f76616c7565", - "id": 4250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2836:24:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_117c0d3e1a97c48aed3d13ddb2f7e4f454991126eb3f4729b34034c97947c147", - "typeString": "literal_string \"incorrect secret/value\"" - }, - "value": "incorrect secret/value" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_117c0d3e1a97c48aed3d13ddb2f7e4f454991126eb3f4729b34034c97947c147", - "typeString": "literal_string \"incorrect secret/value\"" - } - ], - "id": 4235, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2726:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2726:135:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4252, - "nodeType": "ExpressionStatement", - "src": "2726:135:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4253, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2912:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2912:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 4255, - "name": "stakerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4194, - "src": "2926:13:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2912:27:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4426, - "nodeType": "Block", - "src": "3894:292:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4399, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3988, - "src": "3992:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 4400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "3992:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 4401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3992:23:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4402, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "4019:9:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 4403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "commit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5223, - "src": "4019:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 4404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4019:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "3992:45:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4e6f7420636f6d6d6974207374617465", - "id": 4406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4039:18:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d593732acfcb443b5b44e4943456e2fce39381181ad947ffa33ce891bf81a45", - "typeString": "literal_string \"Not commit state\"" - }, - "value": "Not commit state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6d593732acfcb443b5b44e4943456e2fce39381181ad947ffa33ce891bf81a45", - "typeString": "literal_string \"Not commit state\"" - } - ], - "id": 4398, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3984:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3984:74:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4408, - "nodeType": "ExpressionStatement", - "src": "3984:74:12" - }, - { - "expression": { - "id": 4415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 4409, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4949, - "src": "4072:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4412, - "indexExpression": { - "id": 4410, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "4084:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4072:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4413, - "indexExpression": { - "id": 4411, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "4091:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4072:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "307830", - "id": 4414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4107:3:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "4072:38:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4416, - "nodeType": "ExpressionStatement", - "src": "4072:38:12" - }, - { - "expression": { - "arguments": [ - { - "id": 4420, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "4143:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 4421, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4157:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4157:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4423, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "4169:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4417, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3985, - "src": "4124:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 4419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "slash", - "nodeType": "MemberAccess", - "referencedDeclaration": 4754, - "src": "4124:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256) external" - } - }, - "id": 4424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4124:51:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4425, - "nodeType": "ExpressionStatement", - "src": "4124:51:12" - } - ] - }, - "id": 4427, - "nodeType": "IfStatement", - "src": "2908:1278:12", - "trueBody": { - "id": 4397, - "nodeType": "Block", - "src": "2941:947:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4258, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3988, - "src": "2963:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4798", - "typeString": "contract IStateManager" - } - }, - "id": 4259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "2963:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 4260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2963:23:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4261, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "2990:9:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 4262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "reveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 5232, - "src": "2990:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 4263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2990:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "2963:45:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4e6f742072657665616c207374617465", - "id": 4265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3010:18:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_268d2c599991ca0d37b6046592043de1b2c44a06b0ce5c2cfad84e09cba7d135", - "typeString": "literal_string \"Not reveal state\"" - }, - "value": "Not reveal state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_268d2c599991ca0d37b6046592043de1b2c44a06b0ce5c2cfad84e09cba7d135", - "typeString": "literal_string \"Not reveal state\"" - } - ], - "id": 4257, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2955:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2955:74:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4267, - "nodeType": "ExpressionStatement", - "src": "2955:74:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4269, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4218, - "src": "3051:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "3051:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 4271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3070:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3051:20:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6e6f6e706f736974697665207374616b65", - "id": 4273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3073:19:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_18946c3cfecfbaff9f580fe1dba9ddd240c806d5ebece06bfbecf58d9b7c810f", - "typeString": "literal_string \"nonpositive stake\"" - }, - "value": "nonpositive stake" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_18946c3cfecfbaff9f580fe1dba9ddd240c806d5ebece06bfbecf58d9b7c810f", - "typeString": "literal_string \"nonpositive stake\"" - } - ], - "id": 4268, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3043:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3043:50:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4275, - "nodeType": "ExpressionStatement", - "src": "3043:50:12" - }, - { - "body": { - "id": 4363, - "nodeType": "Block", - "src": "3151:448:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "id": 4290, - "name": "proofs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4190, - "src": "3196:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_bytes32_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes32[] memory[] memory" - } - }, - "id": 4292, - "indexExpression": { - "id": 4291, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3203:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3196:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - { - "id": 4293, - "name": "root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4183, - "src": "3207:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "id": 4297, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4186, - "src": "3240:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 4299, - "indexExpression": { - "id": 4298, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3247:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3240:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4295, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3223:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3223:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3223:27:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4294, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3213:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3213:38:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 4288, - "name": "MerkleProof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "3177:11:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MerkleProof_$995_$", - "typeString": "type(library MerkleProof)" - } - }, - "id": 4289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "verify", - "nodeType": "MemberAccess", - "referencedDeclaration": 994, - "src": "3177:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32[] memory,bytes32,bytes32) pure returns (bool)" - } - }, - "id": 4302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3177:75:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e76616c6964206d65726b6c652070726f6f66", - "id": 4303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3270:22:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e", - "typeString": "literal_string \"invalid merkle proof\"" - }, - "value": "invalid merkle proof" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e", - "typeString": "literal_string \"invalid merkle proof\"" - } - ], - "id": 4287, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3169:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3169:124:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4305, - "nodeType": "ExpressionStatement", - "src": "3169:124:12" - }, - { - "expression": { - "id": 4321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4306, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4958, - "src": "3311:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5512_storage_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => struct Structs.Vote storage ref)))" - } - }, - "id": 4310, - "indexExpression": { - "id": 4307, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "3317:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3311:12:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5512_storage_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => struct Structs.Vote storage ref))" - } - }, - "id": 4311, - "indexExpression": { - "id": 4308, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "3324:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3311:26:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$5512_storage_$", - "typeString": "mapping(uint256 => struct Structs.Vote storage ref)" - } - }, - "id": 4312, - "indexExpression": { - "id": 4309, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3338:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3311:29:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_storage", - "typeString": "struct Structs.Vote storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "baseExpression": { - "id": 4315, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4186, - "src": "3356:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 4317, - "indexExpression": { - "id": 4316, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3363:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3356:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 4318, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4218, - "src": "3367:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "3367:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4313, - "name": "Structs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "3343:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Structs_$5585_$", - "typeString": "type(library Structs)" - } - }, - "id": 4314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "Vote", - "nodeType": "MemberAccess", - "referencedDeclaration": 5512, - "src": "3343:12:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Vote_$5512_storage_ptr_$", - "typeString": "type(struct Structs.Vote storage pointer)" - } - }, - "id": 4320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3343:41:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_memory_ptr", - "typeString": "struct Structs.Vote memory" - } - }, - "src": "3311:73:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_storage", - "typeString": "struct Structs.Vote storage ref" - } - }, - "id": 4322, - "nodeType": "ExpressionStatement", - "src": "3311:73:12" - }, - { - "expression": { - "id": 4345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4323, - "name": "voteWeights", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4972, - "src": "3402:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - } - }, - "id": 4329, - "indexExpression": { - "id": 4324, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "3414:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3402:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4330, - "indexExpression": { - "id": 4325, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3421:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3402:21:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4331, - "indexExpression": { - "baseExpression": { - "id": 4326, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4186, - "src": "3424:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 4328, - "indexExpression": { - "id": 4327, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3431:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3424:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3402:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4332, - "name": "voteWeights", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4972, - "src": "3437:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - } - }, - "id": 4334, - "indexExpression": { - "id": 4333, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "3449:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3437:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4336, - "indexExpression": { - "id": 4335, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3456:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3437:21:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4340, - "indexExpression": { - "baseExpression": { - "id": 4337, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4186, - "src": "3459:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 4339, - "indexExpression": { - "id": 4338, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3466:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3459:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3437:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "expression": { - "id": 4341, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4218, - "src": "3471:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "3471:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4343, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3470:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3437:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3402:86:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4346, - "nodeType": "ExpressionStatement", - "src": "3402:86:12" - }, - { - "expression": { - "id": 4361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 4347, - "name": "totalStakeRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "3506:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4350, - "indexExpression": { - "id": 4348, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "3525:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3506:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4351, - "indexExpression": { - "id": 4349, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3532:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3506:28:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 4352, - "name": "totalStakeRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "3537:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4354, - "indexExpression": { - "id": 4353, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "3556:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3537:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4356, - "indexExpression": { - "id": 4355, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3563:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3537:28:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "expression": { - "id": 4357, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4218, - "src": "3567:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "3567:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4359, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3566:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3537:47:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3506:78:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4362, - "nodeType": "ExpressionStatement", - "src": "3506:78:12" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4280, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3127:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 4281, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4186, - "src": "3131:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 4282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3131:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3127:17:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4364, - "initializationExpression": { - "assignments": [ - 4277 - ], - "declarations": [ - { - "constant": false, - "id": 4277, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 4364, - "src": "3112:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3112:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 4279, - "initialValue": { - "hexValue": "30", - "id": 4278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3124:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3112:13:12" - }, - "loopExpression": { - "expression": { - "id": 4285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3146:3:12", - "subExpression": { - "id": 4284, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4277, - "src": "3146:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4286, - "nodeType": "ExpressionStatement", - "src": "3146:3:12" - }, - "nodeType": "ForStatement", - "src": "3107:492:12" - }, - { - "expression": { - "arguments": [ - { - "id": 4368, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "3638:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4369, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "3652:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4365, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3985, - "src": "3613:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 4367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "giveRewards", - "nodeType": "MemberAccess", - "referencedDeclaration": 4745, - "src": "3613:24:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 4370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3613:45:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4371, - "nodeType": "ExpressionStatement", - "src": "3613:45:12" - }, - { - "expression": { - "id": 4378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 4372, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4949, - "src": "3673:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4375, - "indexExpression": { - "id": 4373, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "3685:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3673:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4376, - "indexExpression": { - "id": 4374, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "3692:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3673:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "307830", - "id": 4377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3708:3:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "3673:38:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4379, - "nodeType": "ExpressionStatement", - "src": "3673:38:12" - }, - { - "expression": { - "arguments": [ - { - "id": 4383, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "3765:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4384, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "3779:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4380, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3985, - "src": "3725:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4785", - "typeString": "contract IStakeManager" - } - }, - "id": 4382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStakerEpochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 4702, - "src": "3725:39:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 4385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3725:60:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4386, - "nodeType": "ExpressionStatement", - "src": "3725:60:12" - }, - { - "eventCall": { - "arguments": [ - { - "id": 4388, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "3814:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4389, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "3821:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 4390, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4218, - "src": "3835:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4391, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5518, - "src": "3835:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4392, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4186, - "src": "3853:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "expression": { - "id": 4393, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3861:5:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "3861:15: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_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4387, - "name": "Revealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4179, - "src": "3805:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256[] memory,uint256)" - } - }, - "id": 4395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3805:72:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4396, - "nodeType": "EmitStatement", - "src": "3800:77:12" - } - ] - } - } - ] - }, - "functionSelector": "125f68f1", - "id": 4429, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 4197, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4181, - "src": "2394:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4198, - "modifierName": { - "id": 4196, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4006, - "src": "2383:10:12" - }, - "nodeType": "ModifierInvocation", - "src": "2383:17:12" - } - ], - "name": "reveal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4181, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "2228:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2228:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4183, - "mutability": "mutable", - "name": "root", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "2243:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4182, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2243:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4186, - "mutability": "mutable", - "name": "values", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "2257:23:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4184, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2257:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4185, - "nodeType": "ArrayTypeName", - "src": "2257:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4190, - "mutability": "mutable", - "name": "proofs", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "2302:25:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_bytes32_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes32[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 4187, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2302:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4188, - "nodeType": "ArrayTypeName", - "src": "2302:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "id": 4189, - "nodeType": "ArrayTypeName", - "src": "2302:11:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_bytes32_$dyn_storage_$dyn_storage_ptr", - "typeString": "bytes32[][]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4192, - "mutability": "mutable", - "name": "secret", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "2329:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4191, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2329:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4194, - "mutability": "mutable", - "name": "stakerAddress", - "nodeType": "VariableDeclaration", - "scope": 4429, - "src": "2345:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2345:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2227:140:12" - }, - "returnParameters": { - "id": 4199, - "nodeType": "ParameterList", - "parameters": [], - "src": "2401:0:12" - }, - "scope": 4528, - "src": "2211:1981:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4445, - "nodeType": "Block", - "src": "4283:95:12", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "id": 4438, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4949, - "src": "4342:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4440, - "indexExpression": { - "id": 4439, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "4354:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4342:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4442, - "indexExpression": { - "id": 4441, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4433, - "src": "4361:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4342:28:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 4443, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4341:30:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 4437, - "id": 4444, - "nodeType": "Return", - "src": "4335:36:12" - } - ] - }, - "functionSelector": "7164f0d6", - "id": 4446, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getCommitment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4431, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4446, - "src": "4221:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4221:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4433, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4446, - "src": "4236:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4236:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4220:33:12" - }, - "returnParameters": { - "id": 4437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4436, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4446, - "src": "4274:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4435, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4274:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4273:9:12" - }, - "scope": 4528, - "src": "4198:180:12", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4467, - "nodeType": "Block", - "src": "4497:103:12", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4458, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4958, - "src": "4561:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5512_storage_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => struct Structs.Vote storage ref)))" - } - }, - "id": 4460, - "indexExpression": { - "id": 4459, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4448, - "src": "4567:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4561:12:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5512_storage_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => struct Structs.Vote storage ref))" - } - }, - "id": 4462, - "indexExpression": { - "id": 4461, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4450, - "src": "4574:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4561:22:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$5512_storage_$", - "typeString": "mapping(uint256 => struct Structs.Vote storage ref)" - } - }, - "id": 4464, - "indexExpression": { - "id": 4463, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4452, - "src": "4584:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4561:31:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_storage", - "typeString": "struct Structs.Vote storage ref" - } - } - ], - "id": 4465, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4560:33:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_storage", - "typeString": "struct Structs.Vote storage ref" - } - }, - "functionReturnParameters": 4457, - "id": 4466, - "nodeType": "Return", - "src": "4554:39:12" - } - ] - }, - "functionSelector": "8ce7ff4a", - "id": 4468, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4453, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4448, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4468, - "src": "4401:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4401:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4450, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4468, - "src": "4416:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4416:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4452, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4468, - "src": "4434:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4434:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4400:50:12" - }, - "returnParameters": { - "id": 4457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4456, - "mutability": "mutable", - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 4468, - "src": "4471:24:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_memory_ptr", - "typeString": "struct Structs.Vote" - }, - "typeName": { - "id": 4455, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4454, - "name": "Structs.Vote", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5512, - "src": "4471:12:12" - }, - "referencedDeclaration": 5512, - "src": "4471:12:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_storage_ptr", - "typeString": "struct Structs.Vote" - } - }, - "visibility": "internal" - } - ], - "src": "4470:26:12" - }, - "scope": 4528, - "src": "4384:216:12", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4488, - "nodeType": "Block", - "src": "4713:113:12", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4479, - "name": "voteWeights", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4972, - "src": "4780:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - } - }, - "id": 4481, - "indexExpression": { - "id": 4480, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4470, - "src": "4792:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4780:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4483, - "indexExpression": { - "id": 4482, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4472, - "src": "4799:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4780:27:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4485, - "indexExpression": { - "id": 4484, - "name": "voteValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4474, - "src": "4808:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4780:38:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4486, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4779:40:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4478, - "id": 4487, - "nodeType": "Return", - "src": "4773:46:12" - } - ] - }, - "functionSelector": "9c66556f", - "id": 4489, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVoteWeight", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4475, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4470, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4489, - "src": "4629:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4629:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4472, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4489, - "src": "4644:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4644:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4474, - "mutability": "mutable", - "name": "voteValue", - "nodeType": "VariableDeclaration", - "scope": 4489, - "src": "4661:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4661:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4628:51:12" - }, - "returnParameters": { - "id": 4478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4477, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4489, - "src": "4704:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4704:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4703:9:12" - }, - "scope": 4528, - "src": "4606:220:12", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4505, - "nodeType": "Block", - "src": "4924:100:12", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "id": 4498, - "name": "totalStakeRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4964, - "src": "4982:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4500, - "indexExpression": { - "id": 4499, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4491, - "src": "5001:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4982:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4502, - "indexExpression": { - "id": 4501, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4493, - "src": "5008:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4982:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4503, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4981:36:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4497, - "id": 4504, - "nodeType": "Return", - "src": "4975:42:12" - } - ] - }, - "functionSelector": "a6a145d9", - "id": 4506, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalStakeRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4491, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4506, - "src": "4863:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4863:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4493, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4506, - "src": "4878:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4878:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4862:32:12" - }, - "returnParameters": { - "id": 4497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4496, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4506, - "src": "4915:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4915:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4914:9:12" - }, - "scope": 4528, - "src": "4832:192:12", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4526, - "nodeType": "Block", - "src": "5141:113:12", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4517, - "name": "voteWeights", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4972, - "src": "5208:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - } - }, - "id": 4519, - "indexExpression": { - "id": 4518, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4508, - "src": "5220:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5208:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4521, - "indexExpression": { - "id": 4520, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4510, - "src": "5227:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5208:27:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4523, - "indexExpression": { - "id": 4522, - "name": "voteValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4512, - "src": "5236:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5208:38:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4524, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5207:40:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4516, - "id": 4525, - "nodeType": "Return", - "src": "5201:46:12" - } - ] - }, - "functionSelector": "f322bd7d", - "id": 4527, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalStakeRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4513, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4508, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4527, - "src": "5061:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5061:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4510, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4527, - "src": "5076:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5076:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4512, - "mutability": "mutable", - "name": "voteValue", - "nodeType": "VariableDeclaration", - "scope": 4527, - "src": "5093:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4511, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5093:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5060:51:12" - }, - "returnParameters": { - "id": 4516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4515, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4527, - "src": "5132:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5132:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5131:9:12" - }, - "scope": 4528, - "src": "5030:224:12", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 4529, - "src": "322:4934:12" - } - ], - "src": "39:5218:12" - }, - "id": 12 - }, - "contracts/Core/interface/IBlockManager.sol": { - "ast": { - "absolutePath": "contracts/Core/interface/IBlockManager.sol", - "exportedSymbols": { - "IBlockManager": [ - 4640 - ], - "Structs": [ - 5585 - ] - }, - "id": 4641, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4530, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:13" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4531, - "nodeType": "ImportDirective", - "scope": 4641, - "sourceUnit": 5586, - "src": "64:31:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4640, - "linearizedBaseContracts": [ - 4640 - ], - "name": "IBlockManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "06552ff3", - "id": 4542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4533, - "mutability": "mutable", - "name": "_stakeManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4542, - "src": "152:28:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "152:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4535, - "mutability": "mutable", - "name": "_stateManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4542, - "src": "190:28:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "190:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4537, - "mutability": "mutable", - "name": "_voteManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4542, - "src": "228:27:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4536, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "228:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4539, - "mutability": "mutable", - "name": "_jobManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4542, - "src": "265:26:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4538, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "265:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "142:155:13" - }, - "returnParameters": { - "id": 4541, - "nodeType": "ParameterList", - "parameters": [], - "src": "306:0:13" - }, - "scope": 4640, - "src": "129:178:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "17d99c04", - "id": 4563, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "propose", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4561, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4544, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4563, - "src": "970:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "970:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4547, - "mutability": "mutable", - "name": "jobIds", - "nodeType": "VariableDeclaration", - "scope": 4563, - "src": "993:23:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "993:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4546, - "nodeType": "ArrayTypeName", - "src": "993:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4550, - "mutability": "mutable", - "name": "medians", - "nodeType": "VariableDeclaration", - "scope": 4563, - "src": "1026:24:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1026:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4549, - "nodeType": "ArrayTypeName", - "src": "1026:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4553, - "mutability": "mutable", - "name": "lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 4563, - "src": "1060:29:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1060:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4552, - "nodeType": "ArrayTypeName", - "src": "1060:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4556, - "mutability": "mutable", - "name": "higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 4563, - "src": "1099:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1099:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4555, - "nodeType": "ArrayTypeName", - "src": "1099:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4558, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 4563, - "src": "1139:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4557, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1139:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4560, - "mutability": "mutable", - "name": "biggestStakerId", - "nodeType": "VariableDeclaration", - "scope": 4563, - "src": "1166:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1166:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "960:235:13" - }, - "returnParameters": { - "id": 4562, - "nodeType": "ParameterList", - "parameters": [], - "src": "1204:0:13" - }, - "scope": 4640, - "src": "944:261:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "4e6753b7", - "id": 4573, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "giveSorted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4565, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1316:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1316:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4567, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1331:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1331:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4570, - "mutability": "mutable", - "name": "sorted", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1348:25:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1348:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4569, - "nodeType": "ArrayTypeName", - "src": "1348:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1315:59:13" - }, - "returnParameters": { - "id": 4572, - "nodeType": "ParameterList", - "parameters": [], - "src": "1383:0:13" - }, - "scope": 4640, - "src": "1295:89:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "5ce8772f", - "id": 4578, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "resetDispute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4575, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4578, - "src": "1412:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1412:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1411:15:13" - }, - "returnParameters": { - "id": 4577, - "nodeType": "ParameterList", - "parameters": [], - "src": "1435:0:13" - }, - "scope": 4640, - "src": "1389:47:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "1d69ff9b", - "id": 4587, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isElectedProposer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4580, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 4587, - "src": "1478:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1478:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4582, - "mutability": "mutable", - "name": "biggestStakerId", - "nodeType": "VariableDeclaration", - "scope": 4587, - "src": "1505:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1505:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4584, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4587, - "src": "1538:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4583, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1538:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1468:92:13" - }, - "returnParameters": { - "id": 4586, - "nodeType": "ParameterList", - "parameters": [], - "src": "1569:0:13" - }, - "scope": 4640, - "src": "1442:128:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "9b87f644", - "id": 4590, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "confirmBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4588, - "nodeType": "ParameterList", - "parameters": [], - "src": "1597:2:13" - }, - "returnParameters": { - "id": 4589, - "nodeType": "ParameterList", - "parameters": [], - "src": "1608:0:13" - }, - "scope": 4640, - "src": "1576:33:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "04c07569", - "id": 4598, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4592, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4598, - "src": "1633:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4591, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1633:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1632:15:13" - }, - "returnParameters": { - "id": 4597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4596, - "mutability": "mutable", - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 4598, - "src": "1670:27:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_memory_ptr", - "typeString": "struct Structs.Block" - }, - "typeName": { - "id": 4595, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4594, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5550, - "src": "1670:13:13" - }, - "referencedDeclaration": 5550, - "src": "1670:13:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "visibility": "internal" - } - ], - "src": "1669:29:13" - }, - "scope": 4640, - "src": "1615:84:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "378ab9a9", - "id": 4606, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getBlockMedians", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4601, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4600, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4606, - "src": "1729:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4599, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1729:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1728:15:13" - }, - "returnParameters": { - "id": 4605, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4604, - "mutability": "mutable", - "name": "_blockMedians", - "nodeType": "VariableDeclaration", - "scope": 4606, - "src": "1766:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1766:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4603, - "nodeType": "ArrayTypeName", - "src": "1766:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1765:32:13" - }, - "scope": 4640, - "src": "1704:94:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "d2a4669a", - "id": 4614, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getLowerCutoffs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4608, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4614, - "src": "1829:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1829:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1828:15:13" - }, - "returnParameters": { - "id": 4613, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4612, - "mutability": "mutable", - "name": "_lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 4614, - "src": "1866:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1866:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4611, - "nodeType": "ArrayTypeName", - "src": "1866:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1865:32:13" - }, - "scope": 4640, - "src": "1804:94:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "fae4425d", - "id": 4622, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getHigherCutoffs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4622, - "src": "1939:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1939:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1929:29:13" - }, - "returnParameters": { - "id": 4621, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4620, - "mutability": "mutable", - "name": "_higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 4622, - "src": "1981:31:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1981:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4619, - "nodeType": "ArrayTypeName", - "src": "1981:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1980:33:13" - }, - "scope": 4640, - "src": "1904:110:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "d1a4a43d", - "id": 4632, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getProposedBlockMedians", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4627, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4624, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4632, - "src": "2062:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2062:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4626, - "mutability": "mutable", - "name": "proposedBlock", - "nodeType": "VariableDeclaration", - "scope": 4632, - "src": "2085:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4625, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2085:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2052:60:13" - }, - "returnParameters": { - "id": 4631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4630, - "mutability": "mutable", - "name": "_blockMedians", - "nodeType": "VariableDeclaration", - "scope": 4632, - "src": "2135:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2135:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4629, - "nodeType": "ArrayTypeName", - "src": "2135:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "2134:32:13" - }, - "scope": 4640, - "src": "2020:147:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "e38c7c42", - "id": 4639, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getNumProposedBlocks", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4635, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4639, - "src": "2203:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2203:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2202:15:13" - }, - "returnParameters": { - "id": 4638, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4637, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4639, - "src": "2240:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4636, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2240:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2239:9:13" - }, - "scope": 4640, - "src": "2173:76:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4641, - "src": "98:2153:13" - } - ], - "src": "39:2213:13" - }, - "id": 13 - }, - "contracts/Core/interface/IJobManager.sol": { - "ast": { - "absolutePath": "contracts/Core/interface/IJobManager.sol", - "exportedSymbols": { - "IJobManager": [ - 4681 - ] - }, - "id": 4682, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4642, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:14" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4681, - "linearizedBaseContracts": [ - 4681 - ], - "name": "IJobManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "25d10c3f", - "id": 4651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4649, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4644, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 4651, - "src": "113:19:14", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4643, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "113:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4646, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 4651, - "src": "134:24:14", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4645, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "134:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4648, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 4651, - "src": "160:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4647, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "160:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "112:60:14" - }, - "returnParameters": { - "id": 4650, - "nodeType": "ParameterList", - "parameters": [], - "src": "181:0:14" - }, - "scope": 4681, - "src": "93:89:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "56350bdf", - "id": 4658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "fulfillJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "jobId", - "nodeType": "VariableDeclaration", - "scope": 4658, - "src": "207:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "207:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4655, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 4658, - "src": "222:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4654, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "222:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "206:30:14" - }, - "returnParameters": { - "id": 4657, - "nodeType": "ParameterList", - "parameters": [], - "src": "245:0:14" - }, - "scope": 4681, - "src": "187:59:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "995e4339", - "id": 4665, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getResult", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4661, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4660, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 4665, - "src": "270:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "270:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "269:12:14" - }, - "returnParameters": { - "id": 4664, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4663, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4665, - "src": "304:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "304:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "303:9:14" - }, - "scope": 4681, - "src": "251:62:14", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "bf22c457", - "id": 4680, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4668, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4667, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 4680, - "src": "343:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4666, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "343:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "333:26:14" - }, - "returnParameters": { - "id": 4679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4670, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 4680, - "src": "422:17:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4669, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "422:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 4680, - "src": "453:22:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4671, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "453:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4674, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 4680, - "src": "489:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4673, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "489:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4676, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 4680, - "src": "521:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4675, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "521:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4678, - "mutability": "mutable", - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 4680, - "src": "546:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "546:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "408:162:14" - }, - "scope": 4681, - "src": "318:253:14", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4682, - "src": "64:509:14" - } - ], - "src": "39:535:14" - }, - "id": 14 - }, - "contracts/Core/interface/IStakeManager.sol": { - "ast": { - "absolutePath": "contracts/Core/interface/IStakeManager.sol", - "exportedSymbols": { - "IStakeManager": [ - 4785 - ], - "Structs": [ - 5585 - ] - }, - "id": 4786, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4683, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:15" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4684, - "nodeType": "ImportDirective", - "scope": 4786, - "sourceUnit": 5586, - "src": "64:31:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4785, - "linearizedBaseContracts": [ - 4785 - ], - "name": "IStakeManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "06552ff3", - "id": 4695, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4686, - "mutability": "mutable", - "name": "_schAddress", - "nodeType": "VariableDeclaration", - "scope": 4695, - "src": "142:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4685, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "142:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4688, - "mutability": "mutable", - "name": "_voteManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4695, - "src": "163:27:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4687, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "163:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4690, - "mutability": "mutable", - "name": "_blockManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4695, - "src": "196:28:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4689, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "196:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4692, - "mutability": "mutable", - "name": "_stateManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4695, - "src": "226:28:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "226:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "141:114:15" - }, - "returnParameters": { - "id": 4694, - "nodeType": "ParameterList", - "parameters": [], - "src": "264:0:15" - }, - "scope": 4785, - "src": "127:138:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "9864f70a", - "id": 4702, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setStakerEpochLastRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4700, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4697, - "mutability": "mutable", - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 4702, - "src": "307:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "307:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4699, - "mutability": "mutable", - "name": "_epochLastRevealed", - "nodeType": "VariableDeclaration", - "scope": 4702, - "src": "320:26:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "320:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "306:41:15" - }, - "returnParameters": { - "id": 4701, - "nodeType": "ParameterList", - "parameters": [], - "src": "356:0:15" - }, - "scope": 4785, - "src": "271:86:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "188dc83b", - "id": 4707, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "updateCommitmentEpoch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4704, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4707, - "src": "393:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "393:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "392:18:15" - }, - "returnParameters": { - "id": 4706, - "nodeType": "ParameterList", - "parameters": [], - "src": "419:0:15" - }, - "scope": 4785, - "src": "362:58:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "7b0472f0", - "id": 4714, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "stake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4709, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4714, - "src": "441:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "441:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 4714, - "src": "456:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "456:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "440:31:15" - }, - "returnParameters": { - "id": 4713, - "nodeType": "ParameterList", - "parameters": [], - "src": "480:0:15" - }, - "scope": 4785, - "src": "425:56:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "2e17de78", - "id": 4719, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "unstake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4716, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4719, - "src": "504:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "504:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "503:15:15" - }, - "returnParameters": { - "id": 4718, - "nodeType": "ParameterList", - "parameters": [], - "src": "527:0:15" - }, - "scope": 4785, - "src": "486:42:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "2e1a7d4d", - "id": 4724, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4724, - "src": "552:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "552:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "551:15:15" - }, - "returnParameters": { - "id": 4723, - "nodeType": "ParameterList", - "parameters": [], - "src": "575:0:15" - }, - "scope": 4785, - "src": "533:43:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "54eae15e", - "id": 4731, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "givePenalties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4726, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4731, - "src": "605:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4725, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "605:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4728, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4731, - "src": "623:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "623:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "604:33:15" - }, - "returnParameters": { - "id": 4730, - "nodeType": "ParameterList", - "parameters": [], - "src": "646:0:15" - }, - "scope": 4785, - "src": "581:66:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "746c8b65", - "id": 4738, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "giveBlockReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4736, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4733, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4738, - "src": "677:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "677:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4735, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4738, - "src": "695:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "695:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "676:33:15" - }, - "returnParameters": { - "id": 4737, - "nodeType": "ParameterList", - "parameters": [], - "src": "718:0:15" - }, - "scope": 4785, - "src": "652:67:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "fabb9890", - "id": 4745, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "giveRewards", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4745, - "src": "746:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "746:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4742, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4745, - "src": "764:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4741, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "764:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "745:33:15" - }, - "returnParameters": { - "id": 4744, - "nodeType": "ParameterList", - "parameters": [], - "src": "787:0:15" - }, - "scope": 4785, - "src": "724:64:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "0f91ce19", - "id": 4754, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "slash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4747, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 4754, - "src": "809:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4746, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4749, - "mutability": "mutable", - "name": "bountyHunter", - "nodeType": "VariableDeclaration", - "scope": 4754, - "src": "821:20:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "821:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4751, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4754, - "src": "843:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "843:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "808:49:15" - }, - "returnParameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [], - "src": "866:0:15" - }, - "scope": 4785, - "src": "793:74:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "6022a485", - "id": 4761, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getStakerId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4756, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 4761, - "src": "893:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "893:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "892:18:15" - }, - "returnParameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4761, - "src": "933:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "933:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "932:9:15" - }, - "scope": 4785, - "src": "872:70:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "e3c998fe", - "id": 4769, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getStaker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4763, - "mutability": "mutable", - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 4769, - "src": "966:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "966:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "965:13:15" - }, - "returnParameters": { - "id": 4768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4767, - "mutability": "mutable", - "name": "staker", - "nodeType": "VariableDeclaration", - "scope": 4769, - "src": "1001:28:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 4766, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4765, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5529, - "src": "1001:14:15" - }, - "referencedDeclaration": 5529, - "src": "1001:14:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "src": "1000:30:15" - }, - "scope": 4785, - "src": "947:84:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "bc788d46", - "id": 4774, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getNumStakers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4770, - "nodeType": "ParameterList", - "parameters": [], - "src": "1058:2:15" - }, - "returnParameters": { - "id": 4773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4772, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4774, - "src": "1083:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1083:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1082:9:15" - }, - "scope": 4785, - "src": "1036:56:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "1b8b13a7", - "id": 4779, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getRewardPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4775, - "nodeType": "ParameterList", - "parameters": [], - "src": "1119:2:15" - }, - "returnParameters": { - "id": 4778, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4777, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4779, - "src": "1144:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1144:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1143:9:15" - }, - "scope": 4785, - "src": "1097:56:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "1ad54991", - "id": 4784, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getStakeGettingReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4780, - "nodeType": "ParameterList", - "parameters": [], - "src": "1188:2:15" - }, - "returnParameters": { - "id": 4783, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4782, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4784, - "src": "1213:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1213:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1212:9:15" - }, - "scope": 4785, - "src": "1158:64:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4786, - "src": "97:1128:15" - } - ], - "src": "39:1187:15" - }, - "id": 15 - }, - "contracts/Core/interface/IStateManager.sol": { - "ast": { - "absolutePath": "contracts/Core/interface/IStateManager.sol", - "exportedSymbols": { - "IStateManager": [ - 4798 - ] - }, - "id": 4799, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4787, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:16" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4798, - "linearizedBaseContracts": [ - 4798 - ], - "name": "IStateManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "757991a8", - "id": 4792, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getEpoch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [], - "src": "112:2:16" - }, - "returnParameters": { - "id": 4791, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4790, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4792, - "src": "137:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "137:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "136:9:16" - }, - "scope": 4798, - "src": "94:52:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "1865c57d", - "id": 4797, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getState", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4793, - "nodeType": "ParameterList", - "parameters": [], - "src": "170:2:16" - }, - "returnParameters": { - "id": 4796, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4795, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4797, - "src": "195:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "195:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "194:9:16" - }, - "scope": 4798, - "src": "152:52:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4799, - "src": "64:142:16" - } - ], - "src": "39:168:16" - }, - "id": 16 - }, - "contracts/Core/interface/IVoteManager.sol": { - "ast": { - "absolutePath": "contracts/Core/interface/IVoteManager.sol", - "exportedSymbols": { - "IVoteManager": [ - 4886 - ], - "Structs": [ - 5585 - ] - }, - "id": 4887, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4800, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:17" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4801, - "nodeType": "ImportDirective", - "scope": 4887, - "sourceUnit": 5586, - "src": "64:31:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4886, - "linearizedBaseContracts": [ - 4886 - ], - "name": "IVoteManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "f09a4016", - "id": 4808, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "init", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4806, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4803, - "mutability": "mutable", - "name": "_stakeManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4808, - "src": "142:28:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "142:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4805, - "mutability": "mutable", - "name": "_blockManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4808, - "src": "172:28:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "172:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "141:60:17" - }, - "returnParameters": { - "id": 4807, - "nodeType": "ParameterList", - "parameters": [], - "src": "210:0:17" - }, - "scope": 4886, - "src": "128:83:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "f2f03877", - "id": 4815, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "commit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4813, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4810, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4815, - "src": "233:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "233:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4812, - "mutability": "mutable", - "name": "commitment", - "nodeType": "VariableDeclaration", - "scope": 4815, - "src": "248:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4811, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "248:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "232:35:17" - }, - "returnParameters": { - "id": 4814, - "nodeType": "ParameterList", - "parameters": [], - "src": "276:0:17" - }, - "scope": 4886, - "src": "217:60:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "125f68f1", - "id": 4833, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "reveal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4817, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4833, - "src": "308:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "308:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4819, - "mutability": "mutable", - "name": "root", - "nodeType": "VariableDeclaration", - "scope": 4833, - "src": "331:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4818, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "331:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4822, - "mutability": "mutable", - "name": "values", - "nodeType": "VariableDeclaration", - "scope": 4833, - "src": "353:25:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "353:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4821, - "nodeType": "ArrayTypeName", - "src": "353:9:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4826, - "mutability": "mutable", - "name": "proofs", - "nodeType": "VariableDeclaration", - "scope": 4833, - "src": "388:27:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_bytes32_$dyn_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes32[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 4823, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "388:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4824, - "nodeType": "ArrayTypeName", - "src": "388:9:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "id": 4825, - "nodeType": "ArrayTypeName", - "src": "388:11:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_bytes32_$dyn_storage_$dyn_storage_ptr", - "typeString": "bytes32[][]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4828, - "mutability": "mutable", - "name": "secret", - "nodeType": "VariableDeclaration", - "scope": 4833, - "src": "425:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4827, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "425:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4830, - "mutability": "mutable", - "name": "stakerAddress", - "nodeType": "VariableDeclaration", - "scope": 4833, - "src": "449:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4829, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "449:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "298:178:17" - }, - "returnParameters": { - "id": 4832, - "nodeType": "ParameterList", - "parameters": [], - "src": "485:0:17" - }, - "scope": 4886, - "src": "283:203:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "7164f0d6", - "id": 4842, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getCommitment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4835, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "515:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "515:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4837, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "530:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "530:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "514:33:17" - }, - "returnParameters": { - "id": 4841, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4840, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "570:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4839, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "570:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "569:9:17" - }, - "scope": 4886, - "src": "492:87:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "8ce7ff4a", - "id": 4854, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4844, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4854, - "src": "611:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "611:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4846, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4854, - "src": "634:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4845, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "634:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4854, - "src": "660:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "660:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "601:80:17" - }, - "returnParameters": { - "id": 4853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4852, - "mutability": "mutable", - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 4854, - "src": "704:24:17", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_memory_ptr", - "typeString": "struct Structs.Vote" - }, - "typeName": { - "id": 4851, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4850, - "name": "Structs.Vote", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5512, - "src": "704:12:17" - }, - "referencedDeclaration": 5512, - "src": "704:12:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_storage_ptr", - "typeString": "struct Structs.Vote" - } - }, - "visibility": "internal" - } - ], - "src": "703:26:17" - }, - "scope": 4886, - "src": "585:145:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "9c66556f", - "id": 4865, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getVoteWeight", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4856, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4865, - "src": "759:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4855, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "759:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4858, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4865, - "src": "774:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4857, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "774:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4860, - "mutability": "mutable", - "name": "voteValue", - "nodeType": "VariableDeclaration", - "scope": 4865, - "src": "791:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4859, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "758:51:17" - }, - "returnParameters": { - "id": 4864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4863, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4865, - "src": "836:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "836:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "835:9:17" - }, - "scope": 4886, - "src": "736:109:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "a6a145d9", - "id": 4874, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getTotalStakeRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4867, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4874, - "src": "882:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4866, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "882:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4874, - "src": "897:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "897:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "881:32:17" - }, - "returnParameters": { - "id": 4873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4872, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4874, - "src": "936:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "936:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "935:9:17" - }, - "scope": 4886, - "src": "851:94:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "f322bd7d", - "id": 4885, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getTotalStakeRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4876, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4885, - "src": "991:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "991:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4878, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4885, - "src": "1014:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4877, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1014:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "voteValue", - "nodeType": "VariableDeclaration", - "scope": 4885, - "src": "1039:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1039:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "981:81:17" - }, - "returnParameters": { - "id": 4884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4883, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4885, - "src": "1085:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1085:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1084:9:17" - }, - "scope": 4886, - "src": "951:143:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4887, - "src": "98:998:17" - } - ], - "src": "39:1058:17" - }, - "id": 17 - }, - "contracts/Core/storage/BlockStorage.sol": { - "ast": { - "absolutePath": "contracts/Core/storage/BlockStorage.sol", - "exportedSymbols": { - "BlockStorage": [ - 4908 - ], - "Structs": [ - 5585 - ] - }, - "id": 4909, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4888, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:18" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4889, - "nodeType": "ImportDirective", - "scope": 4909, - "sourceUnit": 5586, - "src": "64:31:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4908, - "linearizedBaseContracts": [ - 4908 - ], - "name": "BlockStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "828496d6", - "id": 4896, - "mutability": "mutable", - "name": "disputes", - "nodeType": "VariableDeclaration", - "scope": 4908, - "src": "171:73:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute))" - }, - "typeName": { - "id": 4895, - "keyType": { - "id": 4890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "180:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "171:57:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute))" - }, - "valueType": { - "id": 4894, - "keyType": { - "id": 4891, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "200:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "191:36:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5563_storage_$", - "typeString": "mapping(address => struct Structs.Dispute)" - }, - "valueType": { - "id": 4893, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4892, - "name": "Structs.Dispute", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5563, - "src": "211:15:18" - }, - "referencedDeclaration": 5563, - "src": "211:15:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5563_storage_ptr", - "typeString": "struct Structs.Dispute" - } - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "92b48411", - "id": 4902, - "mutability": "mutable", - "name": "proposedBlocks", - "nodeType": "VariableDeclaration", - "scope": 4908, - "src": "289:58:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block[])" - }, - "typeName": { - "id": 4901, - "keyType": { - "id": 4897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "298:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "289:36:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5550_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block[])" - }, - "valueType": { - "baseType": { - "id": 4899, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4898, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5550, - "src": "309:13:18" - }, - "referencedDeclaration": 5550, - "src": "309:13:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "id": 4900, - "nodeType": "ArrayTypeName", - "src": "309:15:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5550_storage_$dyn_storage_ptr", - "typeString": "struct Structs.Block[]" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f25b3f99", - "id": 4907, - "mutability": "mutable", - "name": "blocks", - "nodeType": "VariableDeclaration", - "scope": 4908, - "src": "353:48:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5550_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block)" - }, - "typeName": { - "id": 4906, - "keyType": { - "id": 4903, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "362:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "353:34:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5550_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block)" - }, - "valueType": { - "id": 4905, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4904, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5550, - "src": "373:13:18" - }, - "referencedDeclaration": 5550, - "src": "373:13:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5550_storage_ptr", - "typeString": "struct Structs.Block" - } - } - }, - "visibility": "public" - } - ], - "scope": 4909, - "src": "98:306:18" - } - ], - "src": "39:366:18" - }, - "id": 18 - }, - "contracts/Core/storage/JobStorage.sol": { - "ast": { - "absolutePath": "contracts/Core/storage/JobStorage.sol", - "exportedSymbols": { - "JobStorage": [ - 4919 - ], - "Structs": [ - 5585 - ] - }, - "id": 4920, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4910, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:19" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4911, - "nodeType": "ImportDirective", - "scope": 4920, - "sourceUnit": 5586, - "src": "64:31:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4919, - "linearizedBaseContracts": [ - 4919 - ], - "name": "JobStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9212051c", - "id": 4913, - "mutability": "mutable", - "name": "numJobs", - "nodeType": "VariableDeclaration", - "scope": 4919, - "src": "124:22:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "124:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "180aedf3", - "id": 4918, - "mutability": "mutable", - "name": "jobs", - "nodeType": "VariableDeclaration", - "scope": 4919, - "src": "152:44:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5584_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job)" - }, - "typeName": { - "id": 4917, - "keyType": { - "id": 4914, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "161:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "152:32:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5584_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job)" - }, - "valueType": { - "id": 4916, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4915, - "name": "Structs.Job", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5584, - "src": "172:11:19" - }, - "referencedDeclaration": 5584, - "src": "172:11:19", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5584_storage_ptr", - "typeString": "struct Structs.Job" - } - } - }, - "visibility": "public" - } - ], - "scope": 4920, - "src": "98:101:19" - } - ], - "src": "39:161:19" - }, - "id": 19 - }, - "contracts/Core/storage/StakeStorage.sol": { - "ast": { - "absolutePath": "contracts/Core/storage/StakeStorage.sol", - "exportedSymbols": { - "StakeStorage": [ - 4940 - ], - "Structs": [ - 5585 - ] - }, - "id": 4941, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4921, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:20" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4922, - "nodeType": "ImportDirective", - "scope": 4941, - "sourceUnit": 5586, - "src": "64:31:20", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4940, - "linearizedBaseContracts": [ - 4940 - ], - "name": "StakeStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "0ac168a1", - "id": 4924, - "mutability": "mutable", - "name": "blockReward", - "nodeType": "VariableDeclaration", - "scope": 4940, - "src": "126:26:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "126:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6c8b052a", - "id": 4926, - "mutability": "mutable", - "name": "numStakers", - "nodeType": "VariableDeclaration", - "scope": 4940, - "src": "158:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "158:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "66666aa9", - "id": 4928, - "mutability": "mutable", - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 4940, - "src": "189:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4927, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "189:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0ec88d3f", - "id": 4930, - "mutability": "mutable", - "name": "stakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 4940, - "src": "220:33:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "220:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c8ae0d7d", - "id": 4934, - "mutability": "mutable", - "name": "stakerIds", - "nodeType": "VariableDeclaration", - "scope": 4940, - "src": "260:45:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4933, - "keyType": { - "id": 4931, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "269:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "260:28:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 4932, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "280:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "fd5e6dd1", - "id": 4939, - "mutability": "mutable", - "name": "stakers", - "nodeType": "VariableDeclaration", - "scope": 4940, - "src": "311:50:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker)" - }, - "typeName": { - "id": 4938, - "keyType": { - "id": 4935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "320:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "311:35:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5529_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker)" - }, - "valueType": { - "id": 4937, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4936, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5529, - "src": "331:14:20" - }, - "referencedDeclaration": 5529, - "src": "331:14:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5529_storage_ptr", - "typeString": "struct Structs.Staker" - } - } - }, - "visibility": "public" - } - ], - "scope": 4941, - "src": "97:267:20" - } - ], - "src": "39:326:20" - }, - "id": 20 - }, - "contracts/Core/storage/VoteStorage.sol": { - "ast": { - "absolutePath": "contracts/Core/storage/VoteStorage.sol", - "exportedSymbols": { - "Structs": [ - 5585 - ], - "VoteStorage": [ - 4973 - ] - }, - "id": 4974, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4942, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:21" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4943, - "nodeType": "ImportDirective", - "scope": 4974, - "sourceUnit": 5586, - "src": "64:31:21", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4973, - "linearizedBaseContracts": [ - 4973 - ], - "name": "VoteStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "d13e2e60", - "id": 4949, - "mutability": "mutable", - "name": "commitments", - "nodeType": "VariableDeclaration", - "scope": 4973, - "src": "163:68:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - }, - "typeName": { - "id": 4948, - "keyType": { - "id": 4944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "172:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "163:49:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - }, - "valueType": { - "id": 4947, - "keyType": { - "id": 4945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "192:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "183:28:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - }, - "valueType": { - "id": 4946, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "203:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "283e2905", - "id": 4958, - "mutability": "mutable", - "name": "votes", - "nodeType": "VariableDeclaration", - "scope": 4973, - "src": "280:89:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5512_storage_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => struct Structs.Vote)))" - }, - "typeName": { - "id": 4957, - "keyType": { - "id": 4950, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "289:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "280:76:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5512_storage_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => struct Structs.Vote)))" - }, - "valueType": { - "id": 4956, - "keyType": { - "id": 4951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "300:55:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5512_storage_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => struct Structs.Vote))" - }, - "valueType": { - "id": 4955, - "keyType": { - "id": 4952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "321:33:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$5512_storage_$", - "typeString": "mapping(uint256 => struct Structs.Vote)" - }, - "valueType": { - "id": 4954, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4953, - "name": "Structs.Vote", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5512, - "src": "341:12:21" - }, - "referencedDeclaration": 5512, - "src": "341:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5512_storage_ptr", - "typeString": "struct Structs.Vote" - } - } - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8a757ecc", - "id": 4964, - "mutability": "mutable", - "name": "totalStakeRevealed", - "nodeType": "VariableDeclaration", - "scope": 4973, - "src": "412:76:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 4963, - "keyType": { - "id": 4959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "421:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "412:50:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 4962, - "keyType": { - "id": 4960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "442:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "433:28:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 4961, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "453:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8fd5ff00", - "id": 4972, - "mutability": "mutable", - "name": "voteWeights", - "nodeType": "VariableDeclaration", - "scope": 4973, - "src": "540:90:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - }, - "typeName": { - "id": 4971, - "keyType": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "549:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "540:71:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - }, - "valueType": { - "id": 4970, - "keyType": { - "id": 4966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "569:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "560:50:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 4969, - "keyType": { - "id": 4967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "590:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "581:28:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - } - }, - "visibility": "public" - } - ], - "scope": 4974, - "src": "98:535:21" - } - ], - "src": "39:595:21" - }, - "id": 21 - }, - "contracts/Delegator.sol": { - "ast": { - "absolutePath": "contracts/Delegator.sol", - "exportedSymbols": { - "Delegator": [ - 5044 - ], - "IJobManager": [ - 4681 - ] - }, - "id": 5045, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4975, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:22" - }, - { - "absolutePath": "contracts/Core/interface/IJobManager.sol", - "file": "./Core/interface/IJobManager.sol", - "id": 4976, - "nodeType": "ImportDirective", - "scope": 5045, - "sourceUnit": 4682, - "src": "65:42:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 5044, - "linearizedBaseContracts": [ - 5044 - ], - "name": "Delegator", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "c89e4361", - "id": 4978, - "mutability": "mutable", - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 5044, - "src": "136:23:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "136:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 4982, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 5044, - "src": "165:33:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4979, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "165:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "expression": { - "id": 4980, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "188:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "188:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3df395a3", - "id": 4985, - "mutability": "mutable", - "name": "jobManager", - "nodeType": "VariableDeclaration", - "scope": 5044, - "src": "204:29:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - }, - "typeName": { - "id": 4984, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4983, - "name": "IJobManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4681, - "src": "204:11:22" - }, - "referencedDeclaration": 4681, - "src": "204:11:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 5005, - "nodeType": "Block", - "src": "495:45:22", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 5002, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4987, - "src": "530:2:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 5000, - "name": "jobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "512:10:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "id": 5001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getJob", - "nodeType": "MemberAccess", - "referencedDeclaration": 4680, - "src": "512:17:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_uint256_$", - "typeString": "function (uint256) view external returns (string memory,string memory,string memory,bool,uint256)" - } - }, - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "512:21:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_uint256_$", - "typeString": "tuple(string memory,string memory,string memory,bool,uint256)" - } - }, - "functionReturnParameters": 4999, - "id": 5004, - "nodeType": "Return", - "src": "505:28:22" - } - ] - }, - "functionSelector": "bf22c457", - "id": 5006, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4988, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4987, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 5006, - "src": "265:10:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4986, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "265:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "255:26:22" - }, - "returnParameters": { - "id": 4999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4990, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 5006, - "src": "342:17:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4989, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "342:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4992, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 5006, - "src": "373:22:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4991, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "373:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4994, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 5006, - "src": "409:18:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4993, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "409:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4996, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 5006, - "src": "441:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4995, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "441:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4998, - "mutability": "mutable", - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 5006, - "src": "466:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4997, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "466:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "328:162:22" - }, - "scope": 5044, - "src": "240:300:22", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5029, - "nodeType": "Block", - "src": "606:165:22", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 5012, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "624:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "624:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5014, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4982, - "src": "638:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "624:19:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "63616c6c6572206973206e6f7420746865206f776e6572", - "id": 5016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "645:25:22", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4", - "typeString": "literal_string \"caller is not the owner\"" - }, - "value": "caller is not the owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4", - "typeString": "literal_string \"caller is not the owner\"" - } - ], - "id": 5011, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "616:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "616:55:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5018, - "nodeType": "ExpressionStatement", - "src": "616:55:22" - }, - { - "expression": { - "id": 5021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5019, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4978, - "src": "681:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 5020, - "name": "newDelegateAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5008, - "src": "692:18:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "681:29:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5022, - "nodeType": "ExpressionStatement", - "src": "681:29:22" - }, - { - "expression": { - "id": 5027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5023, - "name": "jobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "720:10:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5025, - "name": "newDelegateAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5008, - "src": "745:18:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5024, - "name": "IJobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4681, - "src": "733:11:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IJobManager_$4681_$", - "typeString": "type(contract IJobManager)" - } - }, - "id": 5026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "733:31:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "src": "720:44:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "id": 5028, - "nodeType": "ExpressionStatement", - "src": "720:44:22" - } - ] - }, - "functionSelector": "2da4e75c", - "id": 5030, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "upgradeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5009, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5008, - "mutability": "mutable", - "name": "newDelegateAddress", - "nodeType": "VariableDeclaration", - "scope": 5030, - "src": "571:26:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "571:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "570:28:22" - }, - "returnParameters": { - "id": 5010, - "nodeType": "ParameterList", - "parameters": [], - "src": "606:0:22" - }, - "scope": 5044, - "src": "546:225:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5042, - "nodeType": "Block", - "src": "837:48:22", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 5039, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5032, - "src": "875:2:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 5037, - "name": "jobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "854:10:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4681", - "typeString": "contract IJobManager" - } - }, - "id": 5038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getResult", - "nodeType": "MemberAccess", - "referencedDeclaration": 4665, - "src": "854:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 5040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "854:24:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5036, - "id": 5041, - "nodeType": "Return", - "src": "847:31:22" - } - ] - }, - "functionSelector": "995e4339", - "id": 5043, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getResult", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5033, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5032, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 5043, - "src": "796:10:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5031, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "796:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "795:12:22" - }, - "returnParameters": { - "id": 5036, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5035, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5043, - "src": "828:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "828:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "827:9:22" - }, - "scope": 5044, - "src": "777:108:22", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 5045, - "src": "110:777:22" - } - ], - "src": "39:849:22" - }, - "id": 22 - }, - "contracts/Faucet.sol": { - "ast": { - "absolutePath": "contracts/Faucet.sol", - "exportedSymbols": { - "Context": [ - 924 - ], - "ERC20": [ - 823 - ], - "Faucet": [ - 5113 - ], - "IERC20": [ - 901 - ] - }, - "id": 5114, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5046, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:23" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 5047, - "nodeType": "ImportDirective", - "scope": 5114, - "sourceUnit": 824, - "src": "63:55:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 5113, - "linearizedBaseContracts": [ - 5113 - ], - "name": "Faucet", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "fc0c546a", - "id": 5050, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 5113, - "src": "144:18:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - }, - "typeName": { - "id": 5049, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 5048, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 823, - "src": "144:5:23" - }, - "referencedDeclaration": 823, - "src": "144:5:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eecf0b4f", - "id": 5054, - "mutability": "mutable", - "name": "requested", - "nodeType": "VariableDeclaration", - "scope": 5113, - "src": "168:41:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 5053, - "keyType": { - "id": 5051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "176:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "168:24:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 5052, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "187:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "public" - }, - { - "anonymous": false, - "id": 5060, - "name": "Donate", - "nodeType": "EventDefinition", - "parameters": { - "id": 5059, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5056, - "indexed": false, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 5060, - "src": "233:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5055, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "233:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5058, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 5060, - "src": "251:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5057, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "251:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "232:33:23" - }, - "src": "220:46:23" - }, - { - "body": { - "id": 5071, - "nodeType": "Block", - "src": "306:45:23", - "statements": [ - { - "expression": { - "id": 5069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5065, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5050, - "src": "316:5:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5067, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5062, - "src": "331:12:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5066, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "325:5:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$823_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 5068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "325:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - } - }, - "src": "316:28:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - } - }, - "id": 5070, - "nodeType": "ExpressionStatement", - "src": "316:28:23" - } - ] - }, - "id": 5072, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5062, - "mutability": "mutable", - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 5072, - "src": "284:20:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5061, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "284:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "283:22:23" - }, - "returnParameters": { - "id": 5064, - "nodeType": "ParameterList", - "parameters": [], - "src": "306:0:23" - }, - "scope": 5113, - "src": "272:79:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5111, - "nodeType": "Block", - "src": "486:243:23", - "statements": [ - { - "condition": { - "id": 5080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "500:20:23", - "subExpression": { - "baseExpression": { - "id": 5077, - "name": "requested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5054, - "src": "501:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 5079, - "indexExpression": { - "id": 5078, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5074, - "src": "511:8:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "501:19:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5110, - "nodeType": "IfStatement", - "src": "496:227:23", - "trueBody": { - "id": 5109, - "nodeType": "Block", - "src": "522:201:23", - "statements": [ - { - "expression": { - "id": 5085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 5081, - "name": "requested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5054, - "src": "536:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 5083, - "indexExpression": { - "id": 5082, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5074, - "src": "546:8:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "536:19:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 5084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "558:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "536:26:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5086, - "nodeType": "ExpressionStatement", - "src": "536:26:23" - }, - { - "expression": { - "arguments": [ - { - "id": 5090, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5074, - "src": "628:8:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - }, - "id": 5096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130303030", - "id": 5091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "638:5:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 5094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 5092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "647:2:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3138", - "id": 5093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "653:2:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "647:8:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - } - ], - "id": 5095, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "646:10:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "638:18:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - } - ], - "expression": { - "id": 5087, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5050, - "src": "613:5:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - } - }, - "id": 5089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 436, - "src": "613:14:23", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 5097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "613:44:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5098, - "nodeType": "ExpressionStatement", - "src": "613:44:23" - }, - { - "eventCall": { - "arguments": [ - { - "id": 5100, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5074, - "src": "683:8:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130303030", - "id": 5101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "693:5:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 5102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "702:2:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3138", - "id": 5103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "708:2:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "702:8:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - } - ], - "id": 5105, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "701:10:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "693:18:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - } - ], - "id": 5099, - "name": "Donate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5060, - "src": "676:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 5107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "676:36:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5108, - "nodeType": "EmitStatement", - "src": "671:41:23" - } - ] - } - } - ] - }, - "functionSelector": "b86d1d63", - "id": 5112, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "faucet", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5074, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 5112, - "src": "459:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "459:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "458:18:23" - }, - "returnParameters": { - "id": 5076, - "nodeType": "ParameterList", - "parameters": [], - "src": "486:0:23" - }, - "scope": 5113, - "src": "443:286:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5114, - "src": "121:610:23" - } - ], - "src": "39:692:23" - }, - "id": 23 - }, - "contracts/SchellingCoin.sol": { - "ast": { - "absolutePath": "contracts/SchellingCoin.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "Constants": [ - 5385 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "ERC20": [ - 823 - ], - "IAccessControl": [ - 42 - ], - "IERC165": [ - 1031 - ], - "IERC20": [ - 901 - ], - "SchellingCoin": [ - 5212 - ] - }, - "id": 5213, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5115, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:24" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 5116, - "nodeType": "ImportDirective", - "scope": 5213, - "sourceUnit": 824, - "src": "64:55:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/ACL.sol", - "file": "./Core/ACL.sol", - "id": 5117, - "nodeType": "ImportDirective", - "scope": 5213, - "sourceUnit": 1064, - "src": "120:24:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 5119, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 823, - "src": "405:5:24" - }, - "id": 5120, - "nodeType": "InheritanceSpecifier", - "src": "405:5:24" - }, - { - "baseName": { - "id": 5121, - "name": "ACL", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1063, - "src": "412:3:24" - }, - "id": 5122, - "nodeType": "InheritanceSpecifier", - "src": "412:3:24" - } - ], - "contractDependencies": [ - 42, - 322, - 823, - 901, - 924, - 1019, - 1031, - 1063 - ], - "contractKind": "contract", - "documentation": { - "id": 5118, - "nodeType": "StructuredDocumentation", - "src": "146:231:24", - "text": " @title SchellingCoin\n @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator.\n Note they can later distribute these tokens as they wish using `transfer` and other\n `ERC20` functions." - }, - "fullyImplemented": true, - "id": 5212, - "linearizedBaseContracts": [ - 5212, - 1063, - 322, - 1019, - 1031, - 42, - 823, - 901, - 924 - ], - "name": "SchellingCoin", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "functionSelector": "2e0f2625", - "id": 5125, - "mutability": "constant", - "name": "DECIMALS", - "nodeType": "VariableDeclaration", - "scope": 5212, - "src": "423:37:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "423:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3138", - "id": 5124, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "458:2:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "2ff2e9dc", - "id": 5136, - "mutability": "constant", - "name": "INITIAL_SUPPLY", - "nodeType": "VariableDeclaration", - "scope": 5212, - "src": "515:79:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "515:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5135, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31303030303030303030", - "id": 5127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "556:10:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000_by_1", - "typeString": "int_const 1000000000" - }, - "value": "1000000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 5128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "570:2:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "arguments": [ - { - "id": 5131, - "name": "DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5125, - "src": "584:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "576:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "576:7:24", - "typeDescriptions": {} - } - }, - "id": 5132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "576:17:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "570:23:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5134, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "569:25:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "556:38:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "d5391393", - "id": 5141, - "mutability": "constant", - "name": "MINTER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 5212, - "src": "600:62:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5137, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "600:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "4d494e5445525f524f4c45", - "id": 5139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "648:13:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", - "typeString": "literal_string \"MINTER_ROLE\"" - }, - "value": "MINTER_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", - "typeString": "literal_string \"MINTER_ROLE\"" - } - ], - "id": 5138, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "638:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "638:24:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 5162, - "nodeType": "Block", - "src": "818:90:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 5152, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "834:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "834:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 5154, - "name": "INITIAL_SUPPLY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5136, - "src": "846:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5151, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 704, - "src": "828:5:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 5155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "828:33:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5156, - "nodeType": "ExpressionStatement", - "src": "828:33:24" - }, - { - "expression": { - "arguments": [ - { - "id": 5158, - "name": "MINTER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "881:11:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 5159, - "name": "minter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5144, - "src": "894:6:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5157, - "name": "grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 173, - "src": "871:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 5160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "871:30:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5161, - "nodeType": "ExpressionStatement", - "src": "871:30:24" - } - ] - }, - "documentation": { - "id": 5142, - "nodeType": "StructuredDocumentation", - "src": "673:81:24", - "text": " @dev Constructor that gives msg.sender all of existing tokens." - }, - "id": 5163, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "536368656c6c696e67436f696e", - "id": 5147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "794:15:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e013b9782208c9bf77726b04ca31b6a44ef7108f6fc0be4e0e910181ee5cd553", - "typeString": "literal_string \"SchellingCoin\"" - }, - "value": "SchellingCoin" - }, - { - "hexValue": "534348", - "id": 5148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "811:5:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cad92319e15c7506e5e25b40acafa58c792447e5f06cbc5b5cf9318ad791c99a", - "typeString": "literal_string \"SCH\"" - }, - "value": "SCH" - } - ], - "id": 5149, - "modifierName": { - "id": 5146, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 823, - "src": "788:5:24" - }, - "nodeType": "ModifierInvocation", - "src": "788:29:24" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5144, - "mutability": "mutable", - "name": "minter", - "nodeType": "VariableDeclaration", - "scope": 5163, - "src": "772:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "772:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "771:16:24" - }, - "returnParameters": { - "id": 5150, - "nodeType": "ParameterList", - "parameters": [], - "src": "818:0:24" - }, - "scope": 5212, - "src": "759:149:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5173, - "nodeType": "Block", - "src": "963:48:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 5169, - "name": "MINTER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "983:11:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 5170, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5165, - "src": "996:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5168, - "name": "grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 173, - "src": "973:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 5171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "973:31:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5172, - "nodeType": "ExpressionStatement", - "src": "973:31:24" - } - ] - }, - "functionSelector": "983b2d56", - "id": 5174, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5165, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 5174, - "src": "937:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5164, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "937:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "936:17:24" - }, - "returnParameters": { - "id": 5167, - "nodeType": "ParameterList", - "parameters": [], - "src": "963:0:24" - }, - "scope": 5212, - "src": "918:93:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5184, - "nodeType": "Block", - "src": "1065:49:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 5180, - "name": "MINTER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "1086:11:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 5181, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5176, - "src": "1099:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5179, - "name": "revokeRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 199, - "src": "1075:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 5182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1075:32:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5183, - "nodeType": "ExpressionStatement", - "src": "1075:32:24" - } - ] - }, - "functionSelector": "3092afd5", - "id": 5185, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5176, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 5185, - "src": "1039:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5175, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1039:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1038:17:24" - }, - "returnParameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [], - "src": "1065:0:24" - }, - "scope": 5212, - "src": "1017:97:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5210, - "nodeType": "Block", - "src": "1191:137:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 5196, - "name": "MINTER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "1217:11:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 5197, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1230:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1230:10:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5195, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "1209:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 5199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1209:32:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "43616c6c6572206973206e6f742061206d696e746572", - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1243:24:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf", - "typeString": "literal_string \"Caller is not a minter\"" - }, - "value": "Caller is not a minter" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf", - "typeString": "literal_string \"Caller is not a minter\"" - } - ], - "id": 5194, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1201:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1201:67:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5202, - "nodeType": "ExpressionStatement", - "src": "1201:67:24" - }, - { - "expression": { - "arguments": [ - { - "id": 5204, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5187, - "src": "1284:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 5205, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "1293:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5203, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 704, - "src": "1278:5:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1278:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5207, - "nodeType": "ExpressionStatement", - "src": "1278:22:24" - }, - { - "expression": { - "hexValue": "74727565", - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1317:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5193, - "id": 5209, - "nodeType": "Return", - "src": "1310:11:24" - } - ] - }, - "functionSelector": "40c10f19", - "id": 5211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5187, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 5211, - "src": "1134:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1134:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5189, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 5211, - "src": "1151:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1151:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1133:33:24" - }, - "returnParameters": { - "id": 5193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5192, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5211, - "src": "1185:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5191, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1185:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1184:6:24" - }, - "scope": 5212, - "src": "1120:208:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5213, - "src": "379:951:24" - } - ], - "src": "39:1292:24" - }, - "id": 24 - }, - "contracts/lib/Constants.sol": { - "ast": { - "absolutePath": "contracts/lib/Constants.sol", - "exportedSymbols": { - "Constants": [ - 5385 - ] - }, - "id": 5386, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5214, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:25" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 5385, - "linearizedBaseContracts": [ - 5385 - ], - "name": "Constants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5222, - "nodeType": "Block", - "src": "134:13:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "30", - "id": 5219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "143:1:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 5220, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "142:3:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - }, - "functionReturnParameters": 5218, - "id": 5221, - "nodeType": "Return", - "src": "136:9:25" - } - ] - }, - "functionSelector": "3c7a3aff", - "id": 5223, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "commit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5215, - "nodeType": "ParameterList", - "parameters": [], - "src": "104:2:25" - }, - "returnParameters": { - "id": 5218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5217, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5223, - "src": "127:5:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5216, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "127:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "126:7:25" - }, - "scope": 5385, - "src": "89:58:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5231, - "nodeType": "Block", - "src": "197:13:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "31", - "id": 5228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "206:1:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 5229, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "205:3:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "functionReturnParameters": 5227, - "id": 5230, - "nodeType": "Return", - "src": "199:9:25" - } - ] - }, - "functionSelector": "a475b5dd", - "id": 5232, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "reveal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5224, - "nodeType": "ParameterList", - "parameters": [], - "src": "167:2:25" - }, - "returnParameters": { - "id": 5227, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5226, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5232, - "src": "190:5:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5225, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "190:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "189:7:25" - }, - "scope": 5385, - "src": "152:58:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5240, - "nodeType": "Block", - "src": "261:13:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "32", - "id": 5237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "270:1:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "id": 5238, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "269:3:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - }, - "functionReturnParameters": 5236, - "id": 5239, - "nodeType": "Return", - "src": "263:9:25" - } - ] - }, - "functionSelector": "c198f8ba", - "id": 5241, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "propose", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5233, - "nodeType": "ParameterList", - "parameters": [], - "src": "231:2:25" - }, - "returnParameters": { - "id": 5236, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5235, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5241, - "src": "254:5:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5234, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "254:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "253:7:25" - }, - "scope": 5385, - "src": "215:59:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5249, - "nodeType": "Block", - "src": "325:13:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "33", - "id": 5246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "334:1:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "id": 5247, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "333:3:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - }, - "functionReturnParameters": 5245, - "id": 5248, - "nodeType": "Return", - "src": "327:9:25" - } - ] - }, - "functionSelector": "f240f7c3", - "id": 5250, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "dispute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5242, - "nodeType": "ParameterList", - "parameters": [], - "src": "295:2:25" - }, - "returnParameters": { - "id": 5245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5244, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5250, - "src": "318:5:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5243, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "318:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "317:7:25" - }, - "scope": 5385, - "src": "279:59:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5258, - "nodeType": "Block", - "src": "446:14:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "31", - "id": 5255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "456:1:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 5256, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "455:3:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "functionReturnParameters": 5254, - "id": 5257, - "nodeType": "Return", - "src": "448:10:25" - } - ] - }, - "functionSelector": "a86f5a3f", - "id": 5259, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "penaltyNotRevealNum", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5251, - "nodeType": "ParameterList", - "parameters": [], - "src": "414:2:25" - }, - "returnParameters": { - "id": 5254, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5253, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5259, - "src": "437:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5252, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "436:9:25" - }, - "scope": 5385, - "src": "386:74:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5267, - "nodeType": "Block", - "src": "527:19:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "3130303030", - "id": 5264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "537:5:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - } - ], - "id": 5265, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "536:7:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "functionReturnParameters": 5263, - "id": 5266, - "nodeType": "Return", - "src": "529:14:25" - } - ] - }, - "functionSelector": "b1cc4500", - "id": 5268, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "penaltyNotRevealDenom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5260, - "nodeType": "ParameterList", - "parameters": [], - "src": "495:2:25" - }, - "returnParameters": { - "id": 5263, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5262, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5268, - "src": "518:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "518:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "517:9:25" - }, - "scope": 5385, - "src": "465:81:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5284, - "nodeType": "Block", - "src": "600:34:25", - "statements": [ - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313030", - "id": 5273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "609:3:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 5274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "614:2:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "arguments": [ - { - "hexValue": "3138", - "id": 5277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "626:2:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - } - ], - "id": 5276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "618:7:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "618:7:25", - "typeDescriptions": {} - } - }, - "id": 5278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "618:11:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "614:15:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5280, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "613:17:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "609:21:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5282, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "608:23:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5272, - "id": 5283, - "nodeType": "Return", - "src": "602:29:25" - } - ] - }, - "functionSelector": "375b3c0a", - "id": 5285, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "minStake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5269, - "nodeType": "ParameterList", - "parameters": [], - "src": "568:2:25" - }, - "returnParameters": { - "id": 5272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5271, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5285, - "src": "591:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5270, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "591:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "590:9:25" - }, - "scope": 5385, - "src": "551:83:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5293, - "nodeType": "Block", - "src": "697:14:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "31", - "id": 5290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "706:1:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 5291, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "705:3:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "functionReturnParameters": 5289, - "id": 5292, - "nodeType": "Return", - "src": "699:9:25" - } - ] - }, - "functionSelector": "26bf1c03", - "id": 5294, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unstakeLockPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5286, - "nodeType": "ParameterList", - "parameters": [], - "src": "665:2:25" - }, - "returnParameters": { - "id": 5289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5294, - "src": "688:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "688:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "687:9:25" - }, - "scope": 5385, - "src": "639:72:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5302, - "nodeType": "Block", - "src": "775:14:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "31", - "id": 5299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "784:1:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 5300, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "783:3:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "functionReturnParameters": 5298, - "id": 5301, - "nodeType": "Return", - "src": "777:9:25" - } - ] - }, - "functionSelector": "2628490f", - "id": 5303, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawLockPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5295, - "nodeType": "ParameterList", - "parameters": [], - "src": "743:2:25" - }, - "returnParameters": { - "id": 5298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5297, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5303, - "src": "766:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5296, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "766:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "765:9:25" - }, - "scope": 5385, - "src": "716:73:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5311, - "nodeType": "Block", - "src": "847:14:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "35", - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "856:1:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "id": 5309, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "855:3:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - }, - "functionReturnParameters": 5307, - "id": 5310, - "nodeType": "Return", - "src": "849:9:25" - } - ] - }, - "functionSelector": "379597e0", - "id": 5312, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "maxAltBlocks", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5304, - "nodeType": "ParameterList", - "parameters": [], - "src": "815:2:25" - }, - "returnParameters": { - "id": 5307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5306, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5312, - "src": "838:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "838:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "837:9:25" - }, - "scope": 5385, - "src": "794:67:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5320, - "nodeType": "Block", - "src": "918:15:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "3430", - "id": 5317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "927:2:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_40_by_1", - "typeString": "int_const 40" - }, - "value": "40" - } - ], - "id": 5318, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "926:4:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_40_by_1", - "typeString": "int_const 40" - } - }, - "functionReturnParameters": 5316, - "id": 5319, - "nodeType": "Return", - "src": "920:10:25" - } - ] - }, - "functionSelector": "57d775f8", - "id": 5321, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "epochLength", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5313, - "nodeType": "ParameterList", - "parameters": [], - "src": "886:2:25" - }, - "returnParameters": { - "id": 5316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5315, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5321, - "src": "909:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "909:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "908:9:25" - }, - "scope": 5385, - "src": "866:67:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5329, - "nodeType": "Block", - "src": "988:14:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "34", - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "997:1:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "id": 5327, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "996:3:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - }, - "functionReturnParameters": 5325, - "id": 5328, - "nodeType": "Return", - "src": "990:9:25" - } - ] - }, - "functionSelector": "f4f29c5b", - "id": 5330, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "numStates", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5322, - "nodeType": "ParameterList", - "parameters": [], - "src": "956:2:25" - }, - "returnParameters": { - "id": 5325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5324, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5330, - "src": "979:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5323, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "979:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "978:9:25" - }, - "scope": 5385, - "src": "938:64:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5338, - "nodeType": "Block", - "src": "1067:17:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "31303030", - "id": 5335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1076:4:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "id": 5336, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1075:6:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "functionReturnParameters": 5334, - "id": 5337, - "nodeType": "Return", - "src": "1069:12:25" - } - ] - }, - "functionSelector": "3002c9ac", - "id": 5339, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exposureDenominator", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5331, - "nodeType": "ParameterList", - "parameters": [], - "src": "1035:2:25" - }, - "returnParameters": { - "id": 5334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5333, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5339, - "src": "1058:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1058:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1057:9:25" - }, - "scope": 5385, - "src": "1007:77:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5347, - "nodeType": "Block", - "src": "1150:114:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "307862653762353865313762663661646161306632303963643064623862313238323832666336386134326632646436343962346438656135373966316230373866", - "id": 5344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1159:66:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_86157376852509762215245246636475701676611681380770395118722240390739821004687_by_1", - "typeString": "int_const 8615...(69 digits omitted)...4687" - }, - "value": "0xbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f" - } - ], - "id": 5345, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1158:68:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_86157376852509762215245246636475701676611681380770395118722240390739821004687_by_1", - "typeString": "int_const 8615...(69 digits omitted)...4687" - } - }, - "functionReturnParameters": 5343, - "id": 5346, - "nodeType": "Return", - "src": "1152:74:25" - } - ] - }, - "functionSelector": "7f890b11", - "id": 5348, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getJobConfirmerHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5340, - "nodeType": "ParameterList", - "parameters": [], - "src": "1118:2:25" - }, - "returnParameters": { - "id": 5343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5342, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5348, - "src": "1141:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5341, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1141:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1140:9:25" - }, - "scope": 5385, - "src": "1090:174:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5356, - "nodeType": "Block", - "src": "1331:116:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "307831383739376263373937336531646164656531383935626532663130303338313865333065616533623065376130316562396232653636663365613237373166", - "id": 5353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1340:66:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_11070151156594328882733127861915282688075238341191786248777074171318624220959_by_1", - "typeString": "int_const 1107...(69 digits omitted)...0959" - }, - "value": "0x18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f" - } - ], - "id": 5354, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1339:68:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_11070151156594328882733127861915282688075238341191786248777074171318624220959_by_1", - "typeString": "int_const 1107...(69 digits omitted)...0959" - } - }, - "functionReturnParameters": 5352, - "id": 5355, - "nodeType": "Return", - "src": "1333:74:25" - } - ] - }, - "functionSelector": "d98b3ced", - "id": 5357, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBlockConfirmerHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5349, - "nodeType": "ParameterList", - "parameters": [], - "src": "1299:2:25" - }, - "returnParameters": { - "id": 5352, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5351, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5357, - "src": "1322:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5350, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1322:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1321:9:25" - }, - "scope": 5385, - "src": "1269:178:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5365, - "nodeType": "Block", - "src": "1513:115:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "307864626161616666326333373434616132313565626439393937313832396531633162373238373033613062663235326639363638356432393031316663383034", - "id": 5362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1522:66:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_99358092191249182627279014171294155452697220208306393477227514409909326170116_by_1", - "typeString": "int_const 9935...(69 digits omitted)...0116" - }, - "value": "0xdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc804" - } - ], - "id": 5363, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1521:68:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_99358092191249182627279014171294155452697220208306393477227514409909326170116_by_1", - "typeString": "int_const 9935...(69 digits omitted)...0116" - } - }, - "functionReturnParameters": 5361, - "id": 5364, - "nodeType": "Return", - "src": "1515:74:25" - } - ] - }, - "functionSelector": "80638d42", - "id": 5366, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStakeModifierHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5358, - "nodeType": "ParameterList", - "parameters": [], - "src": "1481:2:25" - }, - "returnParameters": { - "id": 5361, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5360, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5366, - "src": "1504:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5359, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1504:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1503:9:25" - }, - "scope": 5385, - "src": "1452:176:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5374, - "nodeType": "Block", - "src": "1702:125:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "307834636433303730616161303764303361623333373331636261626430636232376562396530373461393433306164303036633936393431643731623737656365", - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1711:66:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_34748629822726682643577116121900695107536869600786481533281637579847946960590_by_1", - "typeString": "int_const 3474...(69 digits omitted)...0590" - }, - "value": "0x4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece" - } - ], - "id": 5372, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1710:68:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_34748629822726682643577116121900695107536869600786481533281637579847946960590_by_1", - "typeString": "int_const 3474...(69 digits omitted)...0590" - } - }, - "functionReturnParameters": 5370, - "id": 5373, - "nodeType": "Return", - "src": "1704:74:25" - } - ] - }, - "functionSelector": "9cec6f8a", - "id": 5375, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStakerActivityUpdaterHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5367, - "nodeType": "ParameterList", - "parameters": [], - "src": "1670:2:25" - }, - "returnParameters": { - "id": 5370, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5369, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5375, - "src": "1693:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5368, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1693:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1692:9:25" - }, - "scope": 5385, - "src": "1633:194:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5383, - "nodeType": "Block", - "src": "1892:78:25", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030", - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1901:66:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0000000000000000000000000000000000000000000000000000000000000000" - } - ], - "id": 5381, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1900:68:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - }, - "functionReturnParameters": 5379, - "id": 5382, - "nodeType": "Return", - "src": "1894:74:25" - } - ] - }, - "functionSelector": "b1a62781", - "id": 5384, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getDefaultAdminHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5376, - "nodeType": "ParameterList", - "parameters": [], - "src": "1860:2:25" - }, - "returnParameters": { - "id": 5379, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5378, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5384, - "src": "1883:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5377, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1883:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1882:9:25" - }, - "scope": 5385, - "src": "1832:138:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 5386, - "src": "65:1907:25" - } - ], - "src": "39:1934:25" - }, - "id": 25 - }, - "contracts/lib/Random.sol": { - "ast": { - "absolutePath": "contracts/lib/Random.sol", - "exportedSymbols": { - "Constants": [ - 5385 - ], - "Random": [ - 5505 - ] - }, - "id": 5506, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5387, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:26" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "./Constants.sol", - "id": 5388, - "nodeType": "ImportDirective", - "scope": 5506, - "sourceUnit": 5386, - "src": "64:25:26", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 5505, - "linearizedBaseContracts": [ - 5505 - ], - "name": "Random", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5418, - "nodeType": "Block", - "src": "282:119:26", - "statements": [ - { - "assignments": [ - 5400 - ], - "declarations": [ - { - "constant": false, - "id": 5400, - "mutability": "mutable", - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 5418, - "src": "292:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5399, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "292:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 5405, - "initialValue": { - "arguments": [ - { - "id": 5402, - "name": "numBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5390, - "src": "316:9:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 5403, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5394, - "src": "327:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5401, - "name": "prngHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5448, - "src": "307:8:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (uint8,bytes32) view returns (bytes32)" - } - }, - "id": 5404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "307:25:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "292:40:26" - }, - { - "assignments": [ - 5407 - ], - "declarations": [ - { - "constant": false, - "id": 5407, - "mutability": "mutable", - "name": "sum", - "nodeType": "VariableDeclaration", - "scope": 5418, - "src": "342:11:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "342:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 5412, - "initialValue": { - "arguments": [ - { - "id": 5410, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5400, - "src": "364:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "356:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "356:7:26", - "typeDescriptions": {} - } - }, - "id": 5411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "356:13:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "342:27:26" - }, - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5413, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5407, - "src": "386:3:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "id": 5414, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5392, - "src": "390:3:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "386:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5416, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "385:9:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5398, - "id": 5417, - "nodeType": "Return", - "src": "379:15:26" - } - ] - }, - "functionSelector": "5075dbfb", - "id": 5419, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "prng", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5395, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5390, - "mutability": "mutable", - "name": "numBlocks", - "nodeType": "VariableDeclaration", - "scope": 5419, - "src": "208:15:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5389, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "208:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5392, - "mutability": "mutable", - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 5419, - "src": "225:11:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "225:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5394, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "scope": 5419, - "src": "238:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5393, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "238:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "207:44:26" - }, - "returnParameters": { - "id": 5398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5397, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5419, - "src": "273:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5396, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "273:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "272:9:26" - }, - "scope": 5505, - "src": "194:207:26", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5447, - "nodeType": "Block", - "src": "544:128:26", - "statements": [ - { - "assignments": [ - 5429 - ], - "declarations": [ - { - "constant": false, - "id": 5429, - "mutability": "mutable", - "name": "sum", - "nodeType": "VariableDeclaration", - "scope": 5447, - "src": "554:11:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5428, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "554:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 5433, - "initialValue": { - "arguments": [ - { - "id": 5431, - "name": "numBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5421, - "src": "580:9:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5430, - "name": "blockHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5504, - "src": "568:11:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint8_$returns$_t_bytes32_$", - "typeString": "function (uint8) view returns (bytes32)" - } - }, - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "568:22:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "554:36:26" - }, - { - "expression": { - "id": 5442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5434, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "600:3:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 5438, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "633:3:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 5439, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "638:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 5436, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "616:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "616:16:26", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "616:27:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5435, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "606:9:26", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "606:38:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "600:44:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5443, - "nodeType": "ExpressionStatement", - "src": "600:44:26" - }, - { - "expression": { - "components": [ - { - "id": 5444, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "661:3:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 5445, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "660:5:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 5427, - "id": 5446, - "nodeType": "Return", - "src": "654:11:26" - } - ] - }, - "functionSelector": "b07ceab8", - "id": 5448, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "prngHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5421, - "mutability": "mutable", - "name": "numBlocks", - "nodeType": "VariableDeclaration", - "scope": 5448, - "src": "484:15:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5420, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "484:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5423, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "scope": 5448, - "src": "501:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5422, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "501:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "483:31:26" - }, - "returnParameters": { - "id": 5427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5426, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5448, - "src": "535:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5425, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "535:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "534:9:26" - }, - "scope": 5505, - "src": "466:206:26", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5503, - "nodeType": "Block", - "src": "745:351:26", - "statements": [ - { - "assignments": [ - 5456 - ], - "declarations": [ - { - "constant": false, - "id": 5456, - "mutability": "mutable", - "name": "sum", - "nodeType": "VariableDeclaration", - "scope": 5503, - "src": "755:11:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5455, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "755:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 5457, - "nodeType": "VariableDeclarationStatement", - "src": "755:11:26" - }, - { - "assignments": [ - 5459 - ], - "declarations": [ - { - "constant": false, - "id": 5459, - "mutability": "mutable", - "name": "blockNumberEpochStart", - "nodeType": "VariableDeclaration", - "scope": 5503, - "src": "821:29:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "821:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 5473, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 5460, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "854:5:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "src": "854:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 5462, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "868:9:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 5463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 5321, - "src": "868:21:26", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "868:23:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5465, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "867:25:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "854:38:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5467, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "853:40:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 5468, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "895:9:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5385_$", - "typeString": "type(library Constants)" - } - }, - "id": 5469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 5321, - "src": "895:21:26", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 5470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "895:23:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5471, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "894:25:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "853:66:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "821:98:26" - }, - { - "body": { - "id": 5498, - "nodeType": "Block", - "src": "968:101:26", - "statements": [ - { - "expression": { - "id": 5496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5484, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "982:3:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 5488, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "1015:3:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5490, - "name": "blockNumberEpochStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5459, - "src": "1030:21:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 5491, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5475, - "src": "1054:1:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "1030:25:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5489, - "name": "blockhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -5, - "src": "1020:9:26", - "typeDescriptions": { - "typeIdentifier": "t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (uint256) view returns (bytes32)" - } - }, - "id": 5493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1020:36:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 5486, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "998:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5487, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "998:16:26", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "998:59:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5485, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "988:9:26", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:70:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "982:76:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5497, - "nodeType": "ExpressionStatement", - "src": "982:76:26" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 5480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5478, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5475, - "src": "947:1:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 5479, - "name": "numBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "952:9:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "947:14:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5499, - "initializationExpression": { - "assignments": [ - 5475 - ], - "declarations": [ - { - "constant": false, - "id": 5475, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5499, - "src": "934:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5474, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "934:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 5477, - "initialValue": { - "hexValue": "31", - "id": 5476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "944:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "934:11:26" - }, - "loopExpression": { - "expression": { - "id": 5482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "963:3:26", - "subExpression": { - "id": 5481, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5475, - "src": "963:1:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 5483, - "nodeType": "ExpressionStatement", - "src": "963:3:26" - }, - "nodeType": "ForStatement", - "src": "929:140:26" - }, - { - "expression": { - "components": [ - { - "id": 5500, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "1085:3:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 5501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1084:5:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 5454, - "id": 5502, - "nodeType": "Return", - "src": "1078:11:26" - } - ] - }, - "functionSelector": "7fa00da2", - "id": 5504, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "blockHashes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5451, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5450, - "mutability": "mutable", - "name": "numBlocks", - "nodeType": "VariableDeclaration", - "scope": 5504, - "src": "699:15:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5449, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "699:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "698:17:26" - }, - "returnParameters": { - "id": 5454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5453, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5504, - "src": "736:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5452, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "736:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "735:9:26" - }, - "scope": 5505, - "src": "678:418:26", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 5506, - "src": "92:1006:26" - } - ], - "src": "39:1060:26" - }, - "id": 26 - }, - "contracts/lib/Structs.sol": { - "ast": { - "absolutePath": "contracts/lib/Structs.sol", - "exportedSymbols": { - "Structs": [ - 5585 - ] - }, - "id": 5586, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5507, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:27" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 5585, - "linearizedBaseContracts": [ - 5585 - ], - "name": "Structs", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Structs.Vote", - "id": 5512, - "members": [ - { - "constant": false, - "id": 5509, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 5512, - "src": "109:13:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "109:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "weight", - "nodeType": "VariableDeclaration", - "scope": 5512, - "src": "132:14:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "132:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Vote", - "nodeType": "StructDefinition", - "scope": 5585, - "src": "87:66:27", - "visibility": "public" - }, - { - "canonicalName": "Structs.Staker", - "id": 5529, - "members": [ - { - "constant": false, - "id": 5514, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "183:10:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "183:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5516, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "203:16:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "203:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5518, - "mutability": "mutable", - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "229:13:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "229:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5520, - "mutability": "mutable", - "name": "epochStaked", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "252:19:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "252:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5522, - "mutability": "mutable", - "name": "epochLastCommitted", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "281:26:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5521, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "281:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "epochLastRevealed", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "317:25:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "317:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "unstakeAfter", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "352:20:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "352:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5528, - "mutability": "mutable", - "name": "withdrawAfter", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "382:21:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "382:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Staker", - "nodeType": "StructDefinition", - "scope": 5585, - "src": "159:251:27", - "visibility": "public" - }, - { - "canonicalName": "Structs.Block", - "id": 5550, - "members": [ - { - "constant": false, - "id": 5531, - "mutability": "mutable", - "name": "proposerId", - "nodeType": "VariableDeclaration", - "scope": 5550, - "src": "439:18:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5530, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5534, - "mutability": "mutable", - "name": "jobIds", - "nodeType": "VariableDeclaration", - "scope": 5550, - "src": "467:16:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "467:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5533, - "nodeType": "ArrayTypeName", - "src": "467:9:27", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "medians", - "nodeType": "VariableDeclaration", - "scope": 5550, - "src": "493:17:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5535, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "493:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5536, - "nodeType": "ArrayTypeName", - "src": "493:9:27", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 5550, - "src": "520:22:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5538, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5539, - "nodeType": "ArrayTypeName", - "src": "520:9:27", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5543, - "mutability": "mutable", - "name": "higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 5550, - "src": "552:23:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "552:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5542, - "nodeType": "ArrayTypeName", - "src": "552:9:27", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5545, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 5550, - "src": "585:17:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5547, - "mutability": "mutable", - "name": "biggestStake", - "nodeType": "VariableDeclaration", - "scope": 5550, - "src": "612:20:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "612:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5549, - "mutability": "mutable", - "name": "valid", - "nodeType": "VariableDeclaration", - "scope": 5550, - "src": "642:10:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5548, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "642:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "name": "Block", - "nodeType": "StructDefinition", - "scope": 5585, - "src": "416:243:27", - "visibility": "public" - }, - { - "canonicalName": "Structs.Dispute", - "id": 5563, - "members": [ - { - "constant": false, - "id": 5552, - "mutability": "mutable", - "name": "accWeight", - "nodeType": "VariableDeclaration", - "scope": 5563, - "src": "690:17:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5554, - "mutability": "mutable", - "name": "median", - "nodeType": "VariableDeclaration", - "scope": 5563, - "src": "717:14:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "717:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5556, - "mutability": "mutable", - "name": "lowerCutoff", - "nodeType": "VariableDeclaration", - "scope": 5563, - "src": "741:19:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "741:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5558, - "mutability": "mutable", - "name": "higherCutoff", - "nodeType": "VariableDeclaration", - "scope": 5563, - "src": "770:20:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5557, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5560, - "mutability": "mutable", - "name": "lastVisited", - "nodeType": "VariableDeclaration", - "scope": 5563, - "src": "800:19:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "800:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5562, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 5563, - "src": "829:15:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5561, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "829:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Dispute", - "nodeType": "StructDefinition", - "scope": 5585, - "src": "665:186:27", - "visibility": "public" - }, - { - "canonicalName": "Structs.Job", - "id": 5584, - "members": [ - { - "constant": false, - "id": 5565, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 5584, - "src": "878:10:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "878:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5567, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 5584, - "src": "898:13:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "898:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5569, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 5584, - "src": "921:10:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5568, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "921:6:27", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 5584, - "src": "941:15:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5570, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "941:6:27", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5573, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 5584, - "src": "966:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "966:6:27", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5575, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 5584, - "src": "987:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5574, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "987:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5577, - "mutability": "mutable", - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 5584, - "src": "1008:15:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5576, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1008:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5579, - "mutability": "mutable", - "name": "credit", - "nodeType": "VariableDeclaration", - "scope": 5584, - "src": "1033:14:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1033:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5581, - "mutability": "mutable", - "name": "fulfilled", - "nodeType": "VariableDeclaration", - "scope": 5584, - "src": "1057:14:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5580, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1057:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 5584, - "src": "1081:14:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1081:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Job", - "nodeType": "StructDefinition", - "scope": 5585, - "src": "857:245:27", - "visibility": "public" - } - ], - "scope": 5586, - "src": "65:1040:27" - } - ], - "src": "39:1067:27" - }, - "id": 27 - } - } - } -} diff --git a/deployed/goerli/abi/contracts/Core/ACL.sol/ACL.dbg.json b/deployed/goerli/abi/contracts/Core/ACL.sol/ACL.dbg.json deleted file mode 100644 index 1d742005..00000000 --- a/deployed/goerli/abi/contracts/Core/ACL.sol/ACL.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/ACL.sol/ACL.json b/deployed/goerli/abi/contracts/Core/ACL.sol/ACL.json deleted file mode 100644 index ff1a68b7..00000000 --- a/deployed/goerli/abi/contracts/Core/ACL.sol/ACL.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ACL", - "sourceName": "contracts/Core/ACL.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061001c600033610021565b6100e1565b61002b828261002f565b5050565b61003982826100b4565b61002b576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556100706100dd565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b6105c1806100f06000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806336568abe1161005b57806336568abe146100e057806391d14854146100f3578063a217fddf14610106578063d547741f1461010e5761007d565b806301ffc9a714610082578063248a9ca3146100ab5780632f2ff15d146100cb575b600080fd5b610095610090366004610419565b610121565b6040516100a29190610460565b60405180910390f35b6100be6100b93660046103c7565b61017d565b6040516100a2919061046b565b6100de6100d93660046103df565b610192565b005b6100de6100ee3660046103df565b6101d9565b6100956101013660046103df565b61021b565b6100be610244565b6100de61011c3660046103df565b610249565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610177575061017782610271565b92915050565b60009081526020819052604090206001015490565b6101a661019e8361017d565b6101016102bb565b6101cb5760405162461bcd60e51b81526004016101c290610474565b60405180910390fd5b6101d582826102bf565b5050565b6101e16102bb565b6001600160a01b0316816001600160a01b0316146102115760405162461bcd60e51b81526004016101c29061052e565b6101d58282610344565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600081565b61025561019e8361017d565b6102115760405162461bcd60e51b81526004016101c2906104d1565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6102c9828261021b565b6101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556103006102bb565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61034e828261021b565b156101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556103836102bb565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000602082840312156103d8578081fd5b5035919050565b600080604083850312156103f1578081fd5b8235915060208301356001600160a01b038116811461040e578182fd5b809150509250929050565b60006020828403121561042a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610459578182fd5b9392505050565b901515815260200190565b90815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c66000000000000000000000000000000000060608201526080019056fea264697066735822122052194242fa616a47d22c5ba3193f772cb8ab18f1d91db9bec936706856bd14c764736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806336568abe1161005b57806336568abe146100e057806391d14854146100f3578063a217fddf14610106578063d547741f1461010e5761007d565b806301ffc9a714610082578063248a9ca3146100ab5780632f2ff15d146100cb575b600080fd5b610095610090366004610419565b610121565b6040516100a29190610460565b60405180910390f35b6100be6100b93660046103c7565b61017d565b6040516100a2919061046b565b6100de6100d93660046103df565b610192565b005b6100de6100ee3660046103df565b6101d9565b6100956101013660046103df565b61021b565b6100be610244565b6100de61011c3660046103df565b610249565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610177575061017782610271565b92915050565b60009081526020819052604090206001015490565b6101a661019e8361017d565b6101016102bb565b6101cb5760405162461bcd60e51b81526004016101c290610474565b60405180910390fd5b6101d582826102bf565b5050565b6101e16102bb565b6001600160a01b0316816001600160a01b0316146102115760405162461bcd60e51b81526004016101c29061052e565b6101d58282610344565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600081565b61025561019e8361017d565b6102115760405162461bcd60e51b81526004016101c2906104d1565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6102c9828261021b565b6101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556103006102bb565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61034e828261021b565b156101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556103836102bb565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000602082840312156103d8578081fd5b5035919050565b600080604083850312156103f1578081fd5b8235915060208301356001600160a01b038116811461040e578182fd5b809150509250929050565b60006020828403121561042a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610459578182fd5b9392505050565b901515815260200190565b90815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c66000000000000000000000000000000000060608201526080019056fea264697066735822122052194242fa616a47d22c5ba3193f772cb8ab18f1d91db9bec936706856bd14c764736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Core/BlockManager.sol/BlockManager.dbg.json b/deployed/goerli/abi/contracts/Core/BlockManager.sol/BlockManager.dbg.json deleted file mode 100644 index 1d742005..00000000 --- a/deployed/goerli/abi/contracts/Core/BlockManager.sol/BlockManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/BlockManager.sol/BlockManager.json b/deployed/goerli/abi/contracts/Core/BlockManager.sol/BlockManager.json deleted file mode 100644 index 80f9bc5a..00000000 --- a/deployed/goerli/abi/contracts/Core/BlockManager.sol/BlockManager.json +++ /dev/null @@ -1,992 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BlockManager", - "sourceName": "contracts/Core/BlockManager.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "BlockConfirmed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Proposed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "blocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "confirmBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "disputes", - "outputs": [ - { - "internalType": "uint256", - "name": "accWeight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "median", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lowerCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "higherCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastVisited", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blockId", - "type": "uint256" - } - ], - "name": "finalizeDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getHigherCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getLowerCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getNumProposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - }, - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "sorted", - "type": "uint256[]" - } - ], - "name": "giveSorted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_voteManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_jobManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "isElectedProposer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "jobManager", - "outputs": [ - { - "internalType": "contract IJobManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - } - ], - "name": "propose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "resetDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeManager", - "outputs": [ - { - "internalType": "contract IStakeManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "voteManager", - "outputs": [ - { - "internalType": "contract IVoteManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506200001f60003362000025565b620000ec565b62000031828262000035565b5050565b620000418282620000bf565b62000031576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200007b620000e8565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b613e6380620000fc6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80635ce8772f116100f9578063a27ce1ef11610097578063d547741f11610071578063d547741f146103cd578063e38c7c42146103e0578063f25b3f99146103f3578063fae4425d14610406576101c4565b8063a27ce1ef14610384578063d1a4a43d146103a7578063d2a4669a146103ba576101c4565b806391d14854116100d357806391d148541461033e57806392b48411146103515780639b87f64414610374578063a217fddf1461037c576101c4565b80635ce8772f146102fe5780637542ff9514610311578063828496d614610319576101c4565b80632f2ff15d116101665780633cd32fd4116101405780633cd32fd4146102c85780633df395a3146102db57806342c1e587146102e35780634e6753b7146102eb576101c4565b80632f2ff15d1461028257806336568abe14610295578063378ab9a9146102a8576101c4565b806317d99c04116101a257806317d99c04146102275780631d69ff9b1461023a578063248a9ca31461024d5780632e716fb11461026d576101c4565b806301ffc9a7146101c957806304c07569146101f257806306552ff314610212575b600080fd5b6101dc6101d73660046133af565b610419565b6040516101e9919061373d565b60405180910390f35b610205610200366004613350565b610477565b6040516101e99190613b2e565b6102256102203660046132f5565b610627565b005b610225610235366004613485565b61068f565b6101dc6102483660046135b9565b610b63565b61026061025b366004613350565b610ec8565b6040516101e99190613748565b610275610edd565b6040516101e99190613716565b610225610290366004613380565b610eec565b6102256102a3366004613380565b610f2a565b6102bb6102b6366004613350565b610f6c565b6040516101e9919061372a565b6102256102d636600461354a565b610fd1565b610275611540565b61027561154f565b6102256102f936600461356b565b61155e565b61022561030c366004613350565b611c5f565b610275611e8f565b61032c610327366004613380565b611e9e565b6040516101e996959493929190613ce6565b6101dc61034c366004613380565b611edc565b61036461035f36600461354a565b611f05565b6040516101e99493929190613cc9565b610225611f4e565b61026061263b565b61039761039236600461354a565b612640565b6040516101e99493929190613b41565b6102bb6103b536600461354a565b612848565b6102bb6103c8366004613350565b6128e2565b6102256103db366004613380565b612945565b6102606103ee366004613350565b61296d565b610364610401366004613350565b61297f565b6102bb610414366004613350565b6129a9565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061046f575061046f82612a0c565b90505b919050565b61047f613151565b60008281526003602090815260409182902082516101008101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156104ec57602002820191906000526020600020905b8154815260200190600101908083116104d8575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561054457602002820191906000526020600020905b815481526020019060010190808311610530575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561059c57602002820191906000526020600020905b815481526020019060010190808311610588575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156105f457602002820191906000526020600020905b8154815260200190600101908083116105e0575b5050509183525050600582015460208201526006820154604082015260079091015460ff16151560609091015292915050565b600480546001600160a01b039586167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556005805494861694821694909417909355600680549285169284169290921790915560078054919093169116179055565b60055460408051630eaf323560e31b8152905189926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156106d357600080fd5b505afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b9190613368565b81146107325760405162461bcd60e51b8152600401610729906138cd565b60405180910390fd5b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63c198f8ba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561077657600080fd5b505af415801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae91906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108379190613368565b81146108555760405162461bcd60e51b815260040161072990613a9a565b600480546040517f6022a4850000000000000000000000000000000000000000000000000000000081526000926001600160a01b0390921691636022a485916108a091339101613716565b60206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190613368565b90506108fd858583610b63565b6109195760405162461bcd60e51b815260040161072990613839565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561095d57600080fd5b505af4158015610971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109959190613368565b600480546040516371e4cc7f60e11b81526001600160a01b039091169163e3c998fe916109c491869101613748565b6101006040518083038186803b1580156109dd57600080fd5b505afa1580156109f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1591906133ef565b604001511015610a375760405162461bcd60e51b815260040161072990613a06565b610b108a6040518061010001604052808481526020018c81526020018b81526020018a8152602001898152602001888152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e3c998fe896040518263ffffffff1660e01b8152600401610aac9190613748565b6101006040518083038186803b158015610ac557600080fd5b505afa158015610ad9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afd91906133ef565b6040015181526001602090910152612a56565b7fee036cc96c88163f353feaa4d497e88baaebeb631f40ad9b8a6d51bb6fad40768a828b8b8b8b8b8b42604051610b4f99989796959493929190613bc6565b60405180910390a150505050505050505050565b60008173__$3b76b38140ea5d8f6a5a565441556589de$__635075dbfb600a600460009054906101000a90046001600160a01b03166001600160a01b031663bc788d466040518163ffffffff1660e01b815260040160206040518083038186803b158015610bd057600080fd5b505afa158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c089190613368565b88604051602001610c199190613748565b604051602081830303815290604052805190602001206040518463ffffffff1660e01b8152600401610c4d93929190613764565b60206040518083038186803b158015610c6557600080fd5b505af4158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190613368565b610ca8906001613d0e565b14610cb557506000610ec1565b600073__$3b76b38140ea5d8f6a5a565441556589de$__63b07ceab8600a8588604051602001610ce6929190613bb8565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610d19929190613751565b60206040518083038186803b158015610d3157600080fd5b505af4158015610d45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d699190613368565b90506000610d7c64010000000083613dc2565b600480546040516371e4cc7f60e11b81529293506000926001600160a01b039091169163e3c998fe91610db1918a9101613748565b6101006040518083038186803b158015610dca57600080fd5b505afa158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0291906133ef565b6040908101516004805492516371e4cc7f60e11b81529193506001600160a01b039092169163e3c998fe91610e3991899101613748565b6101006040518083038186803b158015610e5257600080fd5b505afa158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a91906133ef565b60400151610e9d90640100000000613d3a565b610ea78284613d3a565b1115610eb95760009350505050610ec1565b600193505050505b9392505050565b60009081526020819052604090206001015490565b6005546001600160a01b031681565b610f00610ef883610ec8565b61034c613045565b610f1c5760405162461bcd60e51b81526004016107299061377f565b610f268282613049565b5050565b610f32613045565b6001600160a01b0316816001600160a01b031614610f625760405162461bcd60e51b815260040161072990613ad1565b610f2682826130ce565b600081815260036020908152604091829020600201805483518184028101840190945280845260609392830182828015610fc557602002820191906000526020600020905b815481526020019060010190808311610fb1575b50505050509050919050565b60055460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561101557600080fd5b505afa158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d9190613368565b811461106b5760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b1580156110af57600080fd5b505af41580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e791906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561113857600080fd5b505afa15801561114c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111709190613368565b811461118e5760405162461bcd60e51b815260040161072990613a9a565b60008481526001602090815260408083203384529091529081902060050154600654915163a6a145d960e01b815290916001600160a01b03169063a6a145d9906111de9088908590600401613bb8565b60206040518083038186803b1580156111f657600080fd5b505afa15801561120a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122e9190613368565b6000868152600160209081526040808320338452909152902054146112655760405162461bcd60e51b815260040161072990613a3d565b60008581526001602081815260408084203385528252808420928301546002808501546003909501548b875293529084208054919491899081106112b957634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600001549050600084116112ed5760405162461bcd60e51b81526004016107299061393b565b600089815260026020526040902080548591908a90811061131e57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201868154811061134e57634e487b7160e01b600052603260045260246000fd5b90600052602060002001541415806113d05750600089815260026020526040902080548491908a90811061139257634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160030186815481106113c257634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b806114455750600089815260026020526040902080548391908a90811061140757634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600401868154811061143757634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b1561151d57600089815260026020526040812080548a90811061147857634e487b7160e01b600052603260045260246000fd5b60009182526020909120600890910201600701805460ff1916911515919091179055600480546040517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911691630f91ce19916114e691859133918f9101613b99565b600060405180830381600087803b15801561150057600080fd5b505af1158015611514573d6000803e3d6000fd5b50505050611535565b60405162461bcd60e51b8152600401610729906139a9565b505050505050505050565b6007546001600160a01b031681565b6006546001600160a01b031681565b60055460408051630eaf323560e31b8152905185926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156115a257600080fd5b505afa1580156115b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115da9190613368565b81146115f85760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b15801561163c57600080fd5b505af4158015611650573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167491906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116c557600080fd5b505afa1580156116d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fd9190613368565b811461171b5760405162461bcd60e51b815260040161072990613a9a565b60065460405163a6a145d960e01b81526000916002916001600160a01b039091169063a6a145d990611753908a908a90600401613bb8565b60206040518083038186803b15801561176b57600080fd5b505afa15801561177f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a39190613368565b6117ad9190613d26565b60065460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d9906117e5908b908b908601613bb8565b60206040518083038186803b1580156117fd57600080fd5b505afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118359190613368565b61183f9190613d26565b60065460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611877908c908c908601613bb8565b60206040518083038186803b15801561188f57600080fd5b505afa1580156118a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c79190613368565b6118d2906003613d3a565b6118dc9190613d26565b600089815260016020908152604080832033845290915290208054600490910154919250908161192a5760008a81526001602090815260408083203384529091529020600501899055611965565b60008a815260016020908152604080832033845290915290206005015489146119655760405162461bcd60e51b815260040161072990613972565b60005b8851811015611c30578189828151811061199257634e487b7160e01b600052603260045260246000fd5b6020026020010151116119b75760405162461bcd60e51b8152600401610729906137dc565b8881815181106119d757634e487b7160e01b600052603260045260246000fd5b60200260200101519150600660009054906101000a90046001600160a01b03166001600160a01b0316639c66556f8c8c8c8581518110611a2757634e487b7160e01b600052603260045260246000fd5b60200260200101516040518463ffffffff1660e01b8152600401611a4d93929190613cb3565b60206040518083038186803b158015611a6557600080fd5b505afa158015611a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9d9190613368565b611aa79084613d0e565b60008c8152600160209081526040808320338452909152902060020154909350158015611ad45750848310155b15611b2257888181518110611af957634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018352604080822033835290935291909120600201555b60008b81526001602081815260408084203385529091529091200154158015611b4a57508583115b15611b9857888181518110611b6f57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018084526040808320338452909452929020909101555b60008b8152600160209081526040808320338452909152902060030154158015611bc157508383115b15611c0f57888181518110611be657634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018352604080822033835290935291909120600301555b6127105a1015611c1e57611c30565b80611c2881613d87565b915050611968565b506000998a52600160209081526040808c20338d52909152909920600481019990995590975550505050505050565b60055460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015611ca357600080fd5b505afa158015611cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdb9190613368565b8114611cf95760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b158015611d3d57600080fd5b505af4158015611d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7591906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc657600080fd5b505afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfe9190613368565b8114611e1c5760405162461bcd60e51b815260040161072990613a9a565b50506040805160c08101825260008082526020808301828152838501838152606085018481526080860185815260a0870186815298865260018086528887203388529095529690942094518555905191840191909155516002830155516003820155905160048201559051600590910155565b6004546001600160a01b031681565b600160208181526000938452604080852090915291835291208054918101546002820154600383015460048401546005909401549293919290919086565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60026020528160005260406000208181548110611f2157600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63d98b3ced6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f9257600080fd5b505af4158015611fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fca9190613368565b611fd48133611edc565b611ff05760405162461bcd60e51b815260040161072990613904565b60055460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561203557600080fd5b505afa158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206d9190613368565b905060005b60026000612081600185613d59565b815260208101919091526040016000205460ff8216101561263557600260006120ab600185613d59565b81526020019081526020016000208160ff16815481106120db57634e487b7160e01b600052603260045260246000fd5b600091825260209091206007600890920201015460ff16156126235760026000612106600185613d59565b81526020019081526020016000208160ff168154811061213657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600360006001856121559190613d59565b81526020810191909152604001600020815481556001808301805461217d9284019190613198565b50600282810180546121929284019190613198565b50600382810180546121a79284019190613198565b50600482810180546121bc9284019190613198565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905560006002816121fc600186613d59565b81526020019081526020016000208260ff168154811061222c57634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102015490507f5ef264ae9101b91bd7117350c5e85901297fa0569e7a3e07eb7ec0a6281529f061226b600185613d59565b826002600061227b600189613d59565b81526020019081526020016000208560ff16815481106122ab57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201600260006001896122cd9190613d59565b81526020019081526020016000208660ff16815481106122fd57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016003016002600060018a61231f9190613d59565b81526020019081526020016000208760ff168154811061234f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016004016002600060018b6123719190613d59565b81526020019081526020016000208860ff16815481106123a157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101426040516123c69796959493929190613c45565b60405180910390a160005b600260006123e0600187613d59565b81526020019081526020016000208360ff168154811061241057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101805490508160ff16101561259e576007546001600160a01b03166356350bdf6002600061244f600189613d59565b81526020019081526020016000208560ff168154811061247f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016001018360ff16815481106124b257634e487b7160e01b600052603260045260246000fd5b9060005260206000200154600260006001896124ce9190613d59565b81526020019081526020016000208660ff16815481106124fe57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018460ff168154811061253157634e487b7160e01b600052603260045260246000fd5b90600052602060002001546040518363ffffffff1660e01b8152600401612559929190613bb8565b600060405180830381600087803b15801561257357600080fd5b505af1158015612587573d6000803e3d6000fd5b50505050808061259690613da2565b9150506123d1565b50600480546040517f746c8b650000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163746c8b65916125e9918591889101613bb8565b600060405180830381600087803b15801561260357600080fd5b505af1158015612617573d6000803e3d6000fd5b50505050505050612638565b8061262d81613da2565b915050612072565b50505b50565b600081565b612648613151565b606080606060026000878152602001908152602001600020858154811061267f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016040518061010001604052908160008201548152602001600182018054806020026020016040519081016040528092919081815260200182805480156126f257602002820191906000526020600020905b8154815260200190600101908083116126de575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561274a57602002820191906000526020600020905b815481526020019060010190808311612736575b50505050508152602001600382018054806020026020016040519081016040528092919081815260200182805480156127a257602002820191906000526020600020905b81548152602001906001019080831161278e575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156127fa57602002820191906000526020600020905b8154815260200190600101908083116127e6575b505050918352505060058201546020820152600682015460408083019190915260079092015460ff161515606091820152908201519082015160808301519299919850965090945092505050565b60008281526002602052604090208054606091908390811061287a57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018054806020026020016040519081016040528092919081815260200182805480156128d557602002820191906000526020600020905b8154815260200190600101908083116128c1575b5050505050905092915050565b600081815260036020818152604092839020909101805483518184028101840190945280845260609392830182828015610fc55760200282019190600052602060002090815481526020019060010190808311610fb15750505050509050919050565b612951610ef883610ec8565b610f625760405162461bcd60e51b815260040161072990613870565b60009081526002602052604090205490565b60036020526000908152604090208054600582015460068301546007909301549192909160ff1684565b600081815260036020908152604091829020600401805483518184028101840190945280845260609392830182828015610fc55760200282019190600052602060002090815481526020019060010190808311610fb15750505050509050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600082815260026020526040902054612b335760008281526002602090815260408220805460018181018355918452928290208451600890940201928355838201518051859493612aab9385019201906131e8565b5060408201518051612ac79160028401916020909101906131e8565b5060608201518051612ae39160038401916020909101906131e8565b5060808201518051612aff9160048401916020909101906131e8565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055610f26565b600082815260026020526040812054905b600084815260026020526040902054811015612c125760c08301516000858152600260205260409020805483908110612b8d57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600601541015612bad57809150612c12565b60a08301516000858152600260205260409020805483908110612be057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600501541115612c0057809150612c12565b80612c0a81613d87565b915050612b44565b5060008381526002602090815260408220805460018181018355918452928290208551600890940201928355848201518051869493612c559385019201906131e8565b5060408201518051612c719160028401916020909101906131e8565b5060608201518051612c8d9160038401916020909101906131e8565b5060808201518051612ca99160048401916020909101906131e8565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055600083815260026020526040812054612cf390600190613d59565b90505b81811115612e1f576000848152600260205260409020612d17600183613d59565b81548110612d3557634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600260008681526020019081526020016000208281548110612d7557634e487b7160e01b600052603260045260246000fd5b60009182526020909120825460089092020190815560018083018054612d9e9284019190613198565b5060028281018054612db39284019190613198565b5060038281018054612dc89284019190613198565b5060048281018054612ddd9284019190613198565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905580612e1781613d70565b915050612cf6565b506000838152600260205260409020805483919083908110612e5157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600082015181600001556020820151816001019080519060200190612e859291906131e8565b5060408201518051612ea19160028401916020909101906131e8565b5060608201518051612ebd9160038401916020909101906131e8565b5060808201518051612ed99160048401916020909101906131e8565b5060a0820151816005015560c0820151816006015560e08201518160070160006101000a81548160ff02191690831515021790555090505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63379597e06040518163ffffffff1660e01b815260040160206040518083038186803b158015612f5557600080fd5b505af4158015612f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f8d9190613368565b60008481526002602052604090205411156126355760008381526002602052604090208054612fbe90600190613d59565b81548110612fdc57634e487b7160e01b600052603260045260246000fd5b60009182526020822060089091020181815590612ffc6001830182613223565b61300a600283016000613223565b613018600383016000613223565b613026600483016000613223565b506000600582018190556006820155600701805460ff19169055505050565b3390565b6130538282611edc565b610f26576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561308a613045565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6130d88282611edc565b15610f26576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916905561310d613045565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806101000160405280600081526020016060815260200160608152602001606081526020016060815260200160008152602001600081526020016000151581525090565b8280548282559060005260206000209081019282156131d85760005260206000209182015b828111156131d85782548255916001019190600101906131bd565b506131e492915061323d565b5090565b8280548282559060005260206000209081019282156131d8579160200282015b828111156131d8578251825591602001919060010190613208565b508054600082559060005260206000209081019061263891905b5b808211156131e4576000815560010161323e565b805161047281613e18565b600082601f83011261326d578081fd5b8135602067ffffffffffffffff8083111561328a5761328a613e02565b818302604051838282010181811084821117156132a9576132a9613e02565b604052848152838101925086840182880185018910156132c7578687fd5b8692505b858310156132e95780358452928401926001929092019184016132cb565b50979650505050505050565b6000806000806080858703121561330a578384fd5b843561331581613e18565b9350602085013561332581613e18565b9250604085013561333581613e18565b9150606085013561334581613e18565b939692955090935050565b600060208284031215613361578081fd5b5035919050565b600060208284031215613379578081fd5b5051919050565b60008060408385031215613392578182fd5b8235915060208301356133a481613e18565b809150509250929050565b6000602082840312156133c0578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ec1578182fd5b6000610100808385031215613402578182fd5b6040519081019067ffffffffffffffff8211818310171561342557613425613e02565b816040528351815261343960208501613252565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600080600080600080600060e0888a03121561349f578283fd5b87359650602088013567ffffffffffffffff808211156134bd578485fd5b6134c98b838c0161325d565b975060408a01359150808211156134de578485fd5b6134ea8b838c0161325d565b965060608a01359150808211156134ff578485fd5b61350b8b838c0161325d565b955060808a0135915080821115613520578485fd5b5061352d8a828b0161325d565b93505060a0880135915060c0880135905092959891949750929550565b6000806040838503121561355c578182fd5b50508035926020909101359150565b60008060006060848603121561357f578081fd5b8335925060208401359150604084013567ffffffffffffffff8111156135a3578182fd5b6135af8682870161325d565b9150509250925092565b6000806000606084860312156135cd578081fd5b505081359360208301359350604090920135919050565b6000602082840312156135f5578081fd5b815160ff81168114610ec1578182fd5b6000815180845260208085019450808401835b8381101561363457815187529582019590820190600101613618565b509495945050505050565b6000815480845260208085019450838352808320835b8381101561363457815487529582019560019182019101613655565b15159052565b600061010082518452602083015181602086015261369782860182613605565b915050604083015184820360408601526136b18282613605565b915050606083015184820360608601526136cb8282613605565b915050608083015184820360808601526136e58282613605565b91505060a083015160a085015260c083015160c085015260e083015161370e60e0860182613671565b509392505050565b6001600160a01b0391909116815260200190565b600060208252610ec16020830184613605565b901515815260200190565b90815260200190565b60ff929092168252602082015260400190565b60ff9390931683526020830191909152604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526029908201527f736f727465645b695d206973206e6f742067726561746572207468616e206c6160408201527f7374566973697465640000000000000000000000000000000000000000000000606082015260800190565b6020808252600b908201527f6e6f7420656c6563746564000000000000000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526014908201527f4d656469616e2063616e2774206265207a65726f000000000000000000000000604082015260600190565b60208082526014908201527f41737365744964206e6f74206d61746368696e67000000000000000000000000604082015260600190565b60208082526037908201527f50726f706f73656420416c7465726e61746520626c6f636b206973206964656e60408201527f746963616c20746f2070726f706f73656420626c6f636b000000000000000000606082015260800190565b60208082526019908201527f7374616b652062656c6f77206d696e696d756d207374616b6500000000000000604082015260600190565b60208082526021908201527f546f74616c207374616b652072657665616c656420646f65736e74206d61746360408201527f6800000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b600060208252610ec16020830184613677565b600060808252613b546080830187613677565b8281036020840152613b668187613605565b90508281036040840152613b7a8186613605565b90508281036060840152613b8e8185613605565b979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b918252602082015260400190565b60006101208b83528a6020840152806040840152613be68184018b613605565b90508281036060840152613bfa818a613605565b90508281036080840152613c0e8189613605565b905082810360a0840152613c228188613605565b60c0840196909652505060e0810192909252610100909101529695505050505050565b600088825287602083015260e06040830152613c6460e083018861363f565b8281036060840152613c76818861363f565b90508281036080840152613c8a818761363f565b905082810360a0840152613c9e818661363f565b9150508260c083015298975050505050505050565b9283526020830191909152604082015260600190565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b60008219821115613d2157613d21613dd6565b500190565b600082613d3557613d35613dec565b500490565b6000816000190483118215151615613d5457613d54613dd6565b500290565b600082821015613d6b57613d6b613dd6565b500390565b600081613d7f57613d7f613dd6565b506000190190565b6000600019821415613d9b57613d9b613dd6565b5060010190565b600060ff821660ff811415613db957613db9613dd6565b60010192915050565b600082613dd157613dd1613dec565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461263857600080fdfea2646970667358221220e91e23bd1379a0e480dc3dea072e45dd8b056c215e85337523323db38cc253bb64736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80635ce8772f116100f9578063a27ce1ef11610097578063d547741f11610071578063d547741f146103cd578063e38c7c42146103e0578063f25b3f99146103f3578063fae4425d14610406576101c4565b8063a27ce1ef14610384578063d1a4a43d146103a7578063d2a4669a146103ba576101c4565b806391d14854116100d357806391d148541461033e57806392b48411146103515780639b87f64414610374578063a217fddf1461037c576101c4565b80635ce8772f146102fe5780637542ff9514610311578063828496d614610319576101c4565b80632f2ff15d116101665780633cd32fd4116101405780633cd32fd4146102c85780633df395a3146102db57806342c1e587146102e35780634e6753b7146102eb576101c4565b80632f2ff15d1461028257806336568abe14610295578063378ab9a9146102a8576101c4565b806317d99c04116101a257806317d99c04146102275780631d69ff9b1461023a578063248a9ca31461024d5780632e716fb11461026d576101c4565b806301ffc9a7146101c957806304c07569146101f257806306552ff314610212575b600080fd5b6101dc6101d73660046133af565b610419565b6040516101e9919061373d565b60405180910390f35b610205610200366004613350565b610477565b6040516101e99190613b2e565b6102256102203660046132f5565b610627565b005b610225610235366004613485565b61068f565b6101dc6102483660046135b9565b610b63565b61026061025b366004613350565b610ec8565b6040516101e99190613748565b610275610edd565b6040516101e99190613716565b610225610290366004613380565b610eec565b6102256102a3366004613380565b610f2a565b6102bb6102b6366004613350565b610f6c565b6040516101e9919061372a565b6102256102d636600461354a565b610fd1565b610275611540565b61027561154f565b6102256102f936600461356b565b61155e565b61022561030c366004613350565b611c5f565b610275611e8f565b61032c610327366004613380565b611e9e565b6040516101e996959493929190613ce6565b6101dc61034c366004613380565b611edc565b61036461035f36600461354a565b611f05565b6040516101e99493929190613cc9565b610225611f4e565b61026061263b565b61039761039236600461354a565b612640565b6040516101e99493929190613b41565b6102bb6103b536600461354a565b612848565b6102bb6103c8366004613350565b6128e2565b6102256103db366004613380565b612945565b6102606103ee366004613350565b61296d565b610364610401366004613350565b61297f565b6102bb610414366004613350565b6129a9565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061046f575061046f82612a0c565b90505b919050565b61047f613151565b60008281526003602090815260409182902082516101008101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156104ec57602002820191906000526020600020905b8154815260200190600101908083116104d8575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561054457602002820191906000526020600020905b815481526020019060010190808311610530575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561059c57602002820191906000526020600020905b815481526020019060010190808311610588575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156105f457602002820191906000526020600020905b8154815260200190600101908083116105e0575b5050509183525050600582015460208201526006820154604082015260079091015460ff16151560609091015292915050565b600480546001600160a01b039586167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556005805494861694821694909417909355600680549285169284169290921790915560078054919093169116179055565b60055460408051630eaf323560e31b8152905189926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156106d357600080fd5b505afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b9190613368565b81146107325760405162461bcd60e51b8152600401610729906138cd565b60405180910390fd5b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63c198f8ba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561077657600080fd5b505af415801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae91906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108379190613368565b81146108555760405162461bcd60e51b815260040161072990613a9a565b600480546040517f6022a4850000000000000000000000000000000000000000000000000000000081526000926001600160a01b0390921691636022a485916108a091339101613716565b60206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190613368565b90506108fd858583610b63565b6109195760405162461bcd60e51b815260040161072990613839565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561095d57600080fd5b505af4158015610971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109959190613368565b600480546040516371e4cc7f60e11b81526001600160a01b039091169163e3c998fe916109c491869101613748565b6101006040518083038186803b1580156109dd57600080fd5b505afa1580156109f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1591906133ef565b604001511015610a375760405162461bcd60e51b815260040161072990613a06565b610b108a6040518061010001604052808481526020018c81526020018b81526020018a8152602001898152602001888152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e3c998fe896040518263ffffffff1660e01b8152600401610aac9190613748565b6101006040518083038186803b158015610ac557600080fd5b505afa158015610ad9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afd91906133ef565b6040015181526001602090910152612a56565b7fee036cc96c88163f353feaa4d497e88baaebeb631f40ad9b8a6d51bb6fad40768a828b8b8b8b8b8b42604051610b4f99989796959493929190613bc6565b60405180910390a150505050505050505050565b60008173__$3b76b38140ea5d8f6a5a565441556589de$__635075dbfb600a600460009054906101000a90046001600160a01b03166001600160a01b031663bc788d466040518163ffffffff1660e01b815260040160206040518083038186803b158015610bd057600080fd5b505afa158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c089190613368565b88604051602001610c199190613748565b604051602081830303815290604052805190602001206040518463ffffffff1660e01b8152600401610c4d93929190613764565b60206040518083038186803b158015610c6557600080fd5b505af4158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190613368565b610ca8906001613d0e565b14610cb557506000610ec1565b600073__$3b76b38140ea5d8f6a5a565441556589de$__63b07ceab8600a8588604051602001610ce6929190613bb8565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610d19929190613751565b60206040518083038186803b158015610d3157600080fd5b505af4158015610d45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d699190613368565b90506000610d7c64010000000083613dc2565b600480546040516371e4cc7f60e11b81529293506000926001600160a01b039091169163e3c998fe91610db1918a9101613748565b6101006040518083038186803b158015610dca57600080fd5b505afa158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0291906133ef565b6040908101516004805492516371e4cc7f60e11b81529193506001600160a01b039092169163e3c998fe91610e3991899101613748565b6101006040518083038186803b158015610e5257600080fd5b505afa158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a91906133ef565b60400151610e9d90640100000000613d3a565b610ea78284613d3a565b1115610eb95760009350505050610ec1565b600193505050505b9392505050565b60009081526020819052604090206001015490565b6005546001600160a01b031681565b610f00610ef883610ec8565b61034c613045565b610f1c5760405162461bcd60e51b81526004016107299061377f565b610f268282613049565b5050565b610f32613045565b6001600160a01b0316816001600160a01b031614610f625760405162461bcd60e51b815260040161072990613ad1565b610f2682826130ce565b600081815260036020908152604091829020600201805483518184028101840190945280845260609392830182828015610fc557602002820191906000526020600020905b815481526020019060010190808311610fb1575b50505050509050919050565b60055460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561101557600080fd5b505afa158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d9190613368565b811461106b5760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b1580156110af57600080fd5b505af41580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e791906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561113857600080fd5b505afa15801561114c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111709190613368565b811461118e5760405162461bcd60e51b815260040161072990613a9a565b60008481526001602090815260408083203384529091529081902060050154600654915163a6a145d960e01b815290916001600160a01b03169063a6a145d9906111de9088908590600401613bb8565b60206040518083038186803b1580156111f657600080fd5b505afa15801561120a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122e9190613368565b6000868152600160209081526040808320338452909152902054146112655760405162461bcd60e51b815260040161072990613a3d565b60008581526001602081815260408084203385528252808420928301546002808501546003909501548b875293529084208054919491899081106112b957634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600001549050600084116112ed5760405162461bcd60e51b81526004016107299061393b565b600089815260026020526040902080548591908a90811061131e57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201868154811061134e57634e487b7160e01b600052603260045260246000fd5b90600052602060002001541415806113d05750600089815260026020526040902080548491908a90811061139257634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160030186815481106113c257634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b806114455750600089815260026020526040902080548391908a90811061140757634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600401868154811061143757634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b1561151d57600089815260026020526040812080548a90811061147857634e487b7160e01b600052603260045260246000fd5b60009182526020909120600890910201600701805460ff1916911515919091179055600480546040517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911691630f91ce19916114e691859133918f9101613b99565b600060405180830381600087803b15801561150057600080fd5b505af1158015611514573d6000803e3d6000fd5b50505050611535565b60405162461bcd60e51b8152600401610729906139a9565b505050505050505050565b6007546001600160a01b031681565b6006546001600160a01b031681565b60055460408051630eaf323560e31b8152905185926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156115a257600080fd5b505afa1580156115b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115da9190613368565b81146115f85760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b15801561163c57600080fd5b505af4158015611650573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167491906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116c557600080fd5b505afa1580156116d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fd9190613368565b811461171b5760405162461bcd60e51b815260040161072990613a9a565b60065460405163a6a145d960e01b81526000916002916001600160a01b039091169063a6a145d990611753908a908a90600401613bb8565b60206040518083038186803b15801561176b57600080fd5b505afa15801561177f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a39190613368565b6117ad9190613d26565b60065460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d9906117e5908b908b908601613bb8565b60206040518083038186803b1580156117fd57600080fd5b505afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118359190613368565b61183f9190613d26565b60065460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611877908c908c908601613bb8565b60206040518083038186803b15801561188f57600080fd5b505afa1580156118a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c79190613368565b6118d2906003613d3a565b6118dc9190613d26565b600089815260016020908152604080832033845290915290208054600490910154919250908161192a5760008a81526001602090815260408083203384529091529020600501899055611965565b60008a815260016020908152604080832033845290915290206005015489146119655760405162461bcd60e51b815260040161072990613972565b60005b8851811015611c30578189828151811061199257634e487b7160e01b600052603260045260246000fd5b6020026020010151116119b75760405162461bcd60e51b8152600401610729906137dc565b8881815181106119d757634e487b7160e01b600052603260045260246000fd5b60200260200101519150600660009054906101000a90046001600160a01b03166001600160a01b0316639c66556f8c8c8c8581518110611a2757634e487b7160e01b600052603260045260246000fd5b60200260200101516040518463ffffffff1660e01b8152600401611a4d93929190613cb3565b60206040518083038186803b158015611a6557600080fd5b505afa158015611a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9d9190613368565b611aa79084613d0e565b60008c8152600160209081526040808320338452909152902060020154909350158015611ad45750848310155b15611b2257888181518110611af957634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018352604080822033835290935291909120600201555b60008b81526001602081815260408084203385529091529091200154158015611b4a57508583115b15611b9857888181518110611b6f57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018084526040808320338452909452929020909101555b60008b8152600160209081526040808320338452909152902060030154158015611bc157508383115b15611c0f57888181518110611be657634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260018352604080822033835290935291909120600301555b6127105a1015611c1e57611c30565b80611c2881613d87565b915050611968565b506000998a52600160209081526040808c20338d52909152909920600481019990995590975550505050505050565b60055460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015611ca357600080fd5b505afa158015611cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdb9190613368565b8114611cf95760405162461bcd60e51b8152600401610729906138cd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b158015611d3d57600080fd5b505af4158015611d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7591906135e4565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc657600080fd5b505afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfe9190613368565b8114611e1c5760405162461bcd60e51b815260040161072990613a9a565b50506040805160c08101825260008082526020808301828152838501838152606085018481526080860185815260a0870186815298865260018086528887203388529095529690942094518555905191840191909155516002830155516003820155905160048201559051600590910155565b6004546001600160a01b031681565b600160208181526000938452604080852090915291835291208054918101546002820154600383015460048401546005909401549293919290919086565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60026020528160005260406000208181548110611f2157600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63d98b3ced6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f9257600080fd5b505af4158015611fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fca9190613368565b611fd48133611edc565b611ff05760405162461bcd60e51b815260040161072990613904565b60055460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561203557600080fd5b505afa158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206d9190613368565b905060005b60026000612081600185613d59565b815260208101919091526040016000205460ff8216101561263557600260006120ab600185613d59565b81526020019081526020016000208160ff16815481106120db57634e487b7160e01b600052603260045260246000fd5b600091825260209091206007600890920201015460ff16156126235760026000612106600185613d59565b81526020019081526020016000208160ff168154811061213657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600360006001856121559190613d59565b81526020810191909152604001600020815481556001808301805461217d9284019190613198565b50600282810180546121929284019190613198565b50600382810180546121a79284019190613198565b50600482810180546121bc9284019190613198565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905560006002816121fc600186613d59565b81526020019081526020016000208260ff168154811061222c57634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102015490507f5ef264ae9101b91bd7117350c5e85901297fa0569e7a3e07eb7ec0a6281529f061226b600185613d59565b826002600061227b600189613d59565b81526020019081526020016000208560ff16815481106122ab57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201600260006001896122cd9190613d59565b81526020019081526020016000208660ff16815481106122fd57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016003016002600060018a61231f9190613d59565b81526020019081526020016000208760ff168154811061234f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016004016002600060018b6123719190613d59565b81526020019081526020016000208860ff16815481106123a157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101426040516123c69796959493929190613c45565b60405180910390a160005b600260006123e0600187613d59565b81526020019081526020016000208360ff168154811061241057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101805490508160ff16101561259e576007546001600160a01b03166356350bdf6002600061244f600189613d59565b81526020019081526020016000208560ff168154811061247f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016001018360ff16815481106124b257634e487b7160e01b600052603260045260246000fd5b9060005260206000200154600260006001896124ce9190613d59565b81526020019081526020016000208660ff16815481106124fe57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018460ff168154811061253157634e487b7160e01b600052603260045260246000fd5b90600052602060002001546040518363ffffffff1660e01b8152600401612559929190613bb8565b600060405180830381600087803b15801561257357600080fd5b505af1158015612587573d6000803e3d6000fd5b50505050808061259690613da2565b9150506123d1565b50600480546040517f746c8b650000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163746c8b65916125e9918591889101613bb8565b600060405180830381600087803b15801561260357600080fd5b505af1158015612617573d6000803e3d6000fd5b50505050505050612638565b8061262d81613da2565b915050612072565b50505b50565b600081565b612648613151565b606080606060026000878152602001908152602001600020858154811061267f57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016040518061010001604052908160008201548152602001600182018054806020026020016040519081016040528092919081815260200182805480156126f257602002820191906000526020600020905b8154815260200190600101908083116126de575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561274a57602002820191906000526020600020905b815481526020019060010190808311612736575b50505050508152602001600382018054806020026020016040519081016040528092919081815260200182805480156127a257602002820191906000526020600020905b81548152602001906001019080831161278e575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156127fa57602002820191906000526020600020905b8154815260200190600101908083116127e6575b505050918352505060058201546020820152600682015460408083019190915260079092015460ff161515606091820152908201519082015160808301519299919850965090945092505050565b60008281526002602052604090208054606091908390811061287a57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018054806020026020016040519081016040528092919081815260200182805480156128d557602002820191906000526020600020905b8154815260200190600101908083116128c1575b5050505050905092915050565b600081815260036020818152604092839020909101805483518184028101840190945280845260609392830182828015610fc55760200282019190600052602060002090815481526020019060010190808311610fb15750505050509050919050565b612951610ef883610ec8565b610f625760405162461bcd60e51b815260040161072990613870565b60009081526002602052604090205490565b60036020526000908152604090208054600582015460068301546007909301549192909160ff1684565b600081815260036020908152604091829020600401805483518184028101840190945280845260609392830182828015610fc55760200282019190600052602060002090815481526020019060010190808311610fb15750505050509050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600082815260026020526040902054612b335760008281526002602090815260408220805460018181018355918452928290208451600890940201928355838201518051859493612aab9385019201906131e8565b5060408201518051612ac79160028401916020909101906131e8565b5060608201518051612ae39160038401916020909101906131e8565b5060808201518051612aff9160048401916020909101906131e8565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055610f26565b600082815260026020526040812054905b600084815260026020526040902054811015612c125760c08301516000858152600260205260409020805483908110612b8d57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600601541015612bad57809150612c12565b60a08301516000858152600260205260409020805483908110612be057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600501541115612c0057809150612c12565b80612c0a81613d87565b915050612b44565b5060008381526002602090815260408220805460018181018355918452928290208551600890940201928355848201518051869493612c559385019201906131e8565b5060408201518051612c719160028401916020909101906131e8565b5060608201518051612c8d9160038401916020909101906131e8565b5060808201518051612ca99160048401916020909101906131e8565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055600083815260026020526040812054612cf390600190613d59565b90505b81811115612e1f576000848152600260205260409020612d17600183613d59565b81548110612d3557634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600260008681526020019081526020016000208281548110612d7557634e487b7160e01b600052603260045260246000fd5b60009182526020909120825460089092020190815560018083018054612d9e9284019190613198565b5060028281018054612db39284019190613198565b5060038281018054612dc89284019190613198565b5060048281018054612ddd9284019190613198565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905580612e1781613d70565b915050612cf6565b506000838152600260205260409020805483919083908110612e5157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600082015181600001556020820151816001019080519060200190612e859291906131e8565b5060408201518051612ea19160028401916020909101906131e8565b5060608201518051612ebd9160038401916020909101906131e8565b5060808201518051612ed99160048401916020909101906131e8565b5060a0820151816005015560c0820151816006015560e08201518160070160006101000a81548160ff02191690831515021790555090505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63379597e06040518163ffffffff1660e01b815260040160206040518083038186803b158015612f5557600080fd5b505af4158015612f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f8d9190613368565b60008481526002602052604090205411156126355760008381526002602052604090208054612fbe90600190613d59565b81548110612fdc57634e487b7160e01b600052603260045260246000fd5b60009182526020822060089091020181815590612ffc6001830182613223565b61300a600283016000613223565b613018600383016000613223565b613026600483016000613223565b506000600582018190556006820155600701805460ff19169055505050565b3390565b6130538282611edc565b610f26576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561308a613045565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6130d88282611edc565b15610f26576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916905561310d613045565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806101000160405280600081526020016060815260200160608152602001606081526020016060815260200160008152602001600081526020016000151581525090565b8280548282559060005260206000209081019282156131d85760005260206000209182015b828111156131d85782548255916001019190600101906131bd565b506131e492915061323d565b5090565b8280548282559060005260206000209081019282156131d8579160200282015b828111156131d8578251825591602001919060010190613208565b508054600082559060005260206000209081019061263891905b5b808211156131e4576000815560010161323e565b805161047281613e18565b600082601f83011261326d578081fd5b8135602067ffffffffffffffff8083111561328a5761328a613e02565b818302604051838282010181811084821117156132a9576132a9613e02565b604052848152838101925086840182880185018910156132c7578687fd5b8692505b858310156132e95780358452928401926001929092019184016132cb565b50979650505050505050565b6000806000806080858703121561330a578384fd5b843561331581613e18565b9350602085013561332581613e18565b9250604085013561333581613e18565b9150606085013561334581613e18565b939692955090935050565b600060208284031215613361578081fd5b5035919050565b600060208284031215613379578081fd5b5051919050565b60008060408385031215613392578182fd5b8235915060208301356133a481613e18565b809150509250929050565b6000602082840312156133c0578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ec1578182fd5b6000610100808385031215613402578182fd5b6040519081019067ffffffffffffffff8211818310171561342557613425613e02565b816040528351815261343960208501613252565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600080600080600080600060e0888a03121561349f578283fd5b87359650602088013567ffffffffffffffff808211156134bd578485fd5b6134c98b838c0161325d565b975060408a01359150808211156134de578485fd5b6134ea8b838c0161325d565b965060608a01359150808211156134ff578485fd5b61350b8b838c0161325d565b955060808a0135915080821115613520578485fd5b5061352d8a828b0161325d565b93505060a0880135915060c0880135905092959891949750929550565b6000806040838503121561355c578182fd5b50508035926020909101359150565b60008060006060848603121561357f578081fd5b8335925060208401359150604084013567ffffffffffffffff8111156135a3578182fd5b6135af8682870161325d565b9150509250925092565b6000806000606084860312156135cd578081fd5b505081359360208301359350604090920135919050565b6000602082840312156135f5578081fd5b815160ff81168114610ec1578182fd5b6000815180845260208085019450808401835b8381101561363457815187529582019590820190600101613618565b509495945050505050565b6000815480845260208085019450838352808320835b8381101561363457815487529582019560019182019101613655565b15159052565b600061010082518452602083015181602086015261369782860182613605565b915050604083015184820360408601526136b18282613605565b915050606083015184820360608601526136cb8282613605565b915050608083015184820360808601526136e58282613605565b91505060a083015160a085015260c083015160c085015260e083015161370e60e0860182613671565b509392505050565b6001600160a01b0391909116815260200190565b600060208252610ec16020830184613605565b901515815260200190565b90815260200190565b60ff929092168252602082015260400190565b60ff9390931683526020830191909152604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526029908201527f736f727465645b695d206973206e6f742067726561746572207468616e206c6160408201527f7374566973697465640000000000000000000000000000000000000000000000606082015260800190565b6020808252600b908201527f6e6f7420656c6563746564000000000000000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526014908201527f4d656469616e2063616e2774206265207a65726f000000000000000000000000604082015260600190565b60208082526014908201527f41737365744964206e6f74206d61746368696e67000000000000000000000000604082015260600190565b60208082526037908201527f50726f706f73656420416c7465726e61746520626c6f636b206973206964656e60408201527f746963616c20746f2070726f706f73656420626c6f636b000000000000000000606082015260800190565b60208082526019908201527f7374616b652062656c6f77206d696e696d756d207374616b6500000000000000604082015260600190565b60208082526021908201527f546f74616c207374616b652072657665616c656420646f65736e74206d61746360408201527f6800000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b600060208252610ec16020830184613677565b600060808252613b546080830187613677565b8281036020840152613b668187613605565b90508281036040840152613b7a8186613605565b90508281036060840152613b8e8185613605565b979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b918252602082015260400190565b60006101208b83528a6020840152806040840152613be68184018b613605565b90508281036060840152613bfa818a613605565b90508281036080840152613c0e8189613605565b905082810360a0840152613c228188613605565b60c0840196909652505060e0810192909252610100909101529695505050505050565b600088825287602083015260e06040830152613c6460e083018861363f565b8281036060840152613c76818861363f565b90508281036080840152613c8a818761363f565b905082810360a0840152613c9e818661363f565b9150508260c083015298975050505050505050565b9283526020830191909152604082015260600190565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b60008219821115613d2157613d21613dd6565b500190565b600082613d3557613d35613dec565b500490565b6000816000190483118215151615613d5457613d54613dd6565b500290565b600082821015613d6b57613d6b613dd6565b500390565b600081613d7f57613d7f613dd6565b506000190190565b6000600019821415613d9b57613d9b613dd6565b5060010190565b600060ff821660ff811415613db957613db9613dd6565b60010192915050565b600082613dd157613dd1613dec565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461263857600080fdfea2646970667358221220e91e23bd1379a0e480dc3dea072e45dd8b056c215e85337523323db38cc253bb64736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 2096 - }, - { - "length": 20, - "start": 2583 - }, - { - "length": 20, - "start": 4457 - }, - { - "length": 20, - "start": 5878 - }, - { - "length": 20, - "start": 7671 - }, - { - "length": 20, - "start": 8268 - }, - { - "length": 20, - "start": 12303 - } - ] - }, - "contracts/lib/Random.sol": { - "Random": [ - { - "length": 20, - "start": 3172 - }, - { - "length": 20, - "start": 3509 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1844 - }, - { - "length": 20, - "start": 2331 - }, - { - "length": 20, - "start": 4205 - }, - { - "length": 20, - "start": 5626 - }, - { - "length": 20, - "start": 7419 - }, - { - "length": 20, - "start": 8016 - }, - { - "length": 20, - "start": 12051 - } - ] - }, - "contracts/lib/Random.sol": { - "Random": [ - { - "length": 20, - "start": 2920 - }, - { - "length": 20, - "start": 3257 - } - ] - } - } -} diff --git a/deployed/goerli/abi/contracts/Core/JobManager.sol/JobManager.dbg.json b/deployed/goerli/abi/contracts/Core/JobManager.sol/JobManager.dbg.json deleted file mode 100644 index 1d742005..00000000 --- a/deployed/goerli/abi/contracts/Core/JobManager.sol/JobManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/JobManager.sol/JobManager.json b/deployed/goerli/abi/contracts/Core/JobManager.sol/JobManager.json deleted file mode 100644 index 729c7065..00000000 --- a/deployed/goerli/abi/contracts/Core/JobManager.sol/JobManager.json +++ /dev/null @@ -1,587 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "JobManager", - "sourceName": "contracts/Core/JobManager.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "JobCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "JobReported", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - } - ], - "name": "createJob", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "jobId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "fulfillJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNumJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "jobs", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506200001f60003362000025565b620000ec565b62000031828262000035565b5050565b620000418282620000bf565b62000031576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200007b620000e8565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b6116bf80620000fc6000396000f3fe6080604052600436106100f35760003560e01c8063628aff1d1161008a578063995e433911610059578063995e433914610292578063a217fddf146102b2578063bf22c457146102c7578063d547741f146102f8576100f3565b8063628aff1d146102355780637e0c00ed1461024857806391d148541461025d5780639212051c1461027d576100f3565b80632e716fb1116100c65780632e716fb1146101b35780632f2ff15d146101d557806336568abe146101f557806356350bdf14610215576100f3565b806301ffc9a7146100f8578063180aedf31461012e57806319ab453c14610164578063248a9ca314610186575b600080fd5b34801561010457600080fd5b506101186101133660046110a6565b610318565b60405161012591906112cb565b60405180910390f35b34801561013a57600080fd5b5061014e61014936600461104b565b610376565b6040516101259a99989796959493929190611510565b34801561017057600080fd5b5061018461017f36600461102a565b61056f565b005b34801561019257600080fd5b506101a66101a136600461104b565b6105a9565b60405161012591906112d6565b3480156101bf57600080fd5b506101c86105be565b60405161012591906112df565b3480156101e157600080fd5b506101846101f036600461107b565b6105cd565b34801561020157600080fd5b5061018461021036600461107b565b610614565b34801561022157600080fd5b50610184610230366004611194565b610656565b6101846102433660046110e6565b610826565b34801561025457600080fd5b506101a6610af4565b34801561026957600080fd5b5061011861027836600461107b565b610afa565b34801561028957600080fd5b506101a6610b23565b34801561029e57600080fd5b506101a66102ad36600461104b565b610b29565b3480156102be57600080fd5b506101a6610b3e565b3480156102d357600080fd5b506102e76102e236600461104b565b610b43565b6040516101259594939291906112f3565b34801561030457600080fd5b5061018461031336600461107b565b610db5565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061036e575061036e82610ddd565b90505b919050565b6002602081905260009182526040909120805460018201549282018054919392916103a09061164e565b80601f01602080910402602001604051908101604052809291908181526020018280546103cc9061164e565b80156104195780601f106103ee57610100808354040283529160200191610419565b820191906000526020600020905b8154815290600101906020018083116103fc57829003601f168201915b50505050509080600301805461042e9061164e565b80601f016020809104026020016040519081016040528092919081815260200182805461045a9061164e565b80156104a75780601f1061047c576101008083540402835291602001916104a7565b820191906000526020600020905b81548152906001019060200180831161048a57829003601f168201915b5050505050908060040180546104bc9061164e565b80601f01602080910402602001604051908101604052809291908181526020018280546104e89061164e565b80156105355780601f1061050a57610100808354040283529160200191610535565b820191906000526020600020905b81548152906001019060200180831161051857829003601f168201915b50505050600583015460068401546007850154600890950154939460ff808416956101009094046001600160a01b0316945091929116908a565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60009081526020819052604090206001015490565b6003546001600160a01b031681565b6105e16105d9836105a9565b610278610e27565b6106065760405162461bcd60e51b81526004016105fd90611341565b60405180910390fd5b6106108282610e2b565b5050565b61061c610e27565b6001600160a01b0316816001600160a01b03161461064c5760405162461bcd60e51b81526004016105fd90611432565b6106108282610eb0565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__637f890b116040518163ffffffff1660e01b815260040160206040518083038186803b15801561069a57600080fd5b505af41580156106ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d29190611063565b6106dc8133610afa565b6106f85760405162461bcd60e51b81526004016105fd906113fb565b60008381526002602090815260408083206003548251630eaf323560e31b815292519194936001600160a01b039091169263757991a89260048083019392829003018186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107829190611063565b600583015490915060ff166107a15760078201805460ff191660011790555b6008820184905581546005830154600684015460078501546040517f9028bea5bfa7ed26c48df402d89085a995447dc8c1fb167cb92a3c7411b54480946108179490938a93889360028b019360038c019360048d019360ff808416946101009094046001600160a01b0316939116904290611593565b60405180910390a15050505050565b600180546108339161162a565b60015560035460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561087b57600080fd5b505afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190611063565b9050600060405180610140016040528060015481526020018381526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a9081908401838280828437600092019190915250505090825250604080516020601f8901819004810282018101909252878152918101919088908890819084018382808284376000920182905250938552505050851515602080840191909152336040808501919091523460608501526080840183905260a090930182905260018054835260028083529284902085518155858301519181019190915592840151805194955085946109e4938501929190910190610f33565b5060608201518051610a00916003840191602090910190610f33565b5060808201518051610a1c916004840191602090910190610f33565b5060a082015160058201805460c085015160ff19918216931515939093177fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0390941684021790915560e0840151600684015590830151600783018054909216901515179055610120909101516008909101556001546040517fd4ae17fdeb78e69409330361e8f8475f8027928c6f28eae2195e5ae56570aba091610ae19185908d908d908d908d908d908d908d9033903490429061148f565b60405180910390a1505050505050505050565b60015490565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60015481565b60009081526002602052604090206008015490565b600081565b6060806060600080600060026000888152602001908152602001600020604051806101400160405290816000820154815260200160018201548152602001600282018054610b909061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbc9061164e565b8015610c095780601f10610bde57610100808354040283529160200191610c09565b820191906000526020600020905b815481529060010190602001808311610bec57829003601f168201915b50505050508152602001600382018054610c229061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4e9061164e565b8015610c9b5780601f10610c7057610100808354040283529160200191610c9b565b820191906000526020600020905b815481529060010190602001808311610c7e57829003601f168201915b50505050508152602001600482018054610cb49061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce09061164e565b8015610d2d5780601f10610d0257610100808354040283529160200191610d2d565b820191906000526020600020905b815481529060010190602001808311610d1057829003601f168201915b5050509183525050600582015460ff808216151560208401526101009091046001600160a01b031660408084019190915260068401546060808501919091526007850154909216151560808085019190915260089094015460a09384015284015190840151928401519184015161012090940151909b929a5090985091965090945092505050565b610dc16105d9836105a9565b61064c5760405162461bcd60e51b81526004016105fd9061139e565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b610e358282610afa565b610610576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610e6c610e27565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610eba8282610afa565b15610610576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055610eef610e27565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b828054610f3f9061164e565b90600052602060002090601f016020900481019282610f615760008555610fa7565b82601f10610f7a57805160ff1916838001178555610fa7565b82800160010185558215610fa7579182015b82811115610fa7578251825591602001919060010190610f8c565b50610fb3929150610fb7565b5090565b5b80821115610fb35760008155600101610fb8565b80356001600160a01b038116811461037157600080fd5b60008083601f840112610ff4578182fd5b50813567ffffffffffffffff81111561100b578182fd5b60208301915083602082850101111561102357600080fd5b9250929050565b60006020828403121561103b578081fd5b61104482610fcc565b9392505050565b60006020828403121561105c578081fd5b5035919050565b600060208284031215611074578081fd5b5051919050565b6000806040838503121561108d578081fd5b8235915061109d60208401610fcc565b90509250929050565b6000602082840312156110b7578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611044578182fd5b60008060008060008060006080888a031215611100578283fd5b873567ffffffffffffffff80821115611117578485fd5b6111238b838c01610fe3565b909950975060208a013591508082111561113b578485fd5b6111478b838c01610fe3565b909750955060408a013591508082111561115f578485fd5b5061116c8a828b01610fe3565b90945092505060608801358015158114611184578182fd5b8091505092959891949750929550565b600080604083850312156111a6578182fd5b50508035926020909101359150565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b81811015611204576020818501810151868301820152016111e8565b818111156112155782602083870101525b50601f01601f19169290920160200192915050565b80546000906002810460018083168061124457607f831692505b602080841082141561126457634e487b7160e01b86526022600452602486fd5b61126e84896112d6565b8280156112825760018114611293576112be565b60ff198716825282820197506112be565b61129c8961161e565b60005b878110156112b85781548482015290860190840161129f565b83019850505b5050505050505092915050565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b600060a0825261130660a08301886111df565b828103602084015261131881886111df565b9050828103604084015261132c81876111df565b94151560608401525050608001529392505050565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60006101208e83528d60208401528060408401526114b08184018d8f6111b5565b905082810360608401526114c5818b8d6111b5565b905082810360808401526114da81898b6111b5565b96151560a084015250506001600160a01b039390931660c084015260e08301919091526101009091015298975050505050505050565b60006101408c83528b60208401528060408401526115308184018c6111df565b90508281036060840152611544818b6111df565b90508281036080840152611558818a6111df565b97151560a084015250506001600160a01b039490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60006101608d83528c60208401528b60408401528060608401526115b98184018c61122a565b905082810360808401526115cd818b61122a565b905082810360a08401526115e1818a61122a565b97151560c084015250506001600160a01b039490941660e08501526101008401929092521515610120830152610140909101529695505050505050565b60009081526020902090565b6000821982111561164957634e487b7160e01b81526011600452602481fd5b500190565b60028104600182168061166257607f821691505b6020821081141561168357634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220f10551ba28355592a0a352e53daede7aae6da9a2fc175938b889f1a0049151aa64736f6c63430008000033", - "deployedBytecode": "0x6080604052600436106100f35760003560e01c8063628aff1d1161008a578063995e433911610059578063995e433914610292578063a217fddf146102b2578063bf22c457146102c7578063d547741f146102f8576100f3565b8063628aff1d146102355780637e0c00ed1461024857806391d148541461025d5780639212051c1461027d576100f3565b80632e716fb1116100c65780632e716fb1146101b35780632f2ff15d146101d557806336568abe146101f557806356350bdf14610215576100f3565b806301ffc9a7146100f8578063180aedf31461012e57806319ab453c14610164578063248a9ca314610186575b600080fd5b34801561010457600080fd5b506101186101133660046110a6565b610318565b60405161012591906112cb565b60405180910390f35b34801561013a57600080fd5b5061014e61014936600461104b565b610376565b6040516101259a99989796959493929190611510565b34801561017057600080fd5b5061018461017f36600461102a565b61056f565b005b34801561019257600080fd5b506101a66101a136600461104b565b6105a9565b60405161012591906112d6565b3480156101bf57600080fd5b506101c86105be565b60405161012591906112df565b3480156101e157600080fd5b506101846101f036600461107b565b6105cd565b34801561020157600080fd5b5061018461021036600461107b565b610614565b34801561022157600080fd5b50610184610230366004611194565b610656565b6101846102433660046110e6565b610826565b34801561025457600080fd5b506101a6610af4565b34801561026957600080fd5b5061011861027836600461107b565b610afa565b34801561028957600080fd5b506101a6610b23565b34801561029e57600080fd5b506101a66102ad36600461104b565b610b29565b3480156102be57600080fd5b506101a6610b3e565b3480156102d357600080fd5b506102e76102e236600461104b565b610b43565b6040516101259594939291906112f3565b34801561030457600080fd5b5061018461031336600461107b565b610db5565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061036e575061036e82610ddd565b90505b919050565b6002602081905260009182526040909120805460018201549282018054919392916103a09061164e565b80601f01602080910402602001604051908101604052809291908181526020018280546103cc9061164e565b80156104195780601f106103ee57610100808354040283529160200191610419565b820191906000526020600020905b8154815290600101906020018083116103fc57829003601f168201915b50505050509080600301805461042e9061164e565b80601f016020809104026020016040519081016040528092919081815260200182805461045a9061164e565b80156104a75780601f1061047c576101008083540402835291602001916104a7565b820191906000526020600020905b81548152906001019060200180831161048a57829003601f168201915b5050505050908060040180546104bc9061164e565b80601f01602080910402602001604051908101604052809291908181526020018280546104e89061164e565b80156105355780601f1061050a57610100808354040283529160200191610535565b820191906000526020600020905b81548152906001019060200180831161051857829003601f168201915b50505050600583015460068401546007850154600890950154939460ff808416956101009094046001600160a01b0316945091929116908a565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60009081526020819052604090206001015490565b6003546001600160a01b031681565b6105e16105d9836105a9565b610278610e27565b6106065760405162461bcd60e51b81526004016105fd90611341565b60405180910390fd5b6106108282610e2b565b5050565b61061c610e27565b6001600160a01b0316816001600160a01b03161461064c5760405162461bcd60e51b81526004016105fd90611432565b6106108282610eb0565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__637f890b116040518163ffffffff1660e01b815260040160206040518083038186803b15801561069a57600080fd5b505af41580156106ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d29190611063565b6106dc8133610afa565b6106f85760405162461bcd60e51b81526004016105fd906113fb565b60008381526002602090815260408083206003548251630eaf323560e31b815292519194936001600160a01b039091169263757991a89260048083019392829003018186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107829190611063565b600583015490915060ff166107a15760078201805460ff191660011790555b6008820184905581546005830154600684015460078501546040517f9028bea5bfa7ed26c48df402d89085a995447dc8c1fb167cb92a3c7411b54480946108179490938a93889360028b019360038c019360048d019360ff808416946101009094046001600160a01b0316939116904290611593565b60405180910390a15050505050565b600180546108339161162a565b60015560035460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561087b57600080fd5b505afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190611063565b9050600060405180610140016040528060015481526020018381526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a9081908401838280828437600092019190915250505090825250604080516020601f8901819004810282018101909252878152918101919088908890819084018382808284376000920182905250938552505050851515602080840191909152336040808501919091523460608501526080840183905260a090930182905260018054835260028083529284902085518155858301519181019190915592840151805194955085946109e4938501929190910190610f33565b5060608201518051610a00916003840191602090910190610f33565b5060808201518051610a1c916004840191602090910190610f33565b5060a082015160058201805460c085015160ff19918216931515939093177fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0390941684021790915560e0840151600684015590830151600783018054909216901515179055610120909101516008909101556001546040517fd4ae17fdeb78e69409330361e8f8475f8027928c6f28eae2195e5ae56570aba091610ae19185908d908d908d908d908d908d908d9033903490429061148f565b60405180910390a1505050505050505050565b60015490565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60015481565b60009081526002602052604090206008015490565b600081565b6060806060600080600060026000888152602001908152602001600020604051806101400160405290816000820154815260200160018201548152602001600282018054610b909061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbc9061164e565b8015610c095780601f10610bde57610100808354040283529160200191610c09565b820191906000526020600020905b815481529060010190602001808311610bec57829003601f168201915b50505050508152602001600382018054610c229061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4e9061164e565b8015610c9b5780601f10610c7057610100808354040283529160200191610c9b565b820191906000526020600020905b815481529060010190602001808311610c7e57829003601f168201915b50505050508152602001600482018054610cb49061164e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce09061164e565b8015610d2d5780601f10610d0257610100808354040283529160200191610d2d565b820191906000526020600020905b815481529060010190602001808311610d1057829003601f168201915b5050509183525050600582015460ff808216151560208401526101009091046001600160a01b031660408084019190915260068401546060808501919091526007850154909216151560808085019190915260089094015460a09384015284015190840151928401519184015161012090940151909b929a5090985091965090945092505050565b610dc16105d9836105a9565b61064c5760405162461bcd60e51b81526004016105fd9061139e565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b610e358282610afa565b610610576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610e6c610e27565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610eba8282610afa565b15610610576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055610eef610e27565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b828054610f3f9061164e565b90600052602060002090601f016020900481019282610f615760008555610fa7565b82601f10610f7a57805160ff1916838001178555610fa7565b82800160010185558215610fa7579182015b82811115610fa7578251825591602001919060010190610f8c565b50610fb3929150610fb7565b5090565b5b80821115610fb35760008155600101610fb8565b80356001600160a01b038116811461037157600080fd5b60008083601f840112610ff4578182fd5b50813567ffffffffffffffff81111561100b578182fd5b60208301915083602082850101111561102357600080fd5b9250929050565b60006020828403121561103b578081fd5b61104482610fcc565b9392505050565b60006020828403121561105c578081fd5b5035919050565b600060208284031215611074578081fd5b5051919050565b6000806040838503121561108d578081fd5b8235915061109d60208401610fcc565b90509250929050565b6000602082840312156110b7578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611044578182fd5b60008060008060008060006080888a031215611100578283fd5b873567ffffffffffffffff80821115611117578485fd5b6111238b838c01610fe3565b909950975060208a013591508082111561113b578485fd5b6111478b838c01610fe3565b909750955060408a013591508082111561115f578485fd5b5061116c8a828b01610fe3565b90945092505060608801358015158114611184578182fd5b8091505092959891949750929550565b600080604083850312156111a6578182fd5b50508035926020909101359150565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b81811015611204576020818501810151868301820152016111e8565b818111156112155782602083870101525b50601f01601f19169290920160200192915050565b80546000906002810460018083168061124457607f831692505b602080841082141561126457634e487b7160e01b86526022600452602486fd5b61126e84896112d6565b8280156112825760018114611293576112be565b60ff198716825282820197506112be565b61129c8961161e565b60005b878110156112b85781548482015290860190840161129f565b83019850505b5050505050505092915050565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b600060a0825261130660a08301886111df565b828103602084015261131881886111df565b9050828103604084015261132c81876111df565b94151560608401525050608001529392505050565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60006101208e83528d60208401528060408401526114b08184018d8f6111b5565b905082810360608401526114c5818b8d6111b5565b905082810360808401526114da81898b6111b5565b96151560a084015250506001600160a01b039390931660c084015260e08301919091526101009091015298975050505050505050565b60006101408c83528b60208401528060408401526115308184018c6111df565b90508281036060840152611544818b6111df565b90508281036080840152611558818a6111df565b97151560a084015250506001600160a01b039490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60006101608d83528c60208401528b60408401528060608401526115b98184018c61122a565b905082810360808401526115cd818b61122a565b905082810360a08401526115e1818a61122a565b97151560c084015250506001600160a01b039490941660e08501526101008401929092521515610120830152610140909101529695505050505050565b60009081526020902090565b6000821982111561164957634e487b7160e01b81526011600452602481fd5b500190565b60028104600182168061166257607f821691505b6020821081141561168357634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220f10551ba28355592a0a352e53daede7aae6da9a2fc175938b889f1a0049151aa64736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1876 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1624 - } - ] - } - } -} diff --git a/deployed/goerli/abi/contracts/Core/StakeManager.sol/StakeManager.dbg.json b/deployed/goerli/abi/contracts/Core/StakeManager.sol/StakeManager.dbg.json deleted file mode 100644 index 1d742005..00000000 --- a/deployed/goerli/abi/contracts/Core/StakeManager.sol/StakeManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/StakeManager.sol/StakeManager.json b/deployed/goerli/abi/contracts/Core/StakeManager.sol/StakeManager.json deleted file mode 100644 index 4dcbf0a4..00000000 --- a/deployed/goerli/abi/contracts/Core/StakeManager.sol/StakeManager.json +++ /dev/null @@ -1,1117 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "StakeManager", - "sourceName": "contracts/Core/StakeManager.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_blockReward", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "prevRewardPool", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rewardPool", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "RewardPoolChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "StakeChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "prevStakeGettingReward", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakeGettingReward", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "StakeGettingRewardChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Staked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Unstaked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Withdrew", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "blockManager", - "outputs": [ - { - "internalType": "contract IBlockManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "blockReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epochs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakeValue", - "type": "uint256" - } - ], - "name": "calculateInactivityPenalties", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getNumStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getStaker", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "internalType": "struct Structs.Staker", - "name": "staker", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getStakerId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "givePenalties", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_schAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_voteManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_blockManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sch", - "outputs": [ - { - "internalType": "contract SchellingCoin", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_epochLastRevealed", - "type": "uint256" - } - ], - "name": "setStakerEpochLastRevealed", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "bountyHunter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakerIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "stakers", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_blockReward", - "type": "uint256" - } - ], - "name": "updateBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "updateCommitmentEpoch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "voteManager", - "outputs": [ - { - "internalType": "contract IVoteManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506040516200391238038062003912833981016040819052620000349162000111565b620000416000336200004a565b6001556200012a565b6200005682826200005a565b5050565b620000668282620000e4565b62000056576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000a06200010d565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b60006020828403121562000123578081fd5b5051919050565b6137d8806200013a6000396000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c80636022a4851161012a578063bc788d46116100bd578063d9169b321161008c578063f580ffcb11610071578063f580ffcb14610433578063fabb989014610446578063fd5e6dd11461045957610226565b8063d9169b321461040b578063e3c998fe1461041357610226565b8063bc788d46146103d5578063c584bb9f146103dd578063c8ae0d7d146103e5578063d547741f146103f857610226565b80637b0472f0116100f95780637b0472f01461039457806391d14854146103a75780639864f70a146103ba578063a217fddf146103cd57610226565b80636022a4851461035e57806366666aa9146103715780636c8b052a14610379578063746c8b651461038157610226565b80631b8b13a7116101bd5780632e716fb11161018c57806336568abe1161017157806336568abe1461033057806342c1e5871461034357806354eae15e1461034b57610226565b80632e716fb1146103085780632f2ff15d1461031d57610226565b80631b8b13a7146102c7578063248a9ca3146102cf5780632e17de78146102e25780632e1a7d4d146102f557610226565b80630f91ce19116101f95780630f91ce1914610286578063188dc83b146102995780631a69f008146102ac5780631ad54991146102bf57610226565b806301ffc9a71461022b57806306552ff3146102545780630ac168a1146102695780630ec88d3f1461027e575b600080fd5b61023e610239366004612dd2565b610480565b60405161024b919061301a565b60405180910390f35b610267610262366004612ccf565b6104de565b005b610271610546565b60405161024b9190613025565b61027161054c565b610267610294366004612f67565b610552565b6102676102a7366004612d77565b61070f565b6102716102ba366004612f9b565b610850565b6102716109ad565b6102716109b3565b6102716102dd366004612d77565b6109b9565b6102676102f0366004612d77565b6109ce565b610267610303366004612d77565b610cfd565b6103106111d5565b60405161024b919061302e565b61026761032b366004612da7565b6111e4565b61026761033e366004612da7565b611222565b610310611264565b610267610359366004612f9b565b611273565b61027161036c366004612cae565b611324565b61027161133f565b610271611345565b61026761038f366004612f9b565b61134b565b6102676103a2366004612f9b565b611551565b61023e6103b5366004612da7565b611c73565b6102676103c8366004612f9b565b611c9c565b610271611d54565b610271611d59565b610310611d5f565b6102716103f3366004612cae565b611d6e565b610267610406366004612da7565b611d80565b610310611da8565b610426610421366004612d77565b611db7565b60405161024b9190613572565b610267610441366004612d77565b611e35565b610267610454366004612f9b565b611edd565b61046c610467366004612d77565b6124c3565b60405161024b9897969594939291906135d4565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104d657506104d682612512565b90505b919050565b600780546001600160a01b039586167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560088054948616948216949094179093556009805492851692841692909217909155600a8054919093169116179055565b60015481565b60045481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561059657600080fd5b505af41580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce9190612d8f565b6105d88133611c73565b6105fd5760405162461bcd60e51b81526004016105f490613311565b60405180910390fd5b600084815260066020526040812060029081015461061b9190613705565b905061065f8560006040518060400160405280600781526020017f536c6173686564000000000000000000000000000000000000000000000000008152508661255c565b60018111156107085760075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061069a9087908590600401613001565b602060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ec9190612d5d565b6107085760405162461bcd60e51b81526004016105f4906130d6565b5050505050565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561075357600080fd5b505af4158015610767573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078b9190612d8f565b6107958133611c73565b6107b15760405162461bcd60e51b81526004016105f490613311565b600a60009054906101000a90046001600160a01b03166001600160a01b031663757991a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108379190612d8f565b6000928352600660205260409092206004019190915550565b6000600a8310156108625750806109a7565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1cc45006040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a857600080fd5b505af41580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e09190612d8f565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a86f5a3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561092457600080fd5b505af4158015610938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095c9190612d8f565b6109669085613725565b610971600187613744565b61097b9190613725565b6109859190613705565b9050828110156109a1576109998184613744565b9150506109a7565b60009150505b92915050565b60045490565b60035490565b60009081526020819052604090206001015490565b600a5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190612d8f565b8114610a685760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610aac57600080fd5b505af4158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae49190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3557600080fd5b505afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d9190612d8f565b8114610b8b5760405162461bcd60e51b81526004016105f49061344a565b3360009081526005602090815260408083205480845260069092529091208054610bc75760405162461bcd60e51b81526004016105f490613348565b6000816002015411610beb5760405162461bcd60e51b81526004016105f49061316a565b84816006015411158015610c025750600681015415155b610c1e5760405162461bcd60e51b81526004016105f4906132da565b6000816006018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6c57600080fd5b505af4158015610c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca49190612d8f565b610cae90866136ed565b6007820155600281015460405183917f0cfbc484edc798d2584502ca0d64e7e9514b8dd091d96a2a5b4deb58478da19e91610cee91899181904290613621565b60405180910390a25050505050565b600a5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d4157600080fd5b505afa158015610d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d799190612d8f565b8114610d975760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ddb57600080fd5b505af4158015610def573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e139190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6457600080fd5b505afa158015610e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9c9190612d8f565b8114610eba5760405162461bcd60e51b81526004016105f49061344a565b3360009081526005602090815260408083205480845260069092529091208054610ef65760405162461bcd60e51b81526004016105f4906132a3565b600681015415610f185760405162461bcd60e51b81526004016105f490613413565b84816007015411158015610f2f5750600781015415155b610f4b5760405162461bcd60e51b81526004016105f49061309f565b806005015473__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9457600080fd5b505af4158015610fa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcc9190612d8f565b8260070154610fdb9190613744565b1015610ff95760405162461bcd60e51b81526004016105f49061320f565b6008546040517f7164f0d60000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637164f0d6906110449088908690600401613613565b60206040518083038186803b15801561105c57600080fd5b505afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190612d8f565b156110b15760405162461bcd60e51b81526004016105f4906133b6565b60008160020154116110d55760405162461bcd60e51b81526004016105f490613481565b6000828152600660205260408082206002018054908390559051909184917f0a6fecee2c95fc6b4c7f291e3435a3a832bcd700c2a7ffdedd8c909d56dfa49f91611125918a919081904290613621565b60405180910390a260075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061115f9033908590600401613001565b602060405180830381600087803b15801561117957600080fd5b505af115801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b19190612d5d565b6111cd5760405162461bcd60e51b81526004016105f4906131d8565b505050505050565b600a546001600160a01b031681565b6111f86111f0836109b9565b6103b56125ae565b6112145760405162461bcd60e51b81526004016105f490613042565b61121e82826125b2565b5050565b61122a6125ae565b6001600160a01b0316816001600160a01b03161461125a5760405162461bcd60e51b81526004016105f4906134b8565b61121e8282612637565b6008546001600160a01b031681565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b757600080fd5b505af41580156112cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ef9190612d8f565b6112f98133611c73565b6113155760405162461bcd60e51b81526004016105f490613311565b61131f83836126ba565b505050565b6001600160a01b031660009081526005602052604090205490565b60035481565b60025481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561138f57600080fd5b505af41580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c79190612d8f565b6113d18133611c73565b6113ed5760405162461bcd60e51b81526004016105f490613311565b60015415611502576001546000848152600660205260408120600201549091611415916136ed565b905061145884826040518060400160405280600c81526020017f426c6f636b2052657761726400000000000000000000000000000000000000008152508661255c565b6007546001546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b03909216916340c10f19916114a591309190600401613001565b602060405180830381600087803b1580156114bf57600080fd5b505af11580156114d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f79190612d5d565b61150057600080fd5b505b6004805460009182905560405190917feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916115439186918591904290613621565b60405180910390a150505050565b600a5460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561159557600080fd5b505afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cd9190612d8f565b81146115eb5760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561162f57600080fd5b505af4158015611643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116679190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116b857600080fd5b505afa1580156116cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f09190612d8f565b811461170e5760405162461bcd60e51b81526004016105f49061344a565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561175257600080fd5b505af4158015611766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178a9190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117db57600080fd5b505afa1580156117ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118139190612d8f565b14156118315760405162461bcd60e51b81526004016105f49061337f565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561187557600080fd5b505af4158015611889573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ad9190612d8f565b8310156118cc5760405162461bcd60e51b81526004016105f490613515565b6007546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906323b872dd9061191990339030908890600401612fdd565b602060405180830381600087803b15801561193357600080fd5b505af1158015611947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196b9190612d5d565b6119875760405162461bcd60e51b81526004016105f4906131a1565b3360009081526005602090815260408083205480845260069092529091206002015481611b3c576002546119bc9060016136ed565b6002819055506040518061010001604052806002548152602001336001600160a01b03168152602001868152602001878152602001600081526020016000815260200173__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611a4357600080fd5b505af4158015611a57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7b9190612d8f565b611a8590896136ed565b8152600060209182018190526002805482526006808452604080842086518155868601516001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039092169190911790558682015181850155606087015160038201556080870151600482015560a087015160058083019190915560c08801519382019390935560e09096015160079096019590955590543383529252919091208190559150611c17565b600082815260066020526040902060020154611b599086906136ed565b600660008481526020019081526020016000206002018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611bb757600080fd5b505af4158015611bcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bef9190612d8f565b611bf990876136ed565b60008381526006602081905260408220908101929092556007909101555b817f52d3b6bf695a499d39fcdb47e3b450c09f2f6aa091ca8809cc51c00e705996cc8783600660008781526020019081526020016000206002015442604051611c639493929190613621565b60405180910390a2505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ce057600080fd5b505af4158015611cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d189190612d8f565b611d228133611c73565b611d3e5760405162461bcd60e51b81526004016105f490613311565b5060009182526006602052604090912060050155565b600081565b60025490565b6007546001600160a01b031681565b60056020526000908152604090205481565b611d8c6111f0836109b9565b61125a5760405162461bcd60e51b81526004016105f49061310d565b6009546001600160a01b031681565b611dbf612bb7565b506000908152600660208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a08201529082015460c082015260079091015460e082015290565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1a627816040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7957600080fd5b505af4158015611e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb19190612d8f565b611ebb8133611c73565b611ed75760405162461bcd60e51b81526004016105f490613311565b50600155565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b158015611f2157600080fd5b505af4158015611f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f599190612d8f565b611f638133611c73565b611f7f5760405162461bcd60e51b81526004016105f490613311565b600454611f8b5761131f565b6000838152600660208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a082018190529183015460c082015260079092015460e08301526120098185613744565b60011461201757505061131f565b6009546040517f378ab9a90000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063378ab9a990612061908590600401613025565b60006040518083038186803b15801561207957600080fd5b505afa15801561208d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120b59190810190612d22565b6009546040517fd2a4669a0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063d2a4669a90612104908690600401613025565b60006040518083038186803b15801561211c57600080fd5b505afa158015612130573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121589190810190612d22565b6009546040517ffae4425d0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063fae4425d906121a7908790600401613025565b60006040518083038186803b1580156121bf57600080fd5b505afa1580156121d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121fb9190810190612d22565b8251909150156124b9576000805b8351811015612360576008548751604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a91612247918b9187906004016136ad565b604080518083038186803b15801561225e57600080fd5b505afa158015612272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122969190612f19565b60000151905060008683815181106122be57634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008684815181106122ea57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600086858151811061231657634e487b7160e01b600052603260045260246000fd5b602002602001015190508284148061233657508184118061233657508084105b15612349576123468660016136ed565b95505b5050505080806123589061375b565b915050612209565b50600083516004546123729190613725565b8260035489604001516123859190613725565b61238f9190613725565b6123999190613705565b905080156124b65760045460408801518110156123b75760006123c9565b87604001516004546123c99190613744565b60048190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612402918d9185914290613621565b60405180910390a1600082896040015161241c91906136ed565b60035490915061242c8482613744565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612465918f9185914290613621565b60405180910390a16124b28a60000151836040518060400160405280600e81526020017f566f74696e6720526577617264730000000000000000000000000000000000008152508f61255c565b5050505b50505b5050505050505050565b60066020819052600091825260409091208054600182015460028301546003840154600485015460058601549686015460079096015494966001600160a01b0390941695929491939092909188565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b60008481526006602052604090819020600201805490859055905185907fab9982d99de79485b3cd6d1e72c881fd0342f42f1cbc7d220d4f373b97c4f36390610cee908490889088908890429061363c565b3390565b6125bc8282611c73565b61121e576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556125f36125ae565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6126418282611c73565b1561121e576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556126766125ae565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6126c48282612a53565b6000828152600660205260408082206002810154600582015460095493517f04c075690000000000000000000000000000000000000000000000000000000081529294919390926001600160a01b03909116906304c075699061272b908590600401613025565b60006040518083038186803b15801561274357600080fd5b505afa158015612757573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261277f9190810190612e12565b6060810151608082015181519293509091156124b9576000805b835181101561293f576008548854604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a916127d7918b9187906004016136ad565b604080518083038186803b1580156127ee57600080fd5b505afa158015612802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128269190612f19565b600001519050600085838151811061284e57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085848151811061287a57634e487b7160e01b600052603260045260246000fd5b602002602001015190508183108061289157508083115b156129295773__$cb76aa8097a3c0beaf107a478aa049bae7$__633002c9ac6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128da57600080fd5b505af41580156128ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129129190612d8f565b61291c908b613705565b61292690866136ed565b94505b50505080806129379061375b565b915050612799565b5080156129f8578581116129535780612955565b855b87549091506129a4906129688389613744565b6040518060400160405280600e81526020017f566f74696e672050656e616c74790000000000000000000000000000000000008152508b61255c565b6003546129b182826136ed565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff4916129ea918c9185914290613621565b60405180910390a150612a48565b600454612a0587826136ed565b60048190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612a3e918c9185914290613621565b60405180910390a1505b505050505050505050565b60008281526006602081815260408084208151610100810183528154815260018201546001600160a01b03169381019390935260028101549183019190915260038101546060830181905260048201546080840152600582015460a084018190529382015460c084015260079091015460e083015290929111612ada578160600151612ae0565b8160a001515b90506000612aee8285613744565b60408401519091506000612b028383610850565b905081811015612bae57612b518560000151826040518060400160405280601281526020017f496e61637469766974792050656e616c747900000000000000000000000000008152508961255c565b600354612b5e8284613744565b600354612b6b91906136ed565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612ba4918a9185914290613621565b60405180910390a1505b50505050505050565b6040518061010001604052806000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b80356001600160a01b03811681146104d957600080fd5b600082601f830112612c2c578081fd5b8151602067ffffffffffffffff821115612c4857612c4861378c565b808202612c568282016136c3565b838152828101908684018388018501891015612c70578687fd5b8693505b85841015612c92578051835260019390930192918401918401612c74565b50979650505050505050565b805180151581146104d957600080fd5b600060208284031215612cbf578081fd5b612cc882612c05565b9392505050565b60008060008060808587031215612ce4578283fd5b612ced85612c05565b9350612cfb60208601612c05565b9250612d0960408601612c05565b9150612d1760608601612c05565b905092959194509250565b600060208284031215612d33578081fd5b815167ffffffffffffffff811115612d49578182fd5b612d5584828501612c1c565b949350505050565b600060208284031215612d6e578081fd5b612cc882612c9e565b600060208284031215612d88578081fd5b5035919050565b600060208284031215612da0578081fd5b5051919050565b60008060408385031215612db9578182fd5b82359150612dc960208401612c05565b90509250929050565b600060208284031215612de3578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612cc8578182fd5b600060208284031215612e23578081fd5b815167ffffffffffffffff80821115612e3a578283fd5b8184019150610100808387031215612e50578384fd5b612e59816136c3565b905082518152602083015182811115612e70578485fd5b612e7c87828601612c1c565b602083015250604083015182811115612e93578485fd5b612e9f87828601612c1c565b604083015250606083015182811115612eb6578485fd5b612ec287828601612c1c565b606083015250608083015182811115612ed9578485fd5b612ee587828601612c1c565b60808301525060a083015160a082015260c083015160c0820152612f0b60e08401612c9e565b60e082015295945050505050565b600060408284031215612f2a578081fd5b6040516040810181811067ffffffffffffffff82111715612f4d57612f4d61378c565b604052825181526020928301519281019290925250919050565b600080600060608486031215612f7b578283fd5b83359250612f8b60208501612c05565b9150604084013590509250925092565b60008060408385031215612fad578182fd5b50508035926020909101359150565b600060208284031215612fcd578081fd5b815160ff81168114612cc8578182fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252601a908201527f57697468647261772065706f6368206e6f742072656163686564000000000000604082015260600190565b60208082526019908201527f6661696c656420746f207472616e7366657220626f756e747900000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526011908201527f4e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526013908201527f736368207472616e73666572206661696c656400000000000000000000000000604082015260600190565b60208082526010908201527f636f756c646e74207472616e7366657200000000000000000000000000000000604082015260600190565b60208082526033908201527f50617274696369706174656420696e205769746864726177206c6f636b20706560408201527f72696f642c2043616e7420776974686472617700000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b60208082526013908201527f7374616b657220646f65736e7420657869737400000000000000000000000000604082015260600190565b60208082526006908201527f6c6f636b65640000000000000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600d908201527f7374616b65722e6964203d203000000000000000000000000000000000000000604082015260600190565b6020808252600f908201527f496e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602a908201527f616c726561647920636f6d6d6974656420746869732065706f63682e2043616e60408201527f7420776974686472617700000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f446964206e6f7420756e7374616b650000000000000000000000000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526011908201527f4e6f6e706f736974697665205374616b65000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526031908201527f7374616b656420616d6f756e74206973206c657373207468616e206d696e696d60408201527f756d207374616b65207265717569726564000000000000000000000000000000606082015260800190565b600061010082019050825182526001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b9788526001600160a01b0396909616602088015260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b60008682526020868184015260a0604084015285518060a0850152825b818110156136755787810183015185820160c001528201613659565b81811115613686578360c083870101525b5060608401959095525050608081019190915260c0601f909201601f191601019392505050565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff811182821017156136e5576136e561378c565b604052919050565b6000821982111561370057613700613776565b500190565b60008261372057634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561373f5761373f613776565b500290565b60008282101561375657613756613776565b500390565b600060001982141561376f5761376f613776565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220ebfe857fb450ffe39b03b26c745b3f18124d3671268e9cad304d24ecaece080964736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102265760003560e01c80636022a4851161012a578063bc788d46116100bd578063d9169b321161008c578063f580ffcb11610071578063f580ffcb14610433578063fabb989014610446578063fd5e6dd11461045957610226565b8063d9169b321461040b578063e3c998fe1461041357610226565b8063bc788d46146103d5578063c584bb9f146103dd578063c8ae0d7d146103e5578063d547741f146103f857610226565b80637b0472f0116100f95780637b0472f01461039457806391d14854146103a75780639864f70a146103ba578063a217fddf146103cd57610226565b80636022a4851461035e57806366666aa9146103715780636c8b052a14610379578063746c8b651461038157610226565b80631b8b13a7116101bd5780632e716fb11161018c57806336568abe1161017157806336568abe1461033057806342c1e5871461034357806354eae15e1461034b57610226565b80632e716fb1146103085780632f2ff15d1461031d57610226565b80631b8b13a7146102c7578063248a9ca3146102cf5780632e17de78146102e25780632e1a7d4d146102f557610226565b80630f91ce19116101f95780630f91ce1914610286578063188dc83b146102995780631a69f008146102ac5780631ad54991146102bf57610226565b806301ffc9a71461022b57806306552ff3146102545780630ac168a1146102695780630ec88d3f1461027e575b600080fd5b61023e610239366004612dd2565b610480565b60405161024b919061301a565b60405180910390f35b610267610262366004612ccf565b6104de565b005b610271610546565b60405161024b9190613025565b61027161054c565b610267610294366004612f67565b610552565b6102676102a7366004612d77565b61070f565b6102716102ba366004612f9b565b610850565b6102716109ad565b6102716109b3565b6102716102dd366004612d77565b6109b9565b6102676102f0366004612d77565b6109ce565b610267610303366004612d77565b610cfd565b6103106111d5565b60405161024b919061302e565b61026761032b366004612da7565b6111e4565b61026761033e366004612da7565b611222565b610310611264565b610267610359366004612f9b565b611273565b61027161036c366004612cae565b611324565b61027161133f565b610271611345565b61026761038f366004612f9b565b61134b565b6102676103a2366004612f9b565b611551565b61023e6103b5366004612da7565b611c73565b6102676103c8366004612f9b565b611c9c565b610271611d54565b610271611d59565b610310611d5f565b6102716103f3366004612cae565b611d6e565b610267610406366004612da7565b611d80565b610310611da8565b610426610421366004612d77565b611db7565b60405161024b9190613572565b610267610441366004612d77565b611e35565b610267610454366004612f9b565b611edd565b61046c610467366004612d77565b6124c3565b60405161024b9897969594939291906135d4565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104d657506104d682612512565b90505b919050565b600780546001600160a01b039586167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560088054948616948216949094179093556009805492851692841692909217909155600a8054919093169116179055565b60015481565b60045481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561059657600080fd5b505af41580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce9190612d8f565b6105d88133611c73565b6105fd5760405162461bcd60e51b81526004016105f490613311565b60405180910390fd5b600084815260066020526040812060029081015461061b9190613705565b905061065f8560006040518060400160405280600781526020017f536c6173686564000000000000000000000000000000000000000000000000008152508661255c565b60018111156107085760075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061069a9087908590600401613001565b602060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ec9190612d5d565b6107085760405162461bcd60e51b81526004016105f4906130d6565b5050505050565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561075357600080fd5b505af4158015610767573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078b9190612d8f565b6107958133611c73565b6107b15760405162461bcd60e51b81526004016105f490613311565b600a60009054906101000a90046001600160a01b03166001600160a01b031663757991a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108379190612d8f565b6000928352600660205260409092206004019190915550565b6000600a8310156108625750806109a7565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1cc45006040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a857600080fd5b505af41580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e09190612d8f565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a86f5a3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561092457600080fd5b505af4158015610938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095c9190612d8f565b6109669085613725565b610971600187613744565b61097b9190613725565b6109859190613705565b9050828110156109a1576109998184613744565b9150506109a7565b60009150505b92915050565b60045490565b60035490565b60009081526020819052604090206001015490565b600a5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190612d8f565b8114610a685760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610aac57600080fd5b505af4158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae49190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3557600080fd5b505afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d9190612d8f565b8114610b8b5760405162461bcd60e51b81526004016105f49061344a565b3360009081526005602090815260408083205480845260069092529091208054610bc75760405162461bcd60e51b81526004016105f490613348565b6000816002015411610beb5760405162461bcd60e51b81526004016105f49061316a565b84816006015411158015610c025750600681015415155b610c1e5760405162461bcd60e51b81526004016105f4906132da565b6000816006018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6c57600080fd5b505af4158015610c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca49190612d8f565b610cae90866136ed565b6007820155600281015460405183917f0cfbc484edc798d2584502ca0d64e7e9514b8dd091d96a2a5b4deb58478da19e91610cee91899181904290613621565b60405180910390a25050505050565b600a5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d4157600080fd5b505afa158015610d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d799190612d8f565b8114610d975760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ddb57600080fd5b505af4158015610def573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e139190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6457600080fd5b505afa158015610e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9c9190612d8f565b8114610eba5760405162461bcd60e51b81526004016105f49061344a565b3360009081526005602090815260408083205480845260069092529091208054610ef65760405162461bcd60e51b81526004016105f4906132a3565b600681015415610f185760405162461bcd60e51b81526004016105f490613413565b84816007015411158015610f2f5750600781015415155b610f4b5760405162461bcd60e51b81526004016105f49061309f565b806005015473__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9457600080fd5b505af4158015610fa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcc9190612d8f565b8260070154610fdb9190613744565b1015610ff95760405162461bcd60e51b81526004016105f49061320f565b6008546040517f7164f0d60000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637164f0d6906110449088908690600401613613565b60206040518083038186803b15801561105c57600080fd5b505afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190612d8f565b156110b15760405162461bcd60e51b81526004016105f4906133b6565b60008160020154116110d55760405162461bcd60e51b81526004016105f490613481565b6000828152600660205260408082206002018054908390559051909184917f0a6fecee2c95fc6b4c7f291e3435a3a832bcd700c2a7ffdedd8c909d56dfa49f91611125918a919081904290613621565b60405180910390a260075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061115f9033908590600401613001565b602060405180830381600087803b15801561117957600080fd5b505af115801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b19190612d5d565b6111cd5760405162461bcd60e51b81526004016105f4906131d8565b505050505050565b600a546001600160a01b031681565b6111f86111f0836109b9565b6103b56125ae565b6112145760405162461bcd60e51b81526004016105f490613042565b61121e82826125b2565b5050565b61122a6125ae565b6001600160a01b0316816001600160a01b03161461125a5760405162461bcd60e51b81526004016105f4906134b8565b61121e8282612637565b6008546001600160a01b031681565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b757600080fd5b505af41580156112cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ef9190612d8f565b6112f98133611c73565b6113155760405162461bcd60e51b81526004016105f490613311565b61131f83836126ba565b505050565b6001600160a01b031660009081526005602052604090205490565b60035481565b60025481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561138f57600080fd5b505af41580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c79190612d8f565b6113d18133611c73565b6113ed5760405162461bcd60e51b81526004016105f490613311565b60015415611502576001546000848152600660205260408120600201549091611415916136ed565b905061145884826040518060400160405280600c81526020017f426c6f636b2052657761726400000000000000000000000000000000000000008152508661255c565b6007546001546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b03909216916340c10f19916114a591309190600401613001565b602060405180830381600087803b1580156114bf57600080fd5b505af11580156114d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f79190612d5d565b61150057600080fd5b505b6004805460009182905560405190917feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916115439186918591904290613621565b60405180910390a150505050565b600a5460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561159557600080fd5b505afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cd9190612d8f565b81146115eb5760405162461bcd60e51b81526004016105f49061326c565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561162f57600080fd5b505af4158015611643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116679190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116b857600080fd5b505afa1580156116cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f09190612d8f565b811461170e5760405162461bcd60e51b81526004016105f49061344a565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561175257600080fd5b505af4158015611766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178a9190612fbc565b60ff16600a60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117db57600080fd5b505afa1580156117ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118139190612d8f565b14156118315760405162461bcd60e51b81526004016105f49061337f565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561187557600080fd5b505af4158015611889573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ad9190612d8f565b8310156118cc5760405162461bcd60e51b81526004016105f490613515565b6007546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906323b872dd9061191990339030908890600401612fdd565b602060405180830381600087803b15801561193357600080fd5b505af1158015611947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196b9190612d5d565b6119875760405162461bcd60e51b81526004016105f4906131a1565b3360009081526005602090815260408083205480845260069092529091206002015481611b3c576002546119bc9060016136ed565b6002819055506040518061010001604052806002548152602001336001600160a01b03168152602001868152602001878152602001600081526020016000815260200173__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611a4357600080fd5b505af4158015611a57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7b9190612d8f565b611a8590896136ed565b8152600060209182018190526002805482526006808452604080842086518155868601516001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039092169190911790558682015181850155606087015160038201556080870151600482015560a087015160058083019190915560c08801519382019390935560e09096015160079096019590955590543383529252919091208190559150611c17565b600082815260066020526040902060020154611b599086906136ed565b600660008481526020019081526020016000206002018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611bb757600080fd5b505af4158015611bcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bef9190612d8f565b611bf990876136ed565b60008381526006602081905260408220908101929092556007909101555b817f52d3b6bf695a499d39fcdb47e3b450c09f2f6aa091ca8809cc51c00e705996cc8783600660008781526020019081526020016000206002015442604051611c639493929190613621565b60405180910390a2505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ce057600080fd5b505af4158015611cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d189190612d8f565b611d228133611c73565b611d3e5760405162461bcd60e51b81526004016105f490613311565b5060009182526006602052604090912060050155565b600081565b60025490565b6007546001600160a01b031681565b60056020526000908152604090205481565b611d8c6111f0836109b9565b61125a5760405162461bcd60e51b81526004016105f49061310d565b6009546001600160a01b031681565b611dbf612bb7565b506000908152600660208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a08201529082015460c082015260079091015460e082015290565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1a627816040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7957600080fd5b505af4158015611e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb19190612d8f565b611ebb8133611c73565b611ed75760405162461bcd60e51b81526004016105f490613311565b50600155565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b158015611f2157600080fd5b505af4158015611f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f599190612d8f565b611f638133611c73565b611f7f5760405162461bcd60e51b81526004016105f490613311565b600454611f8b5761131f565b6000838152600660208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a082018190529183015460c082015260079092015460e08301526120098185613744565b60011461201757505061131f565b6009546040517f378ab9a90000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063378ab9a990612061908590600401613025565b60006040518083038186803b15801561207957600080fd5b505afa15801561208d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120b59190810190612d22565b6009546040517fd2a4669a0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063d2a4669a90612104908690600401613025565b60006040518083038186803b15801561211c57600080fd5b505afa158015612130573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121589190810190612d22565b6009546040517ffae4425d0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063fae4425d906121a7908790600401613025565b60006040518083038186803b1580156121bf57600080fd5b505afa1580156121d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121fb9190810190612d22565b8251909150156124b9576000805b8351811015612360576008548751604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a91612247918b9187906004016136ad565b604080518083038186803b15801561225e57600080fd5b505afa158015612272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122969190612f19565b60000151905060008683815181106122be57634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008684815181106122ea57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600086858151811061231657634e487b7160e01b600052603260045260246000fd5b602002602001015190508284148061233657508184118061233657508084105b15612349576123468660016136ed565b95505b5050505080806123589061375b565b915050612209565b50600083516004546123729190613725565b8260035489604001516123859190613725565b61238f9190613725565b6123999190613705565b905080156124b65760045460408801518110156123b75760006123c9565b87604001516004546123c99190613744565b60048190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612402918d9185914290613621565b60405180910390a1600082896040015161241c91906136ed565b60035490915061242c8482613744565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612465918f9185914290613621565b60405180910390a16124b28a60000151836040518060400160405280600e81526020017f566f74696e6720526577617264730000000000000000000000000000000000008152508f61255c565b5050505b50505b5050505050505050565b60066020819052600091825260409091208054600182015460028301546003840154600485015460058601549686015460079096015494966001600160a01b0390941695929491939092909188565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b60008481526006602052604090819020600201805490859055905185907fab9982d99de79485b3cd6d1e72c881fd0342f42f1cbc7d220d4f373b97c4f36390610cee908490889088908890429061363c565b3390565b6125bc8282611c73565b61121e576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556125f36125ae565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6126418282611c73565b1561121e576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556126766125ae565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6126c48282612a53565b6000828152600660205260408082206002810154600582015460095493517f04c075690000000000000000000000000000000000000000000000000000000081529294919390926001600160a01b03909116906304c075699061272b908590600401613025565b60006040518083038186803b15801561274357600080fd5b505afa158015612757573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261277f9190810190612e12565b6060810151608082015181519293509091156124b9576000805b835181101561293f576008548854604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a916127d7918b9187906004016136ad565b604080518083038186803b1580156127ee57600080fd5b505afa158015612802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128269190612f19565b600001519050600085838151811061284e57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085848151811061287a57634e487b7160e01b600052603260045260246000fd5b602002602001015190508183108061289157508083115b156129295773__$cb76aa8097a3c0beaf107a478aa049bae7$__633002c9ac6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128da57600080fd5b505af41580156128ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129129190612d8f565b61291c908b613705565b61292690866136ed565b94505b50505080806129379061375b565b915050612799565b5080156129f8578581116129535780612955565b855b87549091506129a4906129688389613744565b6040518060400160405280600e81526020017f566f74696e672050656e616c74790000000000000000000000000000000000008152508b61255c565b6003546129b182826136ed565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff4916129ea918c9185914290613621565b60405180910390a150612a48565b600454612a0587826136ed565b60048190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612a3e918c9185914290613621565b60405180910390a1505b505050505050505050565b60008281526006602081815260408084208151610100810183528154815260018201546001600160a01b03169381019390935260028101549183019190915260038101546060830181905260048201546080840152600582015460a084018190529382015460c084015260079091015460e083015290929111612ada578160600151612ae0565b8160a001515b90506000612aee8285613744565b60408401519091506000612b028383610850565b905081811015612bae57612b518560000151826040518060400160405280601281526020017f496e61637469766974792050656e616c747900000000000000000000000000008152508961255c565b600354612b5e8284613744565b600354612b6b91906136ed565b60038190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612ba4918a9185914290613621565b60405180910390a1505b50505050505050565b6040518061010001604052806000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b80356001600160a01b03811681146104d957600080fd5b600082601f830112612c2c578081fd5b8151602067ffffffffffffffff821115612c4857612c4861378c565b808202612c568282016136c3565b838152828101908684018388018501891015612c70578687fd5b8693505b85841015612c92578051835260019390930192918401918401612c74565b50979650505050505050565b805180151581146104d957600080fd5b600060208284031215612cbf578081fd5b612cc882612c05565b9392505050565b60008060008060808587031215612ce4578283fd5b612ced85612c05565b9350612cfb60208601612c05565b9250612d0960408601612c05565b9150612d1760608601612c05565b905092959194509250565b600060208284031215612d33578081fd5b815167ffffffffffffffff811115612d49578182fd5b612d5584828501612c1c565b949350505050565b600060208284031215612d6e578081fd5b612cc882612c9e565b600060208284031215612d88578081fd5b5035919050565b600060208284031215612da0578081fd5b5051919050565b60008060408385031215612db9578182fd5b82359150612dc960208401612c05565b90509250929050565b600060208284031215612de3578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612cc8578182fd5b600060208284031215612e23578081fd5b815167ffffffffffffffff80821115612e3a578283fd5b8184019150610100808387031215612e50578384fd5b612e59816136c3565b905082518152602083015182811115612e70578485fd5b612e7c87828601612c1c565b602083015250604083015182811115612e93578485fd5b612e9f87828601612c1c565b604083015250606083015182811115612eb6578485fd5b612ec287828601612c1c565b606083015250608083015182811115612ed9578485fd5b612ee587828601612c1c565b60808301525060a083015160a082015260c083015160c0820152612f0b60e08401612c9e565b60e082015295945050505050565b600060408284031215612f2a578081fd5b6040516040810181811067ffffffffffffffff82111715612f4d57612f4d61378c565b604052825181526020928301519281019290925250919050565b600080600060608486031215612f7b578283fd5b83359250612f8b60208501612c05565b9150604084013590509250925092565b60008060408385031215612fad578182fd5b50508035926020909101359150565b600060208284031215612fcd578081fd5b815160ff81168114612cc8578182fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252601a908201527f57697468647261772065706f6368206e6f742072656163686564000000000000604082015260600190565b60208082526019908201527f6661696c656420746f207472616e7366657220626f756e747900000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526011908201527f4e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526013908201527f736368207472616e73666572206661696c656400000000000000000000000000604082015260600190565b60208082526010908201527f636f756c646e74207472616e7366657200000000000000000000000000000000604082015260600190565b60208082526033908201527f50617274696369706174656420696e205769746864726177206c6f636b20706560408201527f72696f642c2043616e7420776974686472617700000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b60208082526013908201527f7374616b657220646f65736e7420657869737400000000000000000000000000604082015260600190565b60208082526006908201527f6c6f636b65640000000000000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600d908201527f7374616b65722e6964203d203000000000000000000000000000000000000000604082015260600190565b6020808252600f908201527f496e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602a908201527f616c726561647920636f6d6d6974656420746869732065706f63682e2043616e60408201527f7420776974686472617700000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f446964206e6f7420756e7374616b650000000000000000000000000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526011908201527f4e6f6e706f736974697665205374616b65000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526031908201527f7374616b656420616d6f756e74206973206c657373207468616e206d696e696d60408201527f756d207374616b65207265717569726564000000000000000000000000000000606082015260800190565b600061010082019050825182526001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b9788526001600160a01b0396909616602088015260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b60008682526020868184015260a0604084015285518060a0850152825b818110156136755787810183015185820160c001528201613659565b81811115613686578360c083870101525b5060608401959095525050608081019190915260c0601f909201601f191601019392505050565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff811182821017156136e5576136e561378c565b604052919050565b6000821982111561370057613700613776565b500190565b60008261372057634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561373f5761373f613776565b500290565b60008282101561375657613756613776565b500390565b600060001982141561376f5761376f613776565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220ebfe857fb450ffe39b03b26c745b3f18124d3671268e9cad304d24ecaece080964736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1678 - }, - { - "length": 20, - "start": 2123 - }, - { - "length": 20, - "start": 2464 - }, - { - "length": 20, - "start": 2588 - }, - { - "length": 20, - "start": 2980 - }, - { - "length": 20, - "start": 3428 - }, - { - "length": 20, - "start": 3795 - }, - { - "length": 20, - "start": 4236 - }, - { - "length": 20, - "start": 5039 - }, - { - "length": 20, - "start": 5255 - }, - { - "length": 20, - "start": 5927 - }, - { - "length": 20, - "start": 6218 - }, - { - "length": 20, - "start": 6509 - }, - { - "length": 20, - "start": 6971 - }, - { - "length": 20, - "start": 7343 - }, - { - "length": 20, - "start": 7640 - }, - { - "length": 20, - "start": 8049 - }, - { - "length": 20, - "start": 8217 - }, - { - "length": 20, - "start": 10706 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1364 - }, - { - "length": 20, - "start": 1809 - }, - { - "length": 20, - "start": 2150 - }, - { - "length": 20, - "start": 2274 - }, - { - "length": 20, - "start": 2666 - }, - { - "length": 20, - "start": 3114 - }, - { - "length": 20, - "start": 3481 - }, - { - "length": 20, - "start": 3922 - }, - { - "length": 20, - "start": 4725 - }, - { - "length": 20, - "start": 4941 - }, - { - "length": 20, - "start": 5613 - }, - { - "length": 20, - "start": 5904 - }, - { - "length": 20, - "start": 6195 - }, - { - "length": 20, - "start": 6657 - }, - { - "length": 20, - "start": 7029 - }, - { - "length": 20, - "start": 7326 - }, - { - "length": 20, - "start": 7735 - }, - { - "length": 20, - "start": 7903 - }, - { - "length": 20, - "start": 10392 - } - ] - } - } -} diff --git a/deployed/goerli/abi/contracts/Core/StateManager.sol/StateManager.dbg.json b/deployed/goerli/abi/contracts/Core/StateManager.sol/StateManager.dbg.json deleted file mode 100644 index 1d742005..00000000 --- a/deployed/goerli/abi/contracts/Core/StateManager.sol/StateManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/StateManager.sol/StateManager.json b/deployed/goerli/abi/contracts/Core/StateManager.sol/StateManager.json deleted file mode 100644 index a1ad38d4..00000000 --- a/deployed/goerli/abi/contracts/Core/StateManager.sol/StateManager.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "StateManager", - "sourceName": "contracts/Core/StateManager.sol", - "abi": [ - { - "inputs": [], - "name": "getEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getState", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610339806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80631865c57d1461003b578063757991a814610059575b600080fd5b610043610061565b60405161005091906102a3565b60405180910390f35b6100436101fe565b60008073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100a857600080fd5b505af41580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e0919061028b565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561012457600080fd5b505af4158015610138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015c919061028b565b61016691906102ac565b61017090436102ac565b905073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101b657600080fd5b505af41580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee919061028b565b6101f890826102c0565b91505090565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561024457600080fd5b505af4158015610258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027c919061028b565b61028690436102ac565b905090565b60006020828403121561029c578081fd5b5051919050565b90815260200190565b6000826102bb576102bb6102d4565b500490565b6000826102cf576102cf6102d4565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea26469706673582212201df34d864afbe12e8017953d7b93e7b609e373816d6524bc9d9fc0a8874f11ba64736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80631865c57d1461003b578063757991a814610059575b600080fd5b610043610061565b60405161005091906102a3565b60405180910390f35b6100436101fe565b60008073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100a857600080fd5b505af41580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e0919061028b565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561012457600080fd5b505af4158015610138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015c919061028b565b61016691906102ac565b61017090436102ac565b905073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101b657600080fd5b505af41580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee919061028b565b6101f890826102c0565b91505090565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561024457600080fd5b505af4158015610258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027c919061028b565b61028690436102ac565b905090565b60006020828403121561029c578081fd5b5051919050565b90815260200190565b6000826102bb576102bb6102d4565b500490565b6000826102cf576102cf6102d4565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea26469706673582212201df34d864afbe12e8017953d7b93e7b609e373816d6524bc9d9fc0a8874f11ba64736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 134 - }, - { - "length": 20, - "start": 258 - }, - { - "length": 20, - "start": 404 - }, - { - "length": 20, - "start": 546 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 102 - }, - { - "length": 20, - "start": 226 - }, - { - "length": 20, - "start": 372 - }, - { - "length": 20, - "start": 514 - } - ] - } - } -} diff --git a/deployed/goerli/abi/contracts/Core/VoteManager.sol/VoteManager.dbg.json b/deployed/goerli/abi/contracts/Core/VoteManager.sol/VoteManager.dbg.json deleted file mode 100644 index 1d742005..00000000 --- a/deployed/goerli/abi/contracts/Core/VoteManager.sol/VoteManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/VoteManager.sol/VoteManager.json b/deployed/goerli/abi/contracts/Core/VoteManager.sol/VoteManager.json deleted file mode 100644 index 8ca0110c..00000000 --- a/deployed/goerli/abi/contracts/Core/VoteManager.sol/VoteManager.json +++ /dev/null @@ -1,497 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "VoteManager", - "sourceName": "contracts/Core/VoteManager.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Committed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Revealed", - "type": "event" - }, - { - "inputs": [], - "name": "blockManager", - "outputs": [ - { - "internalType": "contract IBlockManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - } - ], - "name": "commit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "commitments", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "getCommitment", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getVote", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "internalType": "struct Structs.Vote", - "name": "vote", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getVoteWeight", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_blockManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "root", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes32[][]", - "name": "proofs", - "type": "bytes32[][]" - }, - { - "internalType": "bytes32", - "name": "secret", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "stakerAddress", - "type": "address" - } - ], - "name": "reveal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeManager", - "outputs": [ - { - "internalType": "contract IStakeManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "voteWeights", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "votes", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50611cd8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638ce7ff4a11610097578063d13e2e6011610066578063d13e2e60146101f5578063d9169b3214610208578063f2f0387714610210578063f322bd7d146101cf576100f5565b80638ce7ff4a1461019c5780638fd5ff00146101bc5780639c66556f146101cf578063a6a145d9146101e2576100f5565b80632e716fb1116100d35780632e716fb11461014c5780637164f0d6146101615780637542ff95146101815780638a757ecc14610189576100f5565b8063125f68f1146100fa578063184b95591461010f578063283e290514610122575b600080fd5b61010d610108366004611774565b610223565b005b61010d61011d366004611554565b610b29565b610135610130366004611859565b610b80565b6040516101439291906118ac565b60405180910390f35b610154610ba8565b60405161014391906118d9565b61017461016f366004611753565b610bb7565b60405161014391906118ba565b610154610bd2565b610174610197366004611753565b610be1565b6101af6101aa366004611859565b610bfe565b6040516101439190611b11565b6101746101ca366004611859565b610c44565b6101746101dd366004611859565b610c67565b6101746101f0366004611753565b610c8b565b610174610203366004611753565b610ca8565b610154610cc2565b61010d61021e366004611753565b610cd1565b60055460408051630eaf323560e31b8152905188926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561026757600080fd5b505afa15801561027b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029f919061173b565b81146102c65760405162461bcd60e51b81526004016102bd90611a37565b60405180910390fd5b60048054604051636022a48560e01b81526000926001600160a01b0390921691636022a485916102f8918791016118d9565b60206040518083038186803b15801561031057600080fd5b505afa158015610324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610348919061173b565b90506000811161036a5760405162461bcd60e51b81526004016102bd90611a00565b600480546040516371e4cc7f60e11b81526000926001600160a01b039092169163e3c998fe9161039c918691016118ba565b6101006040518083038186803b1580156103b557600080fd5b505afa1580156103c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ed91906116a5565b60008a8152602081815260408083208684529091529020549091506104245760405162461bcd60e51b81526004016102bd90611a6e565b60008981526020818152604080832085845282529182902054915161044f918c918c918a91016118c3565b60405160208183030381529060405280519060200120146104825760405162461bcd60e51b81526004016102bd906118ed565b336001600160a01b03851614156109625773__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104d757600080fd5b505af41580156104eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050f9190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056057600080fd5b505afa158015610574573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610598919061173b565b146105b55760405162461bcd60e51b81526004016102bd90611992565b60008160400151116105d95760405162461bcd60e51b81526004016102bd90611924565b60005b87518110156108065761066487828151811061060857634e487b7160e01b600052603260045260246000fd5b60200260200101518a8a848151811061063157634e487b7160e01b600052603260045260246000fd5b602002602001015160405160200161064991906118ba565b6040516020818303038152906040528051906020012061133b565b6106805760405162461bcd60e51b81526004016102bd9061195b565b60405180604001604052808983815181106106ab57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101518252604080860180519383019390935260008e8152600180845282822089835284528282208783528452828220865181559584015195019490945591518d8452600382528284208585529091529082208a51919290918b908590811061072d57634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000205461074e9190611c14565b60008b815260036020908152604080832085845290915281208a519091908b908590811061078c57634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020819055508160400151600260008c81526020019081526020016000206000838152602001908152602001600020546107da9190611c14565b60008b8152600260209081526040808320858452909152902055806107fe81611c43565b9150506105dc565b50600480546040517ffabb98900000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163fabb9890916108519186918e91016118ac565b600060405180830381600087803b15801561086b57600080fd5b505af115801561087f573d6000803e3d6000fd5b50505060008a815260208181526040808320868452909152808220919091556004805491517f9864f70a0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169250639864f70a916108e89186918e91016118ac565b600060405180830381600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b505050507f17f4759c403dfc3fa26ab75ce82d3d090a0bdbfe9977d8ee87445d6dd83c68a1898383604001518a42604051610955959493929190611b62565b60405180910390a1610b1e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109a657600080fd5b505af41580156109ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109de9190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a67919061173b565b14610a845760405162461bcd60e51b81526004016102bd906119c9565b600089815260208181526040808320858452909152808220919091556004805491517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630f91ce1991610aeb91869133918f9101611b28565b600060405180830381600087803b158015610b0557600080fd5b505af1158015610b19573d6000803e3d6000fd5b505050505b505050505050505050565b600480546001600160a01b039485167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617909155600580549385169382169390931790925560068054919093169116179055565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b6005546001600160a01b031681565b60009182526020828152604080842092845291905290205490565b6004546001600160a01b031681565b600260209081526000928352604080842090915290825290205481565b610c066113f6565b506000838152600160208181526040808420868552825280842085855282529283902083518085019094528054845290910154908201529392505050565b600360209081526000938452604080852082529284528284209052825290205481565b60009283526003602090815260408085209385529281528284209184525290205490565b600091825260026020908152604080842092845291905290205490565b600060208181529281526040808220909352908152205481565b6006546001600160a01b031681565b60055460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d1557600080fd5b505afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d919061173b565b8114610d6b5760405162461bcd60e51b81526004016102bd90611a37565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610daf57600080fd5b505af4158015610dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de79190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3857600080fd5b505afa158015610e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e70919061173b565b8114610e8e5760405162461bcd60e51b81526004016102bd90611aa3565b60048054604051636022a48560e01b81526000926001600160a01b0390921691636022a48591610ec0913391016118d9565b60206040518083038186803b158015610ed857600080fd5b505afa158015610eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f10919061173b565b60008681526020818152604080832084845290915290205490915015610f485760405162461bcd60e51b81526004016102bd90611ada565b600480546040516371e4cc7f60e11b81526000926001600160a01b039092169163e3c998fe91610f7a918691016118ba565b6101006040518083038186803b158015610f9357600080fd5b505afa158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb91906116a5565b6006549091506001600160a01b03166304c07569610fea600189611c2c565b6040518263ffffffff1660e01b815260040161100691906118ba565b60006040518083038186803b15801561101e57600080fd5b505afa158015611032573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261105a919081019061159e565b511580156110f057506006546000906001600160a01b031663e38c7c4261108260018a611c2c565b6040518263ffffffff1660e01b815260040161109e91906118ba565b60206040518083038186803b1580156110b657600080fd5b505afa1580156110ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ee919061173b565b115b1561115e57600660009054906101000a90046001600160a01b03166001600160a01b0316639b87f6446040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561114557600080fd5b505af1158015611159573d6000803e3d6000fd5b505050505b600480546040517f54eae15e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116916354eae15e916111a89186918b91016118ac565b600060405180830381600087803b1580156111c257600080fd5b505af11580156111d6573d6000803e3d6000fd5b5050505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561121e57600080fd5b505af4158015611232573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611256919061173b565b81604001511061133357600086815260208181526040808320858452909152908190208690556004805491517f188dc83b0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163188dc83b916112c3918691016118ba565b600060405180830381600087803b1580156112dd57600080fd5b505af11580156112f1573d6000803e3d6000fd5b505050507f6ad04b07dbe80ee3971460ebc13808fb6dd0fa67fbf7d7ebc4de85811d2c99288683874260405161132a9493929190611b47565b60405180910390a15b505050505050565b600081815b85518110156113eb57600086828151811061136b57634e487b7160e01b600052603260045260246000fd5b602002602001015190508083116113ac57828160405160200161138f9291906118ac565b6040516020818303038152906040528051906020012092506113d8565b80836040516020016113bf9291906118ac565b6040516020818303038152906040528051906020012092505b50806113e381611c43565b915050611340565b509092149392505050565b604051806040016040528060008152602001600081525090565b803561141b81611c8a565b919050565b805161141b81611c8a565b600082601f83011261143b578081fd5b8135602061145061144b83611bf0565b611bc6565b82815281810190858301855b858110156114dd578135880189603f820112611476578788fd5b85810135604061148861144b83611bf0565b828152888101908483018a8502860184018f10156114a4578c8dfd5b8c95505b848610156114c6578035835260019590950194918a01918a016114a8565b50885250505093850193509084019060010161145c565b5090979650505050505050565b600082601f8301126114fa578081fd5b8151602061150a61144b83611bf0565b8281528181019085830183850287018401881015611526578586fd5b855b858110156114dd57815184529284019290840190600101611528565b8051801515811461141b57600080fd5b600080600060608486031215611568578283fd5b833561157381611c8a565b9250602084013561158381611c8a565b9150604084013561159381611c8a565b809150509250925092565b6000602082840312156115af578081fd5b815167ffffffffffffffff808211156115c6578283fd5b81840191506101008083870312156115dc578384fd5b6115e581611bc6565b9050825181526020830151828111156115fc578485fd5b611608878286016114ea565b60208301525060408301518281111561161f578485fd5b61162b878286016114ea565b604083015250606083015182811115611642578485fd5b61164e878286016114ea565b606083015250608083015182811115611665578485fd5b611671878286016114ea565b60808301525060a083015160a082015260c083015160c082015261169760e08401611544565b60e082015295945050505050565b60006101008083850312156116b8578182fd5b6040519081019067ffffffffffffffff821181831017156116db576116db611c74565b81604052835181526116ef60208501611420565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b60006020828403121561174c578081fd5b5051919050565b60008060408385031215611765578182fd5b50508035926020909101359150565b60008060008060008060c0878903121561178c578384fd5b863595506020808801359550604088013567ffffffffffffffff808211156117b2578687fd5b818a0191508a601f8301126117c5578687fd5b81356117d361144b82611bf0565b81815284810190848601868402860187018f10156117ef578a8bfd5b8a95505b838610156118115780358352600195909501949186019186016117f3565b509850505060608a0135925080831115611829578485fd5b505061183789828a0161142b565b9350506080870135915061184d60a08801611410565b90509295509295509295565b60008060006060848603121561186d578081fd5b505081359360208301359350604090920135919050565b600060208284031215611895578081fd5b815160ff811681146118a5578182fd5b9392505050565b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b6001600160a01b0391909116815260200190565b60208082526016908201527f696e636f7272656374207365637265742f76616c756500000000000000000000604082015260600190565b60208082526011908201527f6e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526014908201527f696e76616c6964206d65726b6c652070726f6f66000000000000000000000000604082015260600190565b60208082526010908201527f4e6f742072657665616c20737461746500000000000000000000000000000000604082015260600190565b60208082526010908201527f4e6f7420636f6d6d697420737461746500000000000000000000000000000000604082015260600190565b6020808252601d908201527f537472756374732e5374616b657220646f6573206e6f74206578697374000000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252818101527f6e6f7420636f6d6d69746564206f7220616c72656164792072657665616c6564604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526010908201527f616c726561647920636f6d6d6974656400000000000000000000000000000000604082015260600190565b815181526020918201519181019190915260400190565b9283526001600160a01b03919091166020830152604082015260600190565b93845260208401929092526040830152606082015260800190565b600060a082018783526020878185015286604085015260a0606085015281865180845260c0860191508288019350845b81811015611bae57845183529383019391830191600101611b92565b50508093505050508260808301529695505050505050565b60405181810167ffffffffffffffff81118282101715611be857611be8611c74565b604052919050565b600067ffffffffffffffff821115611c0a57611c0a611c74565b5060209081020190565b60008219821115611c2757611c27611c5e565b500190565b600082821015611c3e57611c3e611c5e565b500390565b6000600019821415611c5757611c57611c5e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611c9f57600080fd5b5056fea26469706673582212208289a41e24a03239f23892b8503b0759ef8661a797be91b57f46a50b60dc522d64736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638ce7ff4a11610097578063d13e2e6011610066578063d13e2e60146101f5578063d9169b3214610208578063f2f0387714610210578063f322bd7d146101cf576100f5565b80638ce7ff4a1461019c5780638fd5ff00146101bc5780639c66556f146101cf578063a6a145d9146101e2576100f5565b80632e716fb1116100d35780632e716fb11461014c5780637164f0d6146101615780637542ff95146101815780638a757ecc14610189576100f5565b8063125f68f1146100fa578063184b95591461010f578063283e290514610122575b600080fd5b61010d610108366004611774565b610223565b005b61010d61011d366004611554565b610b29565b610135610130366004611859565b610b80565b6040516101439291906118ac565b60405180910390f35b610154610ba8565b60405161014391906118d9565b61017461016f366004611753565b610bb7565b60405161014391906118ba565b610154610bd2565b610174610197366004611753565b610be1565b6101af6101aa366004611859565b610bfe565b6040516101439190611b11565b6101746101ca366004611859565b610c44565b6101746101dd366004611859565b610c67565b6101746101f0366004611753565b610c8b565b610174610203366004611753565b610ca8565b610154610cc2565b61010d61021e366004611753565b610cd1565b60055460408051630eaf323560e31b8152905188926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561026757600080fd5b505afa15801561027b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029f919061173b565b81146102c65760405162461bcd60e51b81526004016102bd90611a37565b60405180910390fd5b60048054604051636022a48560e01b81526000926001600160a01b0390921691636022a485916102f8918791016118d9565b60206040518083038186803b15801561031057600080fd5b505afa158015610324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610348919061173b565b90506000811161036a5760405162461bcd60e51b81526004016102bd90611a00565b600480546040516371e4cc7f60e11b81526000926001600160a01b039092169163e3c998fe9161039c918691016118ba565b6101006040518083038186803b1580156103b557600080fd5b505afa1580156103c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ed91906116a5565b60008a8152602081815260408083208684529091529020549091506104245760405162461bcd60e51b81526004016102bd90611a6e565b60008981526020818152604080832085845282529182902054915161044f918c918c918a91016118c3565b60405160208183030381529060405280519060200120146104825760405162461bcd60e51b81526004016102bd906118ed565b336001600160a01b03851614156109625773__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104d757600080fd5b505af41580156104eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050f9190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056057600080fd5b505afa158015610574573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610598919061173b565b146105b55760405162461bcd60e51b81526004016102bd90611992565b60008160400151116105d95760405162461bcd60e51b81526004016102bd90611924565b60005b87518110156108065761066487828151811061060857634e487b7160e01b600052603260045260246000fd5b60200260200101518a8a848151811061063157634e487b7160e01b600052603260045260246000fd5b602002602001015160405160200161064991906118ba565b6040516020818303038152906040528051906020012061133b565b6106805760405162461bcd60e51b81526004016102bd9061195b565b60405180604001604052808983815181106106ab57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101518252604080860180519383019390935260008e8152600180845282822089835284528282208783528452828220865181559584015195019490945591518d8452600382528284208585529091529082208a51919290918b908590811061072d57634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000205461074e9190611c14565b60008b815260036020908152604080832085845290915281208a519091908b908590811061078c57634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020819055508160400151600260008c81526020019081526020016000206000838152602001908152602001600020546107da9190611c14565b60008b8152600260209081526040808320858452909152902055806107fe81611c43565b9150506105dc565b50600480546040517ffabb98900000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163fabb9890916108519186918e91016118ac565b600060405180830381600087803b15801561086b57600080fd5b505af115801561087f573d6000803e3d6000fd5b50505060008a815260208181526040808320868452909152808220919091556004805491517f9864f70a0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169250639864f70a916108e89186918e91016118ac565b600060405180830381600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b505050507f17f4759c403dfc3fa26ab75ce82d3d090a0bdbfe9977d8ee87445d6dd83c68a1898383604001518a42604051610955959493929190611b62565b60405180910390a1610b1e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109a657600080fd5b505af41580156109ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109de9190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a67919061173b565b14610a845760405162461bcd60e51b81526004016102bd906119c9565b600089815260208181526040808320858452909152808220919091556004805491517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630f91ce1991610aeb91869133918f9101611b28565b600060405180830381600087803b158015610b0557600080fd5b505af1158015610b19573d6000803e3d6000fd5b505050505b505050505050505050565b600480546001600160a01b039485167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617909155600580549385169382169390931790925560068054919093169116179055565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b6005546001600160a01b031681565b60009182526020828152604080842092845291905290205490565b6004546001600160a01b031681565b600260209081526000928352604080842090915290825290205481565b610c066113f6565b506000838152600160208181526040808420868552825280842085855282529283902083518085019094528054845290910154908201529392505050565b600360209081526000938452604080852082529284528284209052825290205481565b60009283526003602090815260408085209385529281528284209184525290205490565b600091825260026020908152604080842092845291905290205490565b600060208181529281526040808220909352908152205481565b6006546001600160a01b031681565b60055460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d1557600080fd5b505afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d919061173b565b8114610d6b5760405162461bcd60e51b81526004016102bd90611a37565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610daf57600080fd5b505af4158015610dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de79190611884565b60ff16600560009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3857600080fd5b505afa158015610e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e70919061173b565b8114610e8e5760405162461bcd60e51b81526004016102bd90611aa3565b60048054604051636022a48560e01b81526000926001600160a01b0390921691636022a48591610ec0913391016118d9565b60206040518083038186803b158015610ed857600080fd5b505afa158015610eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f10919061173b565b60008681526020818152604080832084845290915290205490915015610f485760405162461bcd60e51b81526004016102bd90611ada565b600480546040516371e4cc7f60e11b81526000926001600160a01b039092169163e3c998fe91610f7a918691016118ba565b6101006040518083038186803b158015610f9357600080fd5b505afa158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb91906116a5565b6006549091506001600160a01b03166304c07569610fea600189611c2c565b6040518263ffffffff1660e01b815260040161100691906118ba565b60006040518083038186803b15801561101e57600080fd5b505afa158015611032573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261105a919081019061159e565b511580156110f057506006546000906001600160a01b031663e38c7c4261108260018a611c2c565b6040518263ffffffff1660e01b815260040161109e91906118ba565b60206040518083038186803b1580156110b657600080fd5b505afa1580156110ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ee919061173b565b115b1561115e57600660009054906101000a90046001600160a01b03166001600160a01b0316639b87f6446040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561114557600080fd5b505af1158015611159573d6000803e3d6000fd5b505050505b600480546040517f54eae15e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116916354eae15e916111a89186918b91016118ac565b600060405180830381600087803b1580156111c257600080fd5b505af11580156111d6573d6000803e3d6000fd5b5050505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561121e57600080fd5b505af4158015611232573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611256919061173b565b81604001511061133357600086815260208181526040808320858452909152908190208690556004805491517f188dc83b0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163188dc83b916112c3918691016118ba565b600060405180830381600087803b1580156112dd57600080fd5b505af11580156112f1573d6000803e3d6000fd5b505050507f6ad04b07dbe80ee3971460ebc13808fb6dd0fa67fbf7d7ebc4de85811d2c99288683874260405161132a9493929190611b47565b60405180910390a15b505050505050565b600081815b85518110156113eb57600086828151811061136b57634e487b7160e01b600052603260045260246000fd5b602002602001015190508083116113ac57828160405160200161138f9291906118ac565b6040516020818303038152906040528051906020012092506113d8565b80836040516020016113bf9291906118ac565b6040516020818303038152906040528051906020012092505b50806113e381611c43565b915050611340565b509092149392505050565b604051806040016040528060008152602001600081525090565b803561141b81611c8a565b919050565b805161141b81611c8a565b600082601f83011261143b578081fd5b8135602061145061144b83611bf0565b611bc6565b82815281810190858301855b858110156114dd578135880189603f820112611476578788fd5b85810135604061148861144b83611bf0565b828152888101908483018a8502860184018f10156114a4578c8dfd5b8c95505b848610156114c6578035835260019590950194918a01918a016114a8565b50885250505093850193509084019060010161145c565b5090979650505050505050565b600082601f8301126114fa578081fd5b8151602061150a61144b83611bf0565b8281528181019085830183850287018401881015611526578586fd5b855b858110156114dd57815184529284019290840190600101611528565b8051801515811461141b57600080fd5b600080600060608486031215611568578283fd5b833561157381611c8a565b9250602084013561158381611c8a565b9150604084013561159381611c8a565b809150509250925092565b6000602082840312156115af578081fd5b815167ffffffffffffffff808211156115c6578283fd5b81840191506101008083870312156115dc578384fd5b6115e581611bc6565b9050825181526020830151828111156115fc578485fd5b611608878286016114ea565b60208301525060408301518281111561161f578485fd5b61162b878286016114ea565b604083015250606083015182811115611642578485fd5b61164e878286016114ea565b606083015250608083015182811115611665578485fd5b611671878286016114ea565b60808301525060a083015160a082015260c083015160c082015261169760e08401611544565b60e082015295945050505050565b60006101008083850312156116b8578182fd5b6040519081019067ffffffffffffffff821181831017156116db576116db611c74565b81604052835181526116ef60208501611420565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b60006020828403121561174c578081fd5b5051919050565b60008060408385031215611765578182fd5b50508035926020909101359150565b60008060008060008060c0878903121561178c578384fd5b863595506020808801359550604088013567ffffffffffffffff808211156117b2578687fd5b818a0191508a601f8301126117c5578687fd5b81356117d361144b82611bf0565b81815284810190848601868402860187018f10156117ef578a8bfd5b8a95505b838610156118115780358352600195909501949186019186016117f3565b509850505060608a0135925080831115611829578485fd5b505061183789828a0161142b565b9350506080870135915061184d60a08801611410565b90509295509295509295565b60008060006060848603121561186d578081fd5b505081359360208301359350604090920135919050565b600060208284031215611895578081fd5b815160ff811681146118a5578182fd5b9392505050565b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b6001600160a01b0391909116815260200190565b60208082526016908201527f696e636f7272656374207365637265742f76616c756500000000000000000000604082015260600190565b60208082526011908201527f6e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526014908201527f696e76616c6964206d65726b6c652070726f6f66000000000000000000000000604082015260600190565b60208082526010908201527f4e6f742072657665616c20737461746500000000000000000000000000000000604082015260600190565b60208082526010908201527f4e6f7420636f6d6d697420737461746500000000000000000000000000000000604082015260600190565b6020808252601d908201527f537472756374732e5374616b657220646f6573206e6f74206578697374000000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252818101527f6e6f7420636f6d6d69746564206f7220616c72656164792072657665616c6564604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526010908201527f616c726561647920636f6d6d6974656400000000000000000000000000000000604082015260600190565b815181526020918201519181019190915260400190565b9283526001600160a01b03919091166020830152604082015260600190565b93845260208401929092526040830152606082015260800190565b600060a082018783526020878185015286604085015260a0606085015281865180845260c0860191508288019350845b81811015611bae57845183529383019391830191600101611b92565b50508093505050508260808301529695505050505050565b60405181810167ffffffffffffffff81118282101715611be857611be8611c74565b604052919050565b600067ffffffffffffffff821115611c0a57611c0a611c74565b5060209081020190565b60008219821115611c2757611c27611c5e565b500190565b600082821015611c3e57611c3e611c5e565b500390565b6000600019821415611c5757611c57611c5e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611c9f57600080fd5b5056fea26469706673582212208289a41e24a03239f23892b8503b0759ef8661a797be91b57f46a50b60dc522d64736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1205 - }, - { - "length": 20, - "start": 2436 - }, - { - "length": 20, - "start": 3469 - }, - { - "length": 20, - "start": 4604 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1173 - }, - { - "length": 20, - "start": 2404 - }, - { - "length": 20, - "start": 3437 - }, - { - "length": 20, - "start": 4572 - } - ] - } - } -} diff --git a/deployed/goerli/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.dbg.json b/deployed/goerli/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.json b/deployed/goerli/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.json deleted file mode 100644 index dc4e23c5..00000000 --- a/deployed/goerli/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.json +++ /dev/null @@ -1,309 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IBlockManager", - "sourceName": "contracts/Core/interface/IBlockManager.sol", - "abi": [ - { - "inputs": [], - "name": "confirmBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getHigherCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getLowerCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getNumProposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "sorted", - "type": "uint256[]" - } - ], - "name": "giveSorted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_voteManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_jobManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "isElectedProposer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - } - ], - "name": "propose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "resetDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Core/interface/IJobManager.sol/IJobManager.dbg.json b/deployed/goerli/abi/contracts/Core/interface/IJobManager.sol/IJobManager.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/contracts/Core/interface/IJobManager.sol/IJobManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/interface/IJobManager.sol/IJobManager.json b/deployed/goerli/abi/contracts/Core/interface/IJobManager.sol/IJobManager.json deleted file mode 100644 index 1bc19643..00000000 --- a/deployed/goerli/abi/contracts/Core/interface/IJobManager.sol/IJobManager.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IJobManager", - "sourceName": "contracts/Core/interface/IJobManager.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - } - ], - "name": "createJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "jobId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "fulfillJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.dbg.json b/deployed/goerli/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.json b/deployed/goerli/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.json deleted file mode 100644 index f09adce8..00000000 --- a/deployed/goerli/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.json +++ /dev/null @@ -1,310 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IStakeManager", - "sourceName": "contracts/Core/interface/IStakeManager.sol", - "abi": [ - { - "inputs": [], - "name": "getNumStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getStaker", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "internalType": "struct Structs.Staker", - "name": "staker", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getStakerId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "givePenalties", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_schAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_voteManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_blockManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_stateManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_epochLastRevealed", - "type": "uint256" - } - ], - "name": "setStakerEpochLastRevealed", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "bountyHunter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "updateCommitmentEpoch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Core/interface/IStateManager.sol/IStateManager.dbg.json b/deployed/goerli/abi/contracts/Core/interface/IStateManager.sol/IStateManager.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/contracts/Core/interface/IStateManager.sol/IStateManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/interface/IStateManager.sol/IStateManager.json b/deployed/goerli/abi/contracts/Core/interface/IStateManager.sol/IStateManager.json deleted file mode 100644 index 2b7cc65d..00000000 --- a/deployed/goerli/abi/contracts/Core/interface/IStateManager.sol/IStateManager.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IStateManager", - "sourceName": "contracts/Core/interface/IStateManager.sol", - "abi": [ - { - "inputs": [], - "name": "getEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getState", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.dbg.json b/deployed/goerli/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.json b/deployed/goerli/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.json deleted file mode 100644 index 30e2bf5c..00000000 --- a/deployed/goerli/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.json +++ /dev/null @@ -1,232 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IVoteManager", - "sourceName": "contracts/Core/interface/IVoteManager.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - } - ], - "name": "commit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "getCommitment", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getVote", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "internalType": "struct Structs.Vote", - "name": "vote", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getVoteWeight", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_blockManagerAddress", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "root", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes32[][]", - "name": "proofs", - "type": "bytes32[][]" - }, - { - "internalType": "bytes32", - "name": "secret", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "stakerAddress", - "type": "address" - } - ], - "name": "reveal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.dbg.json b/deployed/goerli/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.json b/deployed/goerli/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.json deleted file mode 100644 index 0256f32d..00000000 --- a/deployed/goerli/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BlockStorage", - "sourceName": "contracts/Core/storage/BlockStorage.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "blocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "disputes", - "outputs": [ - { - "internalType": "uint256", - "name": "accWeight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "median", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lowerCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "higherCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastVisited", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610255806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063828496d61461004657806392b4841114610074578063f25b3f9914610097575b600080fd5b610059610054366004610172565b6100aa565b60405161006b969594939291906101f7565b60405180910390f35b6100876100823660046101b9565b6100e7565b60405161006b94939291906101da565b6100876100a536600461015a565b610130565b6000602081815292815260408082209093529081522080546001820154600283015460038401546004850154600590950154939492939192909186565b6001602052816000526040600020818154811061010357600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60026020526000908152604090208054600582015460068301546007909301549192909160ff1684565b60006020828403121561016b578081fd5b5035919050565b60008060408385031215610184578081fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146101ae578182fd5b809150509250929050565b600080604083850312156101cb578182fd5b50508035926020909101359150565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c0019056fea2646970667358221220f5b8cd1e09410e6c4da2dbd27b1920804e740c9ed1c6489fd074234b0d2258cd64736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063828496d61461004657806392b4841114610074578063f25b3f9914610097575b600080fd5b610059610054366004610172565b6100aa565b60405161006b969594939291906101f7565b60405180910390f35b6100876100823660046101b9565b6100e7565b60405161006b94939291906101da565b6100876100a536600461015a565b610130565b6000602081815292815260408082209093529081522080546001820154600283015460038401546004850154600590950154939492939192909186565b6001602052816000526040600020818154811061010357600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60026020526000908152604090208054600582015460068301546007909301549192909160ff1684565b60006020828403121561016b578081fd5b5035919050565b60008060408385031215610184578081fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146101ae578182fd5b809150509250929050565b600080604083850312156101cb578182fd5b50508035926020909101359150565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c0019056fea2646970667358221220f5b8cd1e09410e6c4da2dbd27b1920804e740c9ed1c6489fd074234b0d2258cd64736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Core/storage/JobStorage.sol/JobStorage.dbg.json b/deployed/goerli/abi/contracts/Core/storage/JobStorage.sol/JobStorage.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/contracts/Core/storage/JobStorage.sol/JobStorage.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/storage/JobStorage.sol/JobStorage.json b/deployed/goerli/abi/contracts/Core/storage/JobStorage.sol/JobStorage.json deleted file mode 100644 index 26ec7dd9..00000000 --- a/deployed/goerli/abi/contracts/Core/storage/JobStorage.sol/JobStorage.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "JobStorage", - "sourceName": "contracts/Core/storage/JobStorage.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "jobs", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610413806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063180aedf31461003b5780639212051c1461006d575b600080fd5b61004e61004936600461028d565b610082565b6040516100649a999897969594939291906102f9565b60405180910390f35b610075610287565b60405161006491906102f0565b60016020819052600091825260409091208054918101546002820180549192916100ab90610389565b80601f01602080910402602001604051908101604052809291908181526020018280546100d790610389565b80156101245780601f106100f957610100808354040283529160200191610124565b820191906000526020600020905b81548152906001019060200180831161010757829003601f168201915b50505050509080600301805461013990610389565b80601f016020809104026020016040519081016040528092919081815260200182805461016590610389565b80156101b25780601f10610187576101008083540402835291602001916101b2565b820191906000526020600020905b81548152906001019060200180831161019557829003601f168201915b5050505050908060040180546101c790610389565b80601f01602080910402602001604051908101604052809291908181526020018280546101f390610389565b80156102405780601f1061021557610100808354040283529160200191610240565b820191906000526020600020905b81548152906001019060200180831161022357829003601f168201915b50505050600583015460068401546007850154600890950154939460ff8084169561010090940473ffffffffffffffffffffffffffffffffffffffff16945091929116908a565b60005481565b60006020828403121561029e578081fd5b5035919050565b60008151808452815b818110156102ca576020818501810151868301820152016102ae565b818111156102db5782602083870101525b50601f01601f19169290920160200192915050565b90815260200190565b60006101408c83528b60208401528060408401526103198184018c6102a5565b9050828103606084015261032d818b6102a5565b90508281036080840152610341818a6102a5565b97151560a0840152505073ffffffffffffffffffffffffffffffffffffffff9490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60028104600182168061039d57607f821691505b602082108114156103d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122046f6bdef400eef2035b17377e470a7a0437737166f43c8dad80dc4b98474622164736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063180aedf31461003b5780639212051c1461006d575b600080fd5b61004e61004936600461028d565b610082565b6040516100649a999897969594939291906102f9565b60405180910390f35b610075610287565b60405161006491906102f0565b60016020819052600091825260409091208054918101546002820180549192916100ab90610389565b80601f01602080910402602001604051908101604052809291908181526020018280546100d790610389565b80156101245780601f106100f957610100808354040283529160200191610124565b820191906000526020600020905b81548152906001019060200180831161010757829003601f168201915b50505050509080600301805461013990610389565b80601f016020809104026020016040519081016040528092919081815260200182805461016590610389565b80156101b25780601f10610187576101008083540402835291602001916101b2565b820191906000526020600020905b81548152906001019060200180831161019557829003601f168201915b5050505050908060040180546101c790610389565b80601f01602080910402602001604051908101604052809291908181526020018280546101f390610389565b80156102405780601f1061021557610100808354040283529160200191610240565b820191906000526020600020905b81548152906001019060200180831161022357829003601f168201915b50505050600583015460068401546007850154600890950154939460ff8084169561010090940473ffffffffffffffffffffffffffffffffffffffff16945091929116908a565b60005481565b60006020828403121561029e578081fd5b5035919050565b60008151808452815b818110156102ca576020818501810151868301820152016102ae565b818111156102db5782602083870101525b50601f01601f19169290920160200192915050565b90815260200190565b60006101408c83528b60208401528060408401526103198184018c6102a5565b9050828103606084015261032d818b6102a5565b90508281036080840152610341818a6102a5565b97151560a0840152505073ffffffffffffffffffffffffffffffffffffffff9490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60028104600182168061039d57607f821691505b602082108114156103d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122046f6bdef400eef2035b17377e470a7a0437737166f43c8dad80dc4b98474622164736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.dbg.json b/deployed/goerli/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.json b/deployed/goerli/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.json deleted file mode 100644 index 0253ec4c..00000000 --- a/deployed/goerli/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "StakeStorage", - "sourceName": "contracts/Core/storage/StakeStorage.sol", - "abi": [ - { - "inputs": [], - "name": "blockReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakerIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "stakers", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061024a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80636c8b052a116100505780636c8b052a146100a5578063c8ae0d7d146100ad578063fd5e6dd1146100c057610072565b80630ac168a1146100775780630ec88d3f1461009557806366666aa91461009d575b600080fd5b61007f6100e7565b60405161008c91906101bf565b60405180910390f35b61007f6100ed565b61007f6100f3565b61007f6100f9565b61007f6100bb36600461016c565b6100ff565b6100d36100ce3660046101a7565b610111565b60405161008c9897969594939291906101c8565b60005481565b60035481565b60025481565b60015481565b60046020526000908152604090205481565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600790960154949673ffffffffffffffffffffffffffffffffffffffff909416959294919392909188565b60006020828403121561017d578081fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101a0578182fd5b9392505050565b6000602082840312156101b8578081fd5b5035919050565b90815260200190565b97885273ffffffffffffffffffffffffffffffffffffffff96909616602088015260408701949094526060860192909252608085015260a084015260c083015260e0820152610100019056fea2646970667358221220c513f32e92b796ce202cf6ed9eba611795112221d2b5c12b7a1fe7830e1fc19164736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c80636c8b052a116100505780636c8b052a146100a5578063c8ae0d7d146100ad578063fd5e6dd1146100c057610072565b80630ac168a1146100775780630ec88d3f1461009557806366666aa91461009d575b600080fd5b61007f6100e7565b60405161008c91906101bf565b60405180910390f35b61007f6100ed565b61007f6100f3565b61007f6100f9565b61007f6100bb36600461016c565b6100ff565b6100d36100ce3660046101a7565b610111565b60405161008c9897969594939291906101c8565b60005481565b60035481565b60025481565b60015481565b60046020526000908152604090205481565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600790960154949673ffffffffffffffffffffffffffffffffffffffff909416959294919392909188565b60006020828403121561017d578081fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101a0578182fd5b9392505050565b6000602082840312156101b8578081fd5b5035919050565b90815260200190565b97885273ffffffffffffffffffffffffffffffffffffffff96909616602088015260408701949094526060860192909252608085015260a084015260c083015260e0820152610100019056fea2646970667358221220c513f32e92b796ce202cf6ed9eba611795112221d2b5c12b7a1fe7830e1fc19164736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.dbg.json b/deployed/goerli/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.dbg.json deleted file mode 100644 index 245d5fbe..00000000 --- a/deployed/goerli/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.json b/deployed/goerli/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.json deleted file mode 100644 index 1c061c76..00000000 --- a/deployed/goerli/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "VoteStorage", - "sourceName": "contracts/Core/storage/VoteStorage.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "commitments", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "voteWeights", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "votes", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506101dc806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063283e2905146100515780638a757ecc1461007b5780638fd5ff001461009b578063d13e2e60146100ae575b600080fd5b61006461005f366004610164565b6100c1565b604051610072929190610198565b60405180910390f35b61008e610089366004610143565b6100e9565b604051610072919061018f565b61008e6100a9366004610164565b610106565b61008e6100bc366004610143565b610129565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b600260209081526000928352604080842090915290825290205481565b600360209081526000938452604080852082529284528284209052825290205481565b600060208181529281526040808220909352908152205481565b60008060408385031215610155578182fd5b50508035926020909101359150565b600080600060608486031215610178578081fd5b505081359360208301359350604090920135919050565b90815260200190565b91825260208201526040019056fea2646970667358221220b012e634c3a4d0c8952171cb34b9e517585de625e92bdfefcf77582c8988922864736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063283e2905146100515780638a757ecc1461007b5780638fd5ff001461009b578063d13e2e60146100ae575b600080fd5b61006461005f366004610164565b6100c1565b604051610072929190610198565b60405180910390f35b61008e610089366004610143565b6100e9565b604051610072919061018f565b61008e6100a9366004610164565b610106565b61008e6100bc366004610143565b610129565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b600260209081526000928352604080842090915290825290205481565b600360209081526000938452604080852082529284528284209052825290205481565b600060208181529281526040808220909352908152205481565b60008060408385031215610155578182fd5b50508035926020909101359150565b600080600060608486031215610178578081fd5b505081359360208301359350604090920135919050565b90815260200190565b91825260208201526040019056fea2646970667358221220b012e634c3a4d0c8952171cb34b9e517585de625e92bdfefcf77582c8988922864736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Delegator.sol/Delegator.dbg.json b/deployed/goerli/abi/contracts/Delegator.sol/Delegator.dbg.json deleted file mode 100644 index af64e128..00000000 --- a/deployed/goerli/abi/contracts/Delegator.sol/Delegator.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Delegator.sol/Delegator.json b/deployed/goerli/abi/contracts/Delegator.sol/Delegator.json deleted file mode 100644 index 4a4de809..00000000 --- a/deployed/goerli/abi/contracts/Delegator.sol/Delegator.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Delegator", - "sourceName": "contracts/Delegator.sol", - "abi": [ - { - "inputs": [], - "name": "delegate", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "jobManager", - "outputs": [ - { - "internalType": "contract IJobManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newDelegateAddress", - "type": "address" - } - ], - "name": "upgradeDelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6080604052600180546001600160a01b0319163317905534801561002257600080fd5b506105fd806100326000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063995e433911610050578063995e4339146100b2578063bf22c457146100d2578063c89e4361146100f657610072565b80632da4e75c146100775780633df395a31461008c5780638da5cb5b146100aa575b600080fd5b61008a610085366004610395565b6100fe565b005b61009461018f565b6040516100a191906104c6565b60405180910390f35b61009461019e565b6100c56100c036600461046a565b6101ad565b6040516100a1919061055f565b6100e56100e036600461046a565b61024d565b6040516100a19594939291906104da565b610094610306565b6001546001600160a01b0316331461014b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014290610528565b60405180910390fd5b600080546001600160a01b039092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790915560028054909216179055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6002546040517f995e43390000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063995e4339906101f790859060040161055f565b60206040518083038186803b15801561020f57600080fd5b505afa158015610223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102479190610482565b92915050565b6002546040517fbf22c4570000000000000000000000000000000000000000000000000000000081526060918291829160009182916001600160a01b03169063bf22c457906102a090899060040161055f565b60006040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f491908101906103c3565b939a9299509097509550909350915050565b6000546001600160a01b031681565b600082601f830112610325578081fd5b815167ffffffffffffffff8082111561034057610340610598565b604051601f8301601f19168101602001828111828210171561036457610364610598565b60405282815284830160200186101561037b578384fd5b61038c836020830160208801610568565b95945050505050565b6000602082840312156103a6578081fd5b81356001600160a01b03811681146103bc578182fd5b9392505050565b600080600080600060a086880312156103da578081fd5b855167ffffffffffffffff808211156103f1578283fd5b6103fd89838a01610315565b96506020880151915080821115610412578283fd5b61041e89838a01610315565b95506040880151915080821115610433578283fd5b5061044088828901610315565b93505060608601518015158114610455578182fd5b80925050608086015190509295509295909350565b60006020828403121561047b578081fd5b5035919050565b600060208284031215610493578081fd5b5051919050565b600081518084526104b2816020860160208601610568565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060a082526104ed60a083018861049a565b82810360208401526104ff818861049a565b90508281036040840152610513818761049a565b94151560608401525050608001529392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b90815260200190565b60005b8381101561058357818101518382015260200161056b565b83811115610592576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212202b4f74bce8a4ea2a7f82c1d06c64ef70cd5c06a785a8dea5c37a43f298d3e01a64736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063995e433911610050578063995e4339146100b2578063bf22c457146100d2578063c89e4361146100f657610072565b80632da4e75c146100775780633df395a31461008c5780638da5cb5b146100aa575b600080fd5b61008a610085366004610395565b6100fe565b005b61009461018f565b6040516100a191906104c6565b60405180910390f35b61009461019e565b6100c56100c036600461046a565b6101ad565b6040516100a1919061055f565b6100e56100e036600461046a565b61024d565b6040516100a19594939291906104da565b610094610306565b6001546001600160a01b0316331461014b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014290610528565b60405180910390fd5b600080546001600160a01b039092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790915560028054909216179055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6002546040517f995e43390000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063995e4339906101f790859060040161055f565b60206040518083038186803b15801561020f57600080fd5b505afa158015610223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102479190610482565b92915050565b6002546040517fbf22c4570000000000000000000000000000000000000000000000000000000081526060918291829160009182916001600160a01b03169063bf22c457906102a090899060040161055f565b60006040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f491908101906103c3565b939a9299509097509550909350915050565b6000546001600160a01b031681565b600082601f830112610325578081fd5b815167ffffffffffffffff8082111561034057610340610598565b604051601f8301601f19168101602001828111828210171561036457610364610598565b60405282815284830160200186101561037b578384fd5b61038c836020830160208801610568565b95945050505050565b6000602082840312156103a6578081fd5b81356001600160a01b03811681146103bc578182fd5b9392505050565b600080600080600060a086880312156103da578081fd5b855167ffffffffffffffff808211156103f1578283fd5b6103fd89838a01610315565b96506020880151915080821115610412578283fd5b61041e89838a01610315565b95506040880151915080821115610433578283fd5b5061044088828901610315565b93505060608601518015158114610455578182fd5b80925050608086015190509295509295909350565b60006020828403121561047b578081fd5b5035919050565b600060208284031215610493578081fd5b5051919050565b600081518084526104b2816020860160208601610568565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060a082526104ed60a083018861049a565b82810360208401526104ff818861049a565b90508281036040840152610513818761049a565b94151560608401525050608001529392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b90815260200190565b60005b8381101561058357818101518382015260200161056b565b83811115610592576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212202b4f74bce8a4ea2a7f82c1d06c64ef70cd5c06a785a8dea5c37a43f298d3e01a64736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/Faucet.sol/Faucet.dbg.json b/deployed/goerli/abi/contracts/Faucet.sol/Faucet.dbg.json deleted file mode 100644 index af64e128..00000000 --- a/deployed/goerli/abi/contracts/Faucet.sol/Faucet.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/Faucet.sol/Faucet.json b/deployed/goerli/abi/contracts/Faucet.sol/Faucet.json deleted file mode 100644 index 94cc0eda..00000000 --- a/deployed/goerli/abi/contracts/Faucet.sol/Faucet.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Faucet", - "sourceName": "contracts/Faucet.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Donate", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "faucet", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "requested", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060405161038438038061038483398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b6102f3806100916000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b86d1d6314610046578063eecf0b4f1461005b578063fc0c546a14610084575b600080fd5b610059610054366004610210565b610099565b005b61006e610069366004610210565b6101df565b60405161007b9190610291565b60405180910390f35b61008c6101f4565b60405161007b919061029c565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166101dc5773ffffffffffffffffffffffffffffffffffffffff8082166000908152600160208190526040808320805460ff1916909217909155905490517fa9059cbb00000000000000000000000000000000000000000000000000000000815291169063a9059cbb9061014590849069021e19e0c9bab24000009060040161026b565b602060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610197919061024b565b507f0553260a2e46b0577270d8992db02d30856ca880144c72d6e9503760946aef138169021e19e0c9bab24000006040516101d392919061026b565b60405180910390a15b50565b60016020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600060208284031215610221578081fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610244578182fd5b9392505050565b60006020828403121561025c578081fd5b81518015158114610244578182fd5b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b73ffffffffffffffffffffffffffffffffffffffff9190911681526020019056fea2646970667358221220ca27a8a44ee1b689dab9748a741617da9237bfa890c0db483e2b21182624c36064736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063b86d1d6314610046578063eecf0b4f1461005b578063fc0c546a14610084575b600080fd5b610059610054366004610210565b610099565b005b61006e610069366004610210565b6101df565b60405161007b9190610291565b60405180910390f35b61008c6101f4565b60405161007b919061029c565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166101dc5773ffffffffffffffffffffffffffffffffffffffff8082166000908152600160208190526040808320805460ff1916909217909155905490517fa9059cbb00000000000000000000000000000000000000000000000000000000815291169063a9059cbb9061014590849069021e19e0c9bab24000009060040161026b565b602060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610197919061024b565b507f0553260a2e46b0577270d8992db02d30856ca880144c72d6e9503760946aef138169021e19e0c9bab24000006040516101d392919061026b565b60405180910390a15b50565b60016020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600060208284031215610221578081fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610244578182fd5b9392505050565b60006020828403121561025c578081fd5b81518015158114610244578182fd5b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b73ffffffffffffffffffffffffffffffffffffffff9190911681526020019056fea2646970667358221220ca27a8a44ee1b689dab9748a741617da9237bfa890c0db483e2b21182624c36064736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/IDelegator.sol/IDelegator.dbg.json b/deployed/goerli/abi/contracts/IDelegator.sol/IDelegator.dbg.json deleted file mode 100644 index 0b39f4c3..00000000 --- a/deployed/goerli/abi/contracts/IDelegator.sol/IDelegator.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/15277834259d0f2b4f3c65843402b37f.json" -} diff --git a/deployed/goerli/abi/contracts/IDelegator.sol/IDelegator.json b/deployed/goerli/abi/contracts/IDelegator.sol/IDelegator.json deleted file mode 100644 index 32af490e..00000000 --- a/deployed/goerli/abi/contracts/IDelegator.sol/IDelegator.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IDelegator", - "sourceName": "contracts/IDelegator.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newDelegateAddress", - "type": "address" - } - ], - "name": "upgradeDelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/SchellingCoin.sol/SchellingCoin.dbg.json b/deployed/goerli/abi/contracts/SchellingCoin.sol/SchellingCoin.dbg.json deleted file mode 100644 index af64e128..00000000 --- a/deployed/goerli/abi/contracts/SchellingCoin.sol/SchellingCoin.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/SchellingCoin.sol/SchellingCoin.json b/deployed/goerli/abi/contracts/SchellingCoin.sol/SchellingCoin.json deleted file mode 100644 index c0581975..00000000 --- a/deployed/goerli/abi/contracts/SchellingCoin.sol/SchellingCoin.json +++ /dev/null @@ -1,585 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SchellingCoin", - "sourceName": "contracts/SchellingCoin.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "minter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "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": [], - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INITIAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINTER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addMinter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": "amount", - "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": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "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": "removeMinter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405162001a0238038062001a028339810160408190526200003491620003af565b6040518060400160405280600d81526020016c29b1b432b63634b733a1b7b4b760991b815250604051806040016040528060038152602001620a686960eb1b81525081600390805190602001906200008e92919062000309565b508051620000a490600490602084019062000309565b50620000b69150600090503362000112565b620000df33620000c96012600a620004d6565b620000d990633b9aca00620005be565b62000122565b6200010b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682620001f6565b5062000633565b6200011e828262000234565b5050565b6001600160a01b038216620001545760405162461bcd60e51b81526004016200014b906200042e565b60405180910390fd5b6200016260008383620002c0565b80600260008282546200017691906200046e565b90915550506001600160a01b03821660009081526020819052604081208054839290620001a59084906200046e565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620001ea90859062000465565b60405180910390a35050565b620002156200020583620002c5565b6200020f620002da565b620002de565b620001125760405162461bcd60e51b81526004016200014b90620003df565b620002408282620002de565b6200011e5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200027c620002da565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b505050565b60009081526005602052604090206001015490565b3390565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8280546200031790620005e0565b90600052602060002090601f0160209004810192826200033b576000855562000386565b82601f106200035657805160ff191683800117855562000386565b8280016001018555821562000386579182015b828111156200038657825182559160200191906001019062000369565b506200039492915062000398565b5090565b5b8082111562000394576000815560010162000399565b600060208284031215620003c1578081fd5b81516001600160a01b0381168114620003d8578182fd5b9392505050565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201526e0818591b5a5b881d1bc819dc985b9d608a1b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b600082198211156200048457620004846200061d565b500190565b80825b60018086116200049d5750620004cd565b818704821115620004b257620004b26200061d565b80861615620004c057918102915b9490941c9380026200048c565b94509492505050565b6000620003d86000198484600082620004f257506001620003d8565b816200050157506000620003d8565b81600181146200051a5760028114620005255762000559565b6001915050620003d8565b60ff8411156200053957620005396200061d565b6001841b9150848211156200055257620005526200061d565b50620003d8565b5060208310610133831016604e8410600b841016171562000591575081810a838111156200058b576200058b6200061d565b620003d8565b620005a0848484600162000489565b808604821115620005b557620005b56200061d565b02949350505050565b6000816000190483118215151615620005db57620005db6200061d565b500290565b600281046001821680620005f557607f821691505b602082108114156200061757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6113bf80620006436000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806339509351116100e3578063a217fddf1161008c578063d539139311610066578063d53913931461031e578063d547741f14610326578063dd62ed3e1461033957610198565b8063a217fddf146102f0578063a457c2d7146102f8578063a9059cbb1461030b57610198565b806391d14854116100bd57806391d14854146102c257806395d89b41146102d5578063983b2d56146102dd57610198565b8063395093511461028957806340c10f191461029c57806370a08231146102af57610198565b80632e0f2625116101455780633092afd51161011f5780633092afd51461024e578063313ce5671461026157806336568abe1461027657610198565b80632e0f2625146102295780632f2ff15d146102315780632ff2e9dc1461024657610198565b806318160ddd1161017657806318160ddd146101ee57806323b872dd14610203578063248a9ca31461021657610198565b806301ffc9a71461019d57806306fdde03146101c6578063095ea7b3146101db575b600080fd5b6101b06101ab366004610d11565b61034c565b6040516101bd9190610d51565b60405180910390f35b6101ce6103aa565b6040516101bd9190610d65565b6101b06101e9366004610cae565b61043c565b6101f6610459565b6040516101bd9190610d5c565b6101b0610211366004610c73565b61045f565b6101f6610224366004610cd7565b610501565b6101f6610516565b61024461023f366004610cef565b61051b565b005b6101f6610559565b61024461025c366004610c27565b610576565b6102696105a3565b6040516101bd91906111c8565b610244610284366004610cef565b6105a8565b6101b0610297366004610cae565b6105ea565b6101b06102aa366004610cae565b610639565b6101f66102bd366004610c27565b61068b565b6101b06102d0366004610cef565b6106a6565b6101ce6106d1565b6102446102eb366004610c27565b6106e0565b6101f661070a565b6101b0610306366004610cae565b61070f565b6101b0610319366004610cae565b61078a565b6101f661079e565b610244610334366004610cef565b6107c2565b6101f6610347366004610c41565b6107ea565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103a257506103a282610815565b90505b919050565b6060600380546103b990611338565b80601f01602080910402602001604051908101604052809291908181526020018280546103e590611338565b80156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b5050505050905090565b600061045061044961085f565b8484610863565b50600192915050565b60025490565b600061046c848484610917565b6001600160a01b03841660009081526001602052604081208161048d61085f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104d95760405162461bcd60e51b81526004016104d090610fc0565b60405180910390fd5b6104f4856104e561085f565b6104ef8685611321565b610863565b60019150505b9392505050565b60009081526005602052604090206001015490565b601281565b61052f61052783610501565b6102d061085f565b61054b5760405162461bcd60e51b81526004016104d090610e15565b6105558282610a3f565b5050565b6105656012600a611234565b61057390633b9aca00611302565b81565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826107c2565b50565b601290565b6105b061085f565b6001600160a01b0316816001600160a01b0316146105e05760405162461bcd60e51b81526004016104d090611134565b6105558282610ac6565b60006104506105f761085f565b84846001600061060561085f565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546104ef91906111d6565b60006106657f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336106a6565b6106815760405162461bcd60e51b81526004016104d090610f89565b6104508383610b4b565b6001600160a01b031660009081526020819052604090205490565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546103b990611338565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261051b565b600081565b6000806001600061071e61085f565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561076a5760405162461bcd60e51b81526004016104d0906110d7565b61078061077561085f565b856104ef8685611321565b5060019392505050565b600061045061079761085f565b8484610917565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6107ce61052783610501565b6105e05760405162461bcd60e51b81526004016104d090610f2c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6001600160a01b0383166108895760405162461bcd60e51b81526004016104d09061107a565b6001600160a01b0382166108af5760405162461bcd60e51b81526004016104d090610e72565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061090a908590610d5c565b60405180910390a3505050565b6001600160a01b03831661093d5760405162461bcd60e51b81526004016104d09061101d565b6001600160a01b0382166109635760405162461bcd60e51b81526004016104d090610db8565b61096e838383610c0b565b6001600160a01b038316600090815260208190526040902054818110156109a75760405162461bcd60e51b81526004016104d090610ecf565b6109b18282611321565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906109e79084906111d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a319190610d5c565b60405180910390a350505050565b610a4982826106a6565b6105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a8261085f565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610ad082826106a6565b156105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19169055610b0761085f565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6001600160a01b038216610b715760405162461bcd60e51b81526004016104d090611191565b610b7d60008383610c0b565b8060026000828254610b8f91906111d6565b90915550506001600160a01b03821660009081526020819052604081208054839290610bbc9084906111d6565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bff908590610d5c565b60405180910390a35050565b505050565b80356001600160a01b03811681146103a557600080fd5b600060208284031215610c38578081fd5b6104fa82610c10565b60008060408385031215610c53578081fd5b610c5c83610c10565b9150610c6a60208401610c10565b90509250929050565b600080600060608486031215610c87578081fd5b610c9084610c10565b9250610c9e60208501610c10565b9150604084013590509250925092565b60008060408385031215610cc0578182fd5b610cc983610c10565b946020939093013593505050565b600060208284031215610ce8578081fd5b5035919050565b60008060408385031215610d01578182fd5b82359150610c6a60208401610c10565b600060208284031215610d22578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104fa578182fd5b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015610d9157858101830151858201604001528201610d75565b81811115610da25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526016908201527f43616c6c6572206973206e6f742061206d696e74657200000000000000000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60ff91909116815260200190565b600082198211156111e9576111e9611373565b500190565b80825b6001808611611200575061122b565b81870482111561121257611212611373565b8086161561121f57918102915b9490941c9380026111f1565b94509492505050565b60006104fa600019848460008261124d575060016104fa565b8161125a575060006104fa565b8160018114611270576002811461127a576112a7565b60019150506104fa565b60ff84111561128b5761128b611373565b6001841b9150848211156112a1576112a1611373565b506104fa565b5060208310610133831016604e8410600b84101617156112da575081810a838111156112d5576112d5611373565b6104fa565b6112e784848460016111ee565b8086048211156112f9576112f9611373565b02949350505050565b600081600019048311821515161561131c5761131c611373565b500290565b60008282101561133357611333611373565b500390565b60028104600182168061134c57607f821691505b6020821081141561136d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea264697066735822122065ed79c46d91ce17585f0357639695a7073d033489041e5d40327525b735b5a664736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101985760003560e01c806339509351116100e3578063a217fddf1161008c578063d539139311610066578063d53913931461031e578063d547741f14610326578063dd62ed3e1461033957610198565b8063a217fddf146102f0578063a457c2d7146102f8578063a9059cbb1461030b57610198565b806391d14854116100bd57806391d14854146102c257806395d89b41146102d5578063983b2d56146102dd57610198565b8063395093511461028957806340c10f191461029c57806370a08231146102af57610198565b80632e0f2625116101455780633092afd51161011f5780633092afd51461024e578063313ce5671461026157806336568abe1461027657610198565b80632e0f2625146102295780632f2ff15d146102315780632ff2e9dc1461024657610198565b806318160ddd1161017657806318160ddd146101ee57806323b872dd14610203578063248a9ca31461021657610198565b806301ffc9a71461019d57806306fdde03146101c6578063095ea7b3146101db575b600080fd5b6101b06101ab366004610d11565b61034c565b6040516101bd9190610d51565b60405180910390f35b6101ce6103aa565b6040516101bd9190610d65565b6101b06101e9366004610cae565b61043c565b6101f6610459565b6040516101bd9190610d5c565b6101b0610211366004610c73565b61045f565b6101f6610224366004610cd7565b610501565b6101f6610516565b61024461023f366004610cef565b61051b565b005b6101f6610559565b61024461025c366004610c27565b610576565b6102696105a3565b6040516101bd91906111c8565b610244610284366004610cef565b6105a8565b6101b0610297366004610cae565b6105ea565b6101b06102aa366004610cae565b610639565b6101f66102bd366004610c27565b61068b565b6101b06102d0366004610cef565b6106a6565b6101ce6106d1565b6102446102eb366004610c27565b6106e0565b6101f661070a565b6101b0610306366004610cae565b61070f565b6101b0610319366004610cae565b61078a565b6101f661079e565b610244610334366004610cef565b6107c2565b6101f6610347366004610c41565b6107ea565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103a257506103a282610815565b90505b919050565b6060600380546103b990611338565b80601f01602080910402602001604051908101604052809291908181526020018280546103e590611338565b80156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b5050505050905090565b600061045061044961085f565b8484610863565b50600192915050565b60025490565b600061046c848484610917565b6001600160a01b03841660009081526001602052604081208161048d61085f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104d95760405162461bcd60e51b81526004016104d090610fc0565b60405180910390fd5b6104f4856104e561085f565b6104ef8685611321565b610863565b60019150505b9392505050565b60009081526005602052604090206001015490565b601281565b61052f61052783610501565b6102d061085f565b61054b5760405162461bcd60e51b81526004016104d090610e15565b6105558282610a3f565b5050565b6105656012600a611234565b61057390633b9aca00611302565b81565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826107c2565b50565b601290565b6105b061085f565b6001600160a01b0316816001600160a01b0316146105e05760405162461bcd60e51b81526004016104d090611134565b6105558282610ac6565b60006104506105f761085f565b84846001600061060561085f565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546104ef91906111d6565b60006106657f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336106a6565b6106815760405162461bcd60e51b81526004016104d090610f89565b6104508383610b4b565b6001600160a01b031660009081526020819052604090205490565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546103b990611338565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261051b565b600081565b6000806001600061071e61085f565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561076a5760405162461bcd60e51b81526004016104d0906110d7565b61078061077561085f565b856104ef8685611321565b5060019392505050565b600061045061079761085f565b8484610917565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6107ce61052783610501565b6105e05760405162461bcd60e51b81526004016104d090610f2c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6001600160a01b0383166108895760405162461bcd60e51b81526004016104d09061107a565b6001600160a01b0382166108af5760405162461bcd60e51b81526004016104d090610e72565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061090a908590610d5c565b60405180910390a3505050565b6001600160a01b03831661093d5760405162461bcd60e51b81526004016104d09061101d565b6001600160a01b0382166109635760405162461bcd60e51b81526004016104d090610db8565b61096e838383610c0b565b6001600160a01b038316600090815260208190526040902054818110156109a75760405162461bcd60e51b81526004016104d090610ecf565b6109b18282611321565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906109e79084906111d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a319190610d5c565b60405180910390a350505050565b610a4982826106a6565b6105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a8261085f565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610ad082826106a6565b156105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19169055610b0761085f565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6001600160a01b038216610b715760405162461bcd60e51b81526004016104d090611191565b610b7d60008383610c0b565b8060026000828254610b8f91906111d6565b90915550506001600160a01b03821660009081526020819052604081208054839290610bbc9084906111d6565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bff908590610d5c565b60405180910390a35050565b505050565b80356001600160a01b03811681146103a557600080fd5b600060208284031215610c38578081fd5b6104fa82610c10565b60008060408385031215610c53578081fd5b610c5c83610c10565b9150610c6a60208401610c10565b90509250929050565b600080600060608486031215610c87578081fd5b610c9084610c10565b9250610c9e60208501610c10565b9150604084013590509250925092565b60008060408385031215610cc0578182fd5b610cc983610c10565b946020939093013593505050565b600060208284031215610ce8578081fd5b5035919050565b60008060408385031215610d01578182fd5b82359150610c6a60208401610c10565b600060208284031215610d22578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104fa578182fd5b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015610d9157858101830151858201604001528201610d75565b81811115610da25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526016908201527f43616c6c6572206973206e6f742061206d696e74657200000000000000000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60ff91909116815260200190565b600082198211156111e9576111e9611373565b500190565b80825b6001808611611200575061122b565b81870482111561121257611212611373565b8086161561121f57918102915b9490941c9380026111f1565b94509492505050565b60006104fa600019848460008261124d575060016104fa565b8161125a575060006104fa565b8160018114611270576002811461127a576112a7565b60019150506104fa565b60ff84111561128b5761128b611373565b6001841b9150848211156112a1576112a1611373565b506104fa565b5060208310610133831016604e8410600b84101617156112da575081810a838111156112d5576112d5611373565b6104fa565b6112e784848460016111ee565b8086048211156112f9576112f9611373565b02949350505050565b600081600019048311821515161561131c5761131c611373565b500290565b60008282101561133357611333611373565b500390565b60028104600182168061134c57607f821691505b6020821081141561136d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea264697066735822122065ed79c46d91ce17585f0357639695a7073d033489041e5d40327525b735b5a664736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/lib/Constants.sol/Constants.dbg.json b/deployed/goerli/abi/contracts/lib/Constants.sol/Constants.dbg.json deleted file mode 100644 index 1d742005..00000000 --- a/deployed/goerli/abi/contracts/lib/Constants.sol/Constants.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/lib/Constants.sol/Constants.json b/deployed/goerli/abi/contracts/lib/Constants.sol/Constants.json deleted file mode 100644 index 2e45b6c4..00000000 --- a/deployed/goerli/abi/contracts/lib/Constants.sol/Constants.json +++ /dev/null @@ -1,245 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Constants", - "sourceName": "contracts/lib/Constants.sol", - "abi": [ - { - "inputs": [], - "name": "commit", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "dispute", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "epochLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "exposureDenominator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getBlockConfirmerHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getDefaultAdminHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getJobConfirmerHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeModifierHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getStakerActivityUpdaterHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "maxAltBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "minStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "numStates", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "penaltyNotRevealDenom", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "penaltyNotRevealNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "propose", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "reveal", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "unstakeLockPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawLockPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x61048061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101405760003560e01c80639cec6f8a116100bc578063b1cc45001161008b578063d98b3ced11610070578063d98b3ced146101d0578063f240f7c3146101d8578063f4f29c5b146101e057610140565b8063b1cc4500146101c0578063c198f8ba146101c857610140565b80639cec6f8a146101a8578063a475b5dd146101b0578063a86f5a3f14610145578063b1a62781146101b857610140565b8063379597e01161011357806357d775f8116100f857806357d775f8146101905780637f890b111461019857806380638d42146101a057610140565b8063379597e0146101735780633c7a3aff1461017b57610140565b80632628490f1461014557806326bf1c03146101455780633002c9ac14610163578063375b3c0a1461016b575b600080fd5b61014d6101e8565b60405161015a91906102c5565b60405180910390f35b61014d6101ed565b61014d6101f3565b61014d610211565b610183610216565b60405161015a91906102ce565b61014d61021b565b61014d610220565b61014d610244565b61014d610268565b6101836101e8565b61014d610216565b61014d61028c565b610183610292565b61014d610297565b6101836102bb565b61014d6102c0565b600190565b6103e890565b60006102016012600a610322565b61020c9060646103fc565b905090565b600590565b600090565b602890565b7fbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f90565b7fdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc80490565b7f4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece90565b61271090565b600290565b7f18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f90565b600390565b600490565b90815260200190565b60ff91909116815260200190565b80825b60018086116102ee5750610319565b8187048211156103005761030061041b565b8086161561030d57918102915b9490941c9380026102df565b94509492505050565b60006103316000198484610338565b9392505050565b60008261034757506001610331565b8161035457506000610331565b816001811461036a5760028114610374576103a1565b6001915050610331565b60ff8411156103855761038561041b565b6001841b91508482111561039b5761039b61041b565b50610331565b5060208310610133831016604e8410600b84101617156103d4575081810a838111156103cf576103cf61041b565b610331565b6103e184848460016102dc565b8086048211156103f3576103f361041b565b02949350505050565b60008160001904831182151516156104165761041661041b565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220cdca61c73e198e6ee063fea1dd60e2592d0532720128908c257df814dfa3feef64736f6c63430008000033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106101405760003560e01c80639cec6f8a116100bc578063b1cc45001161008b578063d98b3ced11610070578063d98b3ced146101d0578063f240f7c3146101d8578063f4f29c5b146101e057610140565b8063b1cc4500146101c0578063c198f8ba146101c857610140565b80639cec6f8a146101a8578063a475b5dd146101b0578063a86f5a3f14610145578063b1a62781146101b857610140565b8063379597e01161011357806357d775f8116100f857806357d775f8146101905780637f890b111461019857806380638d42146101a057610140565b8063379597e0146101735780633c7a3aff1461017b57610140565b80632628490f1461014557806326bf1c03146101455780633002c9ac14610163578063375b3c0a1461016b575b600080fd5b61014d6101e8565b60405161015a91906102c5565b60405180910390f35b61014d6101ed565b61014d6101f3565b61014d610211565b610183610216565b60405161015a91906102ce565b61014d61021b565b61014d610220565b61014d610244565b61014d610268565b6101836101e8565b61014d610216565b61014d61028c565b610183610292565b61014d610297565b6101836102bb565b61014d6102c0565b600190565b6103e890565b60006102016012600a610322565b61020c9060646103fc565b905090565b600590565b600090565b602890565b7fbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f90565b7fdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc80490565b7f4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece90565b61271090565b600290565b7f18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f90565b600390565b600490565b90815260200190565b60ff91909116815260200190565b80825b60018086116102ee5750610319565b8187048211156103005761030061041b565b8086161561030d57918102915b9490941c9380026102df565b94509492505050565b60006103316000198484610338565b9392505050565b60008261034757506001610331565b8161035457506000610331565b816001811461036a5760028114610374576103a1565b6001915050610331565b60ff8411156103855761038561041b565b6001841b91508482111561039b5761039b61041b565b50610331565b5060208310610133831016604e8410600b84101617156103d4575081810a838111156103cf576103cf61041b565b610331565b6103e184848460016102dc565b8086048211156103f3576103f361041b565b02949350505050565b60008160001904831182151516156104165761041661041b565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220cdca61c73e198e6ee063fea1dd60e2592d0532720128908c257df814dfa3feef64736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/abi/contracts/lib/Random.sol/Random.dbg.json b/deployed/goerli/abi/contracts/lib/Random.sol/Random.dbg.json deleted file mode 100644 index 1d742005..00000000 --- a/deployed/goerli/abi/contracts/lib/Random.sol/Random.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/lib/Random.sol/Random.json b/deployed/goerli/abi/contracts/lib/Random.sol/Random.json deleted file mode 100644 index b2d5abbf..00000000 --- a/deployed/goerli/abi/contracts/lib/Random.sol/Random.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Random", - "sourceName": "contracts/lib/Random.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - } - ], - "name": "blockHashes", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "max", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "seed", - "type": "bytes32" - } - ], - "name": "prng", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "seed", - "type": "bytes32" - } - ], - "name": "prngHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x61041961003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80635075dbfb146100505780637fa00da214610079578063b07ceab81461008c575b600080fd5b61006361005e3660046102f0565b61009f565b6040516100709190610330565b60405180910390f35b6100636100873660046102a6565b6100c3565b61006361009a3660046102c7565b61023c565b6000806100ac858461023c565b9050806100b985826103a3565b9695505050505050565b600080600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561010c57600080fd5b505af4158015610120573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610144919061028e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561018857600080fd5b505af415801561019c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c0919061028e565b6101ca9043610339565b6101d4919061034d565b905060015b8460ff168160ff161161023157826101f460ff83168461036c565b40604051602001610206929190610322565b604051602081830303815290604052805190602001209250808061022990610383565b9150506101d9565b50909150505b919050565b600080610248846100c3565b9050808360405160200161025d929190610322565b60408051808303601f190181529190528051602090910120949350505050565b803560ff8116811461023757600080fd5b60006020828403121561029f578081fd5b5051919050565b6000602082840312156102b7578081fd5b6102c08261027d565b9392505050565b600080604083850312156102d9578081fd5b6102e28361027d565b946020939093013593505050565b600080600060608486031215610304578081fd5b61030d8461027d565b95602085013595506040909401359392505050565b918252602082015260400190565b90815260200190565b600082610348576103486103cd565b500490565b6000816000190483118215151615610367576103676103b7565b500290565b60008282101561037e5761037e6103b7565b500390565b600060ff821660ff81141561039a5761039a6103b7565b60010192915050565b6000826103b2576103b26103cd565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220eb7eb258e3f726aa383a3611810db1309d157c7e3653eebe2935135bdd1703f464736f6c63430008000033", - "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80635075dbfb146100505780637fa00da214610079578063b07ceab81461008c575b600080fd5b61006361005e3660046102f0565b61009f565b6040516100709190610330565b60405180910390f35b6100636100873660046102a6565b6100c3565b61006361009a3660046102c7565b61023c565b6000806100ac858461023c565b9050806100b985826103a3565b9695505050505050565b600080600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561010c57600080fd5b505af4158015610120573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610144919061028e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561018857600080fd5b505af415801561019c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c0919061028e565b6101ca9043610339565b6101d4919061034d565b905060015b8460ff168160ff161161023157826101f460ff83168461036c565b40604051602001610206929190610322565b604051602081830303815290604052805190602001209250808061022990610383565b9150506101d9565b50909150505b919050565b600080610248846100c3565b9050808360405160200161025d929190610322565b60408051808303601f190181529190528051602090910120949350505050565b803560ff8116811461023757600080fd5b60006020828403121561029f578081fd5b5051919050565b6000602082840312156102b7578081fd5b6102c08261027d565b9392505050565b600080604083850312156102d9578081fd5b6102e28361027d565b946020939093013593505050565b600080600060608486031215610304578081fd5b61030d8461027d565b95602085013595506040909401359392505050565b918252602082015260400190565b90815260200190565b600082610348576103486103cd565b500490565b6000816000190483118215151615610367576103676103b7565b500290565b60008282101561037e5761037e6103b7565b500390565b600060ff821660ff81141561039a5761039a6103b7565b60010192915050565b6000826103b2576103b26103cd565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220eb7eb258e3f726aa383a3611810db1309d157c7e3653eebe2935135bdd1703f464736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 260 - }, - { - "length": 20, - "start": 384 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 202 - }, - { - "length": 20, - "start": 326 - } - ] - } - } -} diff --git a/deployed/goerli/abi/contracts/lib/Structs.sol/Structs.dbg.json b/deployed/goerli/abi/contracts/lib/Structs.sol/Structs.dbg.json deleted file mode 100644 index 1d742005..00000000 --- a/deployed/goerli/abi/contracts/lib/Structs.sol/Structs.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/ef5a8b4d3736605175a73b5015afa802.json" -} diff --git a/deployed/goerli/abi/contracts/lib/Structs.sol/Structs.json b/deployed/goerli/abi/contracts/lib/Structs.sol/Structs.json deleted file mode 100644 index 389ba26e..00000000 --- a/deployed/goerli/abi/contracts/lib/Structs.sol/Structs.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Structs", - "sourceName": "contracts/lib/Structs.sol", - "abi": [], - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e0d805c0755810e7720ec9dfd9ceb27526cf5d4622cfe74e4c94b0ad39532a0664736f6c63430008000033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e0d805c0755810e7720ec9dfd9ceb27526cf5d4622cfe74e4c94b0ad39532a0664736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/goerli/addresses.json b/deployed/goerli/addresses.json deleted file mode 100644 index 1aec61e4..00000000 --- a/deployed/goerli/addresses.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "Constants": "0xdc6CE8Ae027d4d658C32f9F97a811884151ab671", - "Structs": "0xeB017Cfd2d3318E7FAE3803ce70A0a712a5D153D", - "Random": "0x946500C086679CE863280B9f25E79A5595D016b0", - "BlockManager": "0x4385BB2264A088A022e8F78CfEaAe9D030B6F94E", - "JobManager": "0x40ee207556cf795EaFc33d87CD6BC5548dbe2307", - "StakeManager": "0x4eb770fd059C422f49a94febE46875e11B22d1CA", - "StateManager": "0xD288B383CFE13a477Ba29fAcA5AFb0d5D78c5757", - "VoteManager": "0x849cE40d6d311bBF1c2175581c05e4DB935fb5d7", - "Delegator": "0xBBd044Ba9fB2dB39F364d3e9a5B32aC148CfC106", - "SchellingCoin": "0xbbF08eb859865C5A7FD393cD56B56E4d3F69CC0c", - "Faucet": "0x4580F22891f1ac5FEE31D7ba337aeea1B1843D50" -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json b/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json b/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json deleted file mode 100644 index 17181da3..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AccessControl", - "sourceName": "@openzeppelin/contracts/access/AccessControl.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.dbg.json b/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.json b/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.json deleted file mode 100644 index ed296047..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IAccessControl", - "sourceName": "@openzeppelin/contracts/access/AccessControl.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json b/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json deleted file mode 100644 index 3eb25eb9..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json b/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json deleted file mode 100644 index e777f393..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC20", - "sourceName": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "amount", - "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": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405162000d2d38038062000d2d8339810160408190526200003491620001b9565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000273565b828054620000769062000220565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b600082601f8301126200011f578081fd5b81516001600160401b03808211156200013c576200013c6200025d565b6040516020601f8401601f19168201810183811183821017156200016457620001646200025d565b60405283825285840181018710156200017b578485fd5b8492505b838310156200019e57858301810151828401820152918201916200017f565b83831115620001af57848185840101525b5095945050505050565b60008060408385031215620001cc578182fd5b82516001600160401b0380821115620001e3578384fd5b620001f1868387016200010e565b9350602085015191508082111562000207578283fd5b5062000216858286016200010e565b9150509250929050565b6002810460018216806200023557607f821691505b602082108114156200025757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b610aaa80620002836000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610177578063a9059cbb1461018a578063dd62ed3e1461019d576100c9565b8063395093511461014957806370a082311461015c57806395d89b411461016f576100c9565b806318160ddd116100b257806318160ddd1461010c57806323b872dd14610121578063313ce56714610134576100c9565b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101b0565b6040516100e391906106ff565b60405180910390f35b6100ff6100fa3660046106cb565b610242565b6040516100e391906106f4565b61011461025f565b6040516100e391906109dd565b6100ff61012f366004610690565b610265565b61013c610305565b6040516100e391906109e6565b6100ff6101573660046106cb565b61030a565b61011461016a36600461063d565b610359565b6100d6610378565b6100ff6101853660046106cb565b610387565b6100ff6101983660046106cb565b610402565b6101146101ab36600461065e565b610416565b6060600380546101bf90610a23565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610a23565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b600061025661024f610441565b8484610445565b50600192915050565b60025490565b60006102728484846104f9565b6001600160a01b038416600090815260016020526040812081610293610441565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156102df5760405162461bcd60e51b81526004016102d690610869565b60405180910390fd5b6102fa856102eb610441565b6102f58685610a0c565b610445565b506001949350505050565b601290565b6000610256610317610441565b848460016000610325610441565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546102f591906109f4565b6001600160a01b0381166000908152602081905260409020545b919050565b6060600480546101bf90610a23565b60008060016000610396610441565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156103e25760405162461bcd60e51b81526004016102d690610980565b6103f86103ed610441565b856102f58685610a0c565b5060019392505050565b600061025661040f610441565b84846104f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661046b5760405162461bcd60e51b81526004016102d690610923565b6001600160a01b0382166104915760405162461bcd60e51b81526004016102d6906107af565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ec9085906109dd565b60405180910390a3505050565b6001600160a01b03831661051f5760405162461bcd60e51b81526004016102d6906108c6565b6001600160a01b0382166105455760405162461bcd60e51b81526004016102d690610752565b610550838383610621565b6001600160a01b038316600090815260208190526040902054818110156105895760405162461bcd60e51b81526004016102d69061080c565b6105938282610a0c565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105c99084906109f4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161061391906109dd565b60405180910390a350505050565b505050565b80356001600160a01b038116811461037357600080fd5b60006020828403121561064e578081fd5b61065782610626565b9392505050565b60008060408385031215610670578081fd5b61067983610626565b915061068760208401610626565b90509250929050565b6000806000606084860312156106a4578081fd5b6106ad84610626565b92506106bb60208501610626565b9150604084013590509250925092565b600080604083850312156106dd578182fd5b6106e683610626565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b8181101561072b5785810183015185820160400152820161070f565b8181111561073c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610a0757610a07610a5e565b500190565b600082821015610a1e57610a1e610a5e565b500390565b600281046001821680610a3757607f821691505b60208210811415610a5857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207286ecefd2ed6f67019b2664641d60f3c5b133f2cc821c3749b8063f7210fe6364736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610177578063a9059cbb1461018a578063dd62ed3e1461019d576100c9565b8063395093511461014957806370a082311461015c57806395d89b411461016f576100c9565b806318160ddd116100b257806318160ddd1461010c57806323b872dd14610121578063313ce56714610134576100c9565b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101b0565b6040516100e391906106ff565b60405180910390f35b6100ff6100fa3660046106cb565b610242565b6040516100e391906106f4565b61011461025f565b6040516100e391906109dd565b6100ff61012f366004610690565b610265565b61013c610305565b6040516100e391906109e6565b6100ff6101573660046106cb565b61030a565b61011461016a36600461063d565b610359565b6100d6610378565b6100ff6101853660046106cb565b610387565b6100ff6101983660046106cb565b610402565b6101146101ab36600461065e565b610416565b6060600380546101bf90610a23565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610a23565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b600061025661024f610441565b8484610445565b50600192915050565b60025490565b60006102728484846104f9565b6001600160a01b038416600090815260016020526040812081610293610441565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156102df5760405162461bcd60e51b81526004016102d690610869565b60405180910390fd5b6102fa856102eb610441565b6102f58685610a0c565b610445565b506001949350505050565b601290565b6000610256610317610441565b848460016000610325610441565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546102f591906109f4565b6001600160a01b0381166000908152602081905260409020545b919050565b6060600480546101bf90610a23565b60008060016000610396610441565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156103e25760405162461bcd60e51b81526004016102d690610980565b6103f86103ed610441565b856102f58685610a0c565b5060019392505050565b600061025661040f610441565b84846104f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661046b5760405162461bcd60e51b81526004016102d690610923565b6001600160a01b0382166104915760405162461bcd60e51b81526004016102d6906107af565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ec9085906109dd565b60405180910390a3505050565b6001600160a01b03831661051f5760405162461bcd60e51b81526004016102d6906108c6565b6001600160a01b0382166105455760405162461bcd60e51b81526004016102d690610752565b610550838383610621565b6001600160a01b038316600090815260208190526040902054818110156105895760405162461bcd60e51b81526004016102d69061080c565b6105938282610a0c565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105c99084906109f4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161061391906109dd565b60405180910390a350505050565b505050565b80356001600160a01b038116811461037357600080fd5b60006020828403121561064e578081fd5b61065782610626565b9392505050565b60008060408385031215610670578081fd5b61067983610626565b915061068760208401610626565b90509250929050565b6000806000606084860312156106a4578081fd5b6106ad84610626565b92506106bb60208501610626565b9150604084013590509250925092565b600080604083850312156106dd578182fd5b6106e683610626565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b8181101561072b5785810183015185820160400152820161070f565b8181111561073c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610a0757610a07610a5e565b500190565b600082821015610a1e57610a1e610a5e565b500390565b600281046001821680610a3757607f821691505b60208210811415610a5857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207286ecefd2ed6f67019b2664641d60f3c5b133f2cc821c3749b8063f7210fe6364736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json b/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json deleted file mode 100644 index 3eb25eb9..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json b/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json deleted file mode 100644 index 663a02d9..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20", - "sourceName": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "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": "amount", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json b/deployed/matic/abi/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/utils/Context.sol/Context.json b/deployed/matic/abi/@openzeppelin/contracts/utils/Context.sol/Context.json deleted file mode 100644 index 8fe86fc7..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/utils/Context.sol/Context.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Context", - "sourceName": "@openzeppelin/contracts/utils/Context.sol", - "abi": [], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.dbg.json b/deployed/matic/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.dbg.json deleted file mode 100644 index 3eb25eb9..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.json b/deployed/matic/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.json deleted file mode 100644 index 837c709c..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol/MerkleProof.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MerkleProof", - "sourceName": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", - "abi": [], - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220393df58923e0b4b21acbb6904bf330fb8080acf82fb13d1dcb114da8c387305164736f6c63430008000033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220393df58923e0b4b21acbb6904bf330fb8080acf82fb13d1dcb114da8c387305164736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json b/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json deleted file mode 100644 index 3eb25eb9..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json b/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json deleted file mode 100644 index 1304472c..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC165", - "sourceName": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json b/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json deleted file mode 100644 index 3eb25eb9..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json b/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json deleted file mode 100644 index ff87f91e..00000000 --- a/deployed/matic/abi/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC165", - "sourceName": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/build-info/138d5bb74b45b18375c5a9d45dcc88d2.json b/deployed/matic/abi/build-info/138d5bb74b45b18375c5a9d45dcc88d2.json deleted file mode 100644 index 520b0532..00000000 --- a/deployed/matic/abi/build-info/138d5bb74b45b18375c5a9d45dcc88d2.json +++ /dev/null @@ -1,161033 +0,0 @@ -{ - "id": "138d5bb74b45b18375c5a9d45dcc88d2", - "_format": "hh-sol-build-info-1", - "solcVersion": "0.8.0", - "solcLongVersion": "0.8.0+commit.c7dfd78e", - "input": { - "language": "Solidity", - "sources": { - "contracts/Core/ACL.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\nimport \"../lib/Constants.sol\";\n\n\ncontract ACL is AccessControl {\n constructor() {\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n }\n\n modifier onlyRole(bytes32 _hash) {\n require(hasRole(_hash, msg.sender), \"ACL: sender not authorized\");\n _;\n }\n}" - }, - "@openzeppelin/contracts/access/AccessControl.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n function hasRole(bytes32 role, address account) external view returns (bool);\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n function grantRole(bytes32 role, address account) external;\n function revokeRole(bytes32 role, address account) external;\n function renounceRole(bytes32 role, address account) external;\n}\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping (address => bool) members;\n bytes32 adminRole;\n }\n\n mapping (bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId\n || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view override returns (bool) {\n return _roles[role].members[account];\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view override returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) public virtual override {\n require(hasRole(getRoleAdmin(role), _msgSender()), \"AccessControl: sender must be an admin to grant\");\n\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) public virtual override {\n require(hasRole(getRoleAdmin(role), _msgSender()), \"AccessControl: sender must be an admin to revoke\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) public virtual override {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n emit RoleAdminChanged(role, getRoleAdmin(role), adminRole);\n _roles[role].adminRole = adminRole;\n }\n\n function _grantRole(bytes32 role, address account) private {\n if (!hasRole(role, account)) {\n _roles[role].members[account] = true;\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n function _revokeRole(bytes32 role, address account) private {\n if (hasRole(role, account)) {\n _roles[role].members[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n" - }, - "contracts/lib/Constants.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\n\nlibrary Constants {\n function commit() public pure returns(uint8) { return(0);}\n function reveal() public pure returns(uint8) { return(1);}\n function propose() public pure returns(uint8) { return(2);}\n function dispute() public pure returns(uint8) { return(3);}\n // penalty not reveal = 0.01% per epch\n function penaltyNotRevealNum() public pure returns(uint256) { return (1);}\n function penaltyNotRevealDenom() public pure returns(uint256) { return (10000); }\n function minStake() public pure returns(uint256) { return(100*(10**uint256(18))); }\n function unstakeLockPeriod() public pure returns(uint256) { return(1); }\n function withdrawLockPeriod() public pure returns(uint256) { return(1); }\n function maxAltBlocks() public pure returns(uint256) { return(5); }\n function epochLength() public pure returns(uint256) { return(300); }\n function numStates() public pure returns(uint256) { return(4); }\n function exposureDenominator() public pure returns(uint256) { return(1000); }\n\n function getJobConfirmerHash() public pure returns(bytes32) { return(0xbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f); /*keccak256(\"JOB_CONFIRMER_ROLE\")*/}\n function getBlockConfirmerHash() public pure returns(bytes32) { return(0x18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f);/*keccak256(\"BLOCK_CONFIRMER_ROLE\"))*/}\n function getStakeModifierHash() public pure returns(bytes32) { return(0xdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc804);/*keccak256(\"STAKE_MODIFIER_ROLE\"))*/}\n function getStakerActivityUpdaterHash() public pure returns(bytes32) { return(0x4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece); /*keccak256(\"STAKER_ACTIVITY_UPDATER_ROLE\"))*/}\n function getDefaultAdminHash() public pure returns(bytes32) { return(0x0000000000000000000000000000000000000000000000000000000000000000);}\n}\n" - }, - "@openzeppelin/contracts/utils/Context.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\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 this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return msg.data;\n }\n}\n" - }, - "@openzeppelin/contracts/utils/introspection/ERC165.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" - }, - "@openzeppelin/contracts/utils/introspection/IERC165.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\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[EIP 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" - }, - "contracts/Core/VoteManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\";\nimport \"./interface/IStakeManager.sol\";\nimport \"./interface/IStateManager.sol\";\nimport \"./interface/IBlockManager.sol\";\nimport \"./storage/VoteStorage.sol\";\nimport \"../lib/Constants.sol\";\nimport \"../Initializable.sol\";\nimport \"./ACL.sol\";\n\n\ncontract VoteManager is Initializable, ACL, VoteStorage {\n\n IStakeManager public stakeManager;\n IStateManager public stateManager;\n IBlockManager public blockManager;\n\n event Committed(uint256 epoch, uint256 stakerId, bytes32 commitment, uint256 timestamp);\n event Revealed(uint256 epoch, uint256 stakerId, uint256 stake, uint256[] values, uint256 timestamp);\n\n modifier checkEpoch (uint256 epoch) {\n require(epoch == stateManager.getEpoch(), \"incorrect epoch\");\n _;\n }\n\n modifier checkState (uint256 state) {\n require(state == stateManager.getState(), \"incorrect state\");\n _;\n }\n\n function initialize (\n address stakeManagerAddress,\n address stateManagerAddress,\n address blockManagerAddress\n ) external initializer onlyRole(DEFAULT_ADMIN_ROLE)\n {\n stakeManager = IStakeManager(stakeManagerAddress);\n stateManager = IStateManager(stateManagerAddress);\n blockManager = IBlockManager(blockManagerAddress);\n }\n \n\n function commit(uint256 epoch, bytes32 commitment) public initialized checkEpoch(epoch) checkState(Constants.commit()) {\n uint256 stakerId = stakeManager.getStakerId(msg.sender);\n require(commitments[epoch][stakerId] == 0x0, \"already commited\");\n Structs.Staker memory thisStaker = stakeManager.getStaker(stakerId);\n\n // Switch to call confirm block only when block in previous epoch has not been confirmed \n // and if previous epoch do have proposed blocks\n\n if (blockManager.getBlock(epoch-1).proposerId == 0 && blockManager.getNumProposedBlocks(epoch-1) > 0) {\n blockManager.confirmBlock();\n }\n stakeManager.givePenalties(stakerId, epoch);\n\n if (thisStaker.stake >= Constants.minStake()) {\n commitments[epoch][stakerId] = commitment;\n stakeManager.updateCommitmentEpoch(stakerId);\n emit Committed(epoch, stakerId, commitment, block.timestamp);\n }\n }\n\n\n function reveal (\n uint256 epoch,\n bytes32 root,\n uint256[] memory values,\n bytes32[][] memory proofs, bytes32 secret,\n address stakerAddress\n )\n public\n initialized\n checkEpoch(epoch) \n {\n uint256 thisStakerId = stakeManager.getStakerId(stakerAddress);\n require(thisStakerId > 0, \"Structs.Staker does not exist\");\n Structs.Staker memory thisStaker = stakeManager.getStaker(thisStakerId);\n require(commitments[epoch][thisStakerId] != 0x0, \"not commited or already revealed\");\n require(keccak256(abi.encodePacked(epoch, root, secret)) == commitments[epoch][thisStakerId],\n \"incorrect secret/value\");\n \n //if revealing self\n if (msg.sender == stakerAddress) {\n require(stateManager.getState() == Constants.reveal(), \"Not reveal state\");\n require(thisStaker.stake > 0, \"nonpositive stake\");\n for (uint256 i = 0; i < values.length; i++) {\n require(MerkleProof.verify(proofs[i], root, keccak256(abi.encodePacked(values[i]))),\n \"invalid merkle proof\");\n votes[epoch][thisStakerId][i] = Structs.Vote(values[i], thisStaker.stake);\n voteWeights[epoch][i][values[i]] = voteWeights[epoch][i][values[i]]+(thisStaker.stake);\n totalStakeRevealed[epoch][i] = totalStakeRevealed[epoch][i]+(thisStaker.stake);\n }\n\n stakeManager.giveRewards(thisStakerId, epoch);\n\n commitments[epoch][thisStakerId] = 0x0;\n stakeManager.setStakerEpochLastRevealed(thisStakerId, epoch);\n\n emit Revealed(epoch, thisStakerId, thisStaker.stake, values, block.timestamp);\n } else {\n //bounty hunter revealing someone else's secret in commit state\n require(stateManager.getState() == Constants.commit(), \"Not commit state\");\n commitments[epoch][thisStakerId] = 0x0;\n stakeManager.slash(thisStakerId, msg.sender, epoch);\n }\n }\n\n function getCommitment(uint256 epoch, uint256 stakerId) public view returns(bytes32) {\n //epoch -> stakerid -> commitment\n return(commitments[epoch][stakerId]);\n }\n\n function getVote(uint256 epoch, uint256 stakerId, uint256 assetId) public view returns(Structs.Vote memory vote) {\n //epoch -> stakerid -> assetid -> vote\n return(votes[epoch][stakerId][assetId]);\n }\n\n function getVoteWeight(uint256 epoch, uint256 assetId, uint256 voteValue)\n public view returns(uint256) {\n //epoch -> assetid -> voteValue -> weight\n return(voteWeights[epoch][assetId][voteValue]);\n }\n\n function getTotalStakeRevealed(uint256 epoch, uint256 assetId) public view returns(uint256) {\n // epoch -> asset -> stakeWeight\n return(totalStakeRevealed[epoch][assetId]);\n }\n\n function getTotalStakeRevealed(uint256 epoch, uint256 assetId, uint256 voteValue) public view returns(uint256) {\n //epoch -> assetid -> voteValue -> weight\n return(voteWeights[epoch][assetId][voteValue]);\n }\n}\n" - }, - "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/**\n * @dev These functions deal with verification of Merkle trees (hash trees),\n */\nlibrary MerkleProof {\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n * defined by `root`. For this, a `proof` must be provided, containing\n * sibling hashes on the branch from the leaf to the root of the tree. Each\n * pair of leaves and each pair of pre-images are assumed to be sorted.\n */\n function verify(bytes32[] memory proof, bytes32 root, bytes32 leaf) internal pure returns (bool) {\n bytes32 computedHash = leaf;\n\n for (uint256 i = 0; i < proof.length; i++) {\n bytes32 proofElement = proof[i];\n\n if (computedHash <= proofElement) {\n // Hash(current computed hash + current element of the proof)\n computedHash = keccak256(abi.encodePacked(computedHash, proofElement));\n } else {\n // Hash(current element of the proof + current computed hash)\n computedHash = keccak256(abi.encodePacked(proofElement, computedHash));\n }\n }\n\n // Check if the computed hash (root) is equal to the provided root\n return computedHash == root;\n }\n}\n" - }, - "contracts/Core/interface/IStakeManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\ninterface IStakeManager {\n\n function setStakerEpochLastRevealed(uint256 _id, uint256 _epochLastRevealed) external;\n function updateCommitmentEpoch(uint256 stakerId) external;\n function stake (uint256 epoch, uint256 amount) external;\n function unstake (uint256 epoch) external;\n function withdraw (uint256 epoch) external;\n function givePenalties (uint256 stakerId, uint256 epoch) external;\n function giveBlockReward(uint256 stakerId, uint256 epoch) external;\n function giveRewards (uint256 stakerId, uint256 epoch) external;\n function slash (uint256 id, address bountyHunter, uint256 epoch) external;\n function getStakerId(address _address) external view returns(uint256);\n function getStaker(uint256 _id) external view returns(Structs.Staker memory staker);\n function getNumStakers() external view returns(uint256);\n function getRewardPool() external view returns(uint256);\n function getStakeGettingReward() external view returns(uint256);\n}\n" - }, - "contracts/Core/interface/IStateManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\ninterface IStateManager {\n function getEpoch () external view returns(uint256);\n\n function getState () external view returns(uint256);\n}\n" - }, - "contracts/Core/interface/IBlockManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\n\ninterface IBlockManager {\n\n // elected proposer proposes block. \n //we use a probabilistic method to elect stakers weighted by stake\n // protocol works like this. \n //select a staker pseudorandomly (not weighted by anything)\n // (todo what if it is below min stake)\n // that staker then tosses a biased coin. \n //bias = hisStake/biggestStake. if its heads, he can propose block\n // end of iteration. try next iteration\n // note that only one staker or no stakers selected in each iteration.\n // stakers elected in higher iterations can also propose hoping that\n // stakers with lower iteration do not propose for some reason\n function propose(\n uint256 epoch,\n uint256[] memory jobIds,\n uint256[] memory medians,\n uint256[] memory lowerCutoffs,\n uint256[] memory higherCutoffs,\n uint256 iteration,\n uint256 biggestStakerId\n ) external;\n \n //anyone can give sorted votes in batches in dispute state\n\n function giveSorted (uint256 epoch, uint256 assetId, uint256[] calldata sorted) external;\n function resetDispute (uint256 epoch) external;\n\n function isElectedProposer(\n uint256 iteration,\n uint256 biggestStakerId,\n uint256 stakerId\n ) external;\n\n function confirmBlock() external;\n\n function getBlock(uint256 epoch) external view returns(Structs.Block memory _block);\n function getBlockMedians(uint256 epoch) external view returns(uint256[] memory _blockMedians);\n\n function getLowerCutoffs(uint256 epoch) external view returns(uint256[] memory _lowerCutoffs);\n\n function getHigherCutoffs(\n uint256 epoch\n ) external view returns(uint256[] memory _higherCutoffs);\n\n function getProposedBlockMedians(\n uint256 epoch,\n uint256 proposedBlock\n ) external view returns(uint256[] memory _blockMedians);\n\n function getNumProposedBlocks(uint256 epoch) external view returns(uint256);\n}\n" - }, - "contracts/Core/storage/VoteStorage.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\n\ncontract VoteStorage {\n //epoch -> stakerid -> commitment\n mapping (uint256 => mapping (uint256 => bytes32)) public commitments;\n //epoch -> stakerid -> assetid -> vote\n mapping (uint256 => mapping (uint256 => mapping (uint256 => Structs.Vote))) public votes;\n // epoch -> asset -> stakeWeight\n mapping (uint256 => mapping (uint256 => uint256)) public totalStakeRevealed;\n //epoch - >assetid -> voteValue -> weight\n mapping (uint256 => mapping (uint256 => mapping (uint256 => uint256))) public voteWeights;\n}\n" - }, - "contracts/Initializable.sol": { - "content": "// SPDX-License-Identifier: MIT\n\n// solhint-disable-next-line compiler-version\npragma solidity ^0.8.0;\n\n/**\n * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n * behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an\n * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n *\n * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n *\n * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n *\n * Forked from OZ's (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/b9125001f0a1c44d596ca3a47536f1a467e3a29d/contracts/proxy/utils/Initializable.sol)\n */\n\nabstract contract Initializable {\n\n /**\n * @dev Indicates that the contract has been initialized.\n */\n bool private _initialized;\n\n /**\n * @dev Indicates that the contract is in the process of being initialized.\n */\n bool private _initializing;\n\n /**\n * @dev Modifier to protect an initializer function from being invoked twice.\n */\n modifier initializer() {\n require(_initializing || !_initialized, \"Initializable: contract is already initialized\");\n\n bool isTopLevelCall = !_initializing;\n if (isTopLevelCall) {\n _initializing = true;\n _initialized = true;\n }\n\n _;\n\n if (isTopLevelCall) {\n _initializing = false;\n }\n }\n\n modifier initialized() {\n require(_initialized, \"Contract should be initialized\");\n _;\n }\n}\n" - }, - "contracts/lib/Structs.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\n\nlibrary Structs {\n struct Vote {\n uint256 value;\n uint256 weight;\n }\n\n struct Staker {\n uint256 id;\n address _address;\n uint256 stake;\n uint256 epochStaked;\n uint256 epochLastCommitted;\n uint256 epochLastRevealed;\n uint256 unstakeAfter;\n uint256 withdrawAfter;\n }\n\n struct Block {\n uint256 proposerId;\n uint256[] jobIds;\n uint256[] medians;\n uint256[] lowerCutoffs;\n uint256[] higherCutoffs;\n uint256 iteration;\n uint256 biggestStake;\n bool valid;\n }\n\n struct Dispute {\n uint256 accWeight;\n uint256 median;\n uint256 lowerCutoff;\n uint256 higherCutoff;\n uint256 lastVisited;\n uint256 assetId;\n }\n\n struct Job {\n uint256 id;\n uint256 epoch;\n string url;\n string selector;\n string name;\n bool repeat;\n address creator;\n uint256 credit;\n bool fulfilled;\n uint256 result;\n }\n\n}\n" - }, - "contracts/Core/StakeManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"./interface/IStateManager.sol\";\nimport \"./interface/IBlockManager.sol\";\nimport \"./interface/IVoteManager.sol\";\nimport \"./storage/StakeStorage.sol\";\nimport \"../lib/Constants.sol\";\nimport \"../lib/Constants.sol\";\nimport \"../Initializable.sol\";\nimport \"../SchellingCoin.sol\";\nimport \"./ACL.sol\";\n\n\n/// @title StakeManager\n/// @notice StakeManager handles stake, unstake, withdraw, reward, functions\n/// for stakers\n\ncontract StakeManager is Initializable, ACL, StakeStorage {\n\n SchellingCoin public sch;\n IVoteManager public voteManager;\n IBlockManager public blockManager;\n IStateManager public stateManager;\n\n event StakeChange(\n uint256 indexed stakerId,\n uint256 previousStake,\n uint256 newStake,\n string reason,\n uint256 epoch,\n uint256 timestamp\n );\n\n event RewardPoolChange(\n uint256 epoch,\n uint256 prevRewardPool,\n uint256 rewardPool,\n uint256 timestamp\n );\n event StakeGettingRewardChange(\n uint256 epoch,\n uint256 prevStakeGettingReward,\n uint256 stakeGettingReward,\n uint256 timestamp\n );\n\n event Staked(\n uint256 epoch,\n uint256 indexed stakerId,\n uint256 previousStake,\n uint256 newStake,\n uint256 timestamp\n );\n\n event Unstaked(\n uint256 epoch,\n uint256 indexed stakerId,\n uint256 amount,\n uint256 newStake,\n uint256 timestamp\n );\n\n event Withdrew(\n uint256 epoch,\n uint256 indexed stakerId,\n uint256 amount,\n uint256 newStake,\n uint256 timestamp\n );\n\n modifier checkEpoch (uint256 epoch) {\n require(epoch == stateManager.getEpoch(), \"incorrect epoch\");\n _;\n }\n\n modifier checkState (uint256 state) {\n require(state == stateManager.getState(), \"incorrect state\");\n _;\n }\n\n constructor (uint256 _blockReward) {\n blockReward = _blockReward;\n }\n\n /// @param schAddress The address of the Schelling token ERC20 contract\n /// @param voteManagersAddress The address of the VoteManager contract\n /// @param blockManagerAddress The address of the BlockManager contract\n /// @param stateManagerAddress The address of the StateManager contract\n function initialize (\n address schAddress,\n address voteManagersAddress,\n address blockManagerAddress,\n address stateManagerAddress\n ) external initializer onlyRole(DEFAULT_ADMIN_ROLE)\n {\n sch = SchellingCoin(schAddress);\n voteManager = IVoteManager(voteManagersAddress);\n blockManager = IBlockManager(blockManagerAddress);\n stateManager = IStateManager(stateManagerAddress);\n }\n\n /// @param _id The ID of the staker\n /// @param _epochLastRevealed The number of epoch that staker revealed asset values\n function setStakerEpochLastRevealed(\n uint256 _id,\n uint256 _epochLastRevealed\n ) external initialized onlyRole(Constants.getStakerActivityUpdaterHash())\n {\n stakers[_id].epochLastRevealed = _epochLastRevealed;\n }\n\n /// @param stakerId The ID of the staker\n function updateCommitmentEpoch(\n uint256 stakerId\n ) external initialized onlyRole(Constants.getStakerActivityUpdaterHash())\n {\n stakers[stakerId].epochLastCommitted = stateManager.getEpoch();\n }\n\n function updateBlockReward(uint256 _blockReward) external onlyRole(Constants.getDefaultAdminHash())\n {\n blockReward = _blockReward;\n }\n\n /// @notice stake during commit state only\n /// we check epoch during every transaction to avoid withholding and rebroadcasting attacks\n /// @param epoch The Epoch value for which staker is requesting to stake\n /// @param amount The amount of schelling tokens Staker stakes\n function stake(\n uint256 epoch,\n uint256 amount\n ) \n external\n initialized\n checkEpoch(epoch) checkState(Constants.commit()) \n {\n // not allowed during reveal period\n require(stateManager.getState() != Constants.reveal(), \"Incorrect state\");\n require(\n amount >= Constants.minStake(), \n \"staked amount is less than minimum stake required\"\n );\n require(sch.transferFrom(msg.sender, address(this), amount), \"sch transfer failed\");\n uint256 stakerId = stakerIds[msg.sender];\n uint256 previousStake = stakers[stakerId].stake;\n if (stakerId == 0) {\n numStakers = numStakers+(1);\n stakers[numStakers] = Structs.Staker(numStakers, msg.sender, amount, epoch, 0, 0,\n epoch+(Constants.unstakeLockPeriod()), 0);\n stakerId = numStakers;\n stakerIds[msg.sender] = stakerId;\n } else {\n // WARNING: ALLOWING STAKE TO BE ADDED AFTER WITHDRAW/SLASH, consequences need an analysis\n // For more info, See issue -: https://github.com/razor-network/contracts/issues/112\n stakers[stakerId].stake = stakers[stakerId].stake+(amount);\n stakers[stakerId].unstakeAfter = epoch+(Constants.unstakeLockPeriod());\n stakers[stakerId].withdrawAfter = 0;\n }\n\n emit Staked(epoch, stakerId, previousStake, stakers[stakerId].stake, block.timestamp);\n }\n\n /// @notice staker must call unstake() and should wait for Constants.WITHDRAW_LOCK_PERIOD\n /// after which she can call withdraw() to finally Withdraw\n /// @param epoch The Epoch value for which staker is requesting to unstake\n function unstake (uint256 epoch) external initialized checkEpoch(epoch) checkState(Constants.commit()) {\n uint256 stakerId = stakerIds[msg.sender];\n Structs.Staker storage staker = stakers[stakerId];\n require(staker.id != 0, \"staker.id = 0\");\n require(staker.stake > 0, \"Nonpositive stake\");\n require(staker.unstakeAfter <= epoch && staker.unstakeAfter != 0, \"locked\");\n staker.unstakeAfter = 0;\n staker.withdrawAfter = epoch+(Constants.withdrawLockPeriod());\n emit Unstaked(epoch, stakerId, staker.stake, staker.stake, block.timestamp);\n }\n\n\n /// @notice Helps stakers withdraw their stake if previously unstaked\n /// @param epoch The Epoch value for which staker is requesting a withdraw\n function withdraw (uint256 epoch) external initialized checkEpoch(epoch) checkState(Constants.commit()) {\n uint256 stakerId = stakerIds[msg.sender];\n Structs.Staker storage staker = stakers[stakerId];\n require(staker.id != 0, \"staker doesnt exist\");\n require(staker.unstakeAfter == 0, \"Did not unstake\");\n require(\n (staker.withdrawAfter <= epoch) && staker.withdrawAfter != 0,\n \"Withdraw epoch not reached\"\n );\n require(\n (staker.withdrawAfter - Constants.withdrawLockPeriod()) >= staker.epochLastRevealed,\n \"Participated in Withdraw lock period, Cant withdraw\"\n );\n require(\n voteManager.getCommitment(epoch, stakerId) == 0x0,\n \"already commited this epoch. Cant withdraw\"\n );\n require(staker.stake > 0, \"Nonpositive Stake\");\n\n uint256 toTransfer = stakers[stakerId].stake;\n stakers[stakerId].stake = 0;\n emit Withdrew(epoch, stakerId, stakers[stakerId].stake, 0, block.timestamp);\n require(sch.transfer(msg.sender, toTransfer), \"couldnt transfer\");\n }\n\n /// @notice gives penalty to stakers for failing to reveal or\n /// reveal value deviations\n /// @param stakerId The id of staker currently in consideration\n /// @param epoch the epoch value\n /// todo reduce complexity\n function givePenalties(\n uint256 stakerId,\n uint256 epoch\n ) external initialized onlyRole(Constants.getStakeModifierHash())\n {\n _givePenalties(stakerId, epoch);\n }\n\n /// @notice The function gives block reward for one valid proposer in the\n /// previous epoch by minting new tokens from the schelling token contract\n /// called from confirmBlock function of BlockManager contract\n /// @param stakerId The ID of the staker\n function giveBlockReward(\n uint256 stakerId,\n uint256 epoch\n ) external onlyRole(Constants.getStakeModifierHash())\n {\n if (blockReward > 0) {\n uint256 newStake = stakers[stakerId].stake+(blockReward);\n _setStakerStake(stakerId, newStake, \"Block Reward\", epoch);\n \n }\n uint256 prevStakeGettingReward = stakeGettingReward;\n stakeGettingReward = 0;\n \n emit StakeGettingRewardChange(\n epoch,\n prevStakeGettingReward,\n stakeGettingReward,\n block.timestamp\n );\n }\n \n /// @notice This function is called in VoteManager reveal function to give\n /// rewards to all the stakers who have correctly staked, committed, revealed\n /// the Values of assets according to the razor protocol rules.\n /// @param stakerId The staker id\n /// @param epoch The epoch number for which reveal has been called\n function giveRewards(\n uint256 stakerId,\n uint256 epoch\n ) external initialized onlyRole(Constants.getStakeModifierHash())\n {\n if (stakeGettingReward == 0) return;\n Structs.Staker memory thisStaker = stakers[stakerId];\n uint256 epochLastRevealed = thisStaker.epochLastRevealed;\n\n // no rewards if last epoch didn't got revealed\n if ((epoch - epochLastRevealed) != 1) return;\n uint256[] memory mediansLastEpoch = blockManager.getBlockMedians(epochLastRevealed);\n uint256[] memory lowerCutoffsLastEpoch = blockManager.getLowerCutoffs(epochLastRevealed);\n uint256[] memory higherCutoffsLastEpoch = blockManager.getHigherCutoffs(epochLastRevealed);\n\n if (lowerCutoffsLastEpoch.length > 0) {\n uint256 rewardable = 0;\n for (uint256 i = 0; i < lowerCutoffsLastEpoch.length; i++) {\n uint256 voteLastEpoch = \n voteManager.getVote(epochLastRevealed, thisStaker.id, i).value;\n uint256 medianLastEpoch = mediansLastEpoch[i];\n uint256 lowerCutoffLastEpoch = lowerCutoffsLastEpoch[i];\n uint256 higherCutoffLastEpoch = higherCutoffsLastEpoch[i];\n\n //give rewards if voted in zone\n if ((voteLastEpoch == medianLastEpoch) ||\n ((voteLastEpoch > lowerCutoffLastEpoch) ||\n (voteLastEpoch < higherCutoffLastEpoch))) {\n rewardable = rewardable + 1;\n }\n }\n\n uint256 reward = (thisStaker.stake*rewardPool*rewardable)/\n (stakeGettingReward*lowerCutoffsLastEpoch.length);\n if (reward > 0) {\n uint256 prevStakeGettingReward = stakeGettingReward;\n stakeGettingReward = stakeGettingReward >= thisStaker.stake ? stakeGettingReward-(thisStaker.stake) : 0;\n emit StakeGettingRewardChange(epoch, prevStakeGettingReward, stakeGettingReward, block.timestamp);\n uint256 newStake = thisStaker.stake + reward;\n uint256 prevRewardPool = rewardPool;\n rewardPool = rewardPool-(reward);\n emit RewardPoolChange(epoch, prevRewardPool, rewardPool, block.timestamp);\n _setStakerStake(thisStaker.id, newStake, \"Voting Rewards\", epoch);\n }\n }\n }\n\n /// @notice The function is used by the Votemanager reveal function\n /// to penalise the staker who lost his secret and make his stake zero and\n /// transfer to bounty hunter half the schelling tokens of the stakers stake\n /// @param id The ID of the staker who is penalised\n /// @param bountyHunter The address of the bounty hunter\n function slash (uint256 id, address bountyHunter, uint256 epoch) external onlyRole(Constants.getStakeModifierHash()) {\n uint256 halfStake = stakers[id].stake/(2);\n _setStakerStake(id, 0, \"Slashed\", epoch);\n if (halfStake > 1) {\n require(sch.transfer(bountyHunter, halfStake), \"failed to transfer bounty\");\n }\n } \n\n /// @param _address Address of the staker\n /// @return The staker ID\n function getStakerId(address _address) external view returns(uint256) {\n return(stakerIds[_address]);\n }\n\n /// @param _id The staker ID\n /// @return staker The Struct of staker information\n function getStaker(uint256 _id) external view returns(Structs.Staker memory staker) {\n return(stakers[_id]);\n }\n\n /// @return The number of stakers in the razor network\n function getNumStakers() external view returns(uint256) {\n return(numStakers);\n }\n\n /// @return The rewardpool\n function getRewardPool() external view returns(uint256) {\n return(rewardPool);\n }\n\n /// @return The stakeGettingReward value\n function getStakeGettingReward() external view returns(uint256) {\n return(stakeGettingReward);\n }\n\n /// @notice Calculates the inactivity penalties of the staker\n /// @param epochs The difference of epochs where the staker was inactive\n /// @param stakeValue The Stake that staker had in last epoch\n function calculateInactivityPenalties(uint256 epochs, uint256 stakeValue) public pure returns(uint256) {\n //not really inactive. do nothing. give 10 epoch grace\n if (epochs < 10) {\n return(stakeValue);\n }\n\n uint256 penalty = ((epochs - 1) * (stakeValue*(Constants.penaltyNotRevealNum()))) / Constants.penaltyNotRevealDenom();\n if (penalty < stakeValue) {\n return(stakeValue-(penalty));\n } else {\n return(0);\n }\n }\n\n /// @notice internal function for setting stake of the staker\n /// called in the giveRewards function\n /// @param _id of the staker\n /// @param _stake the amount of schelling tokens staked\n function _setStakerStake(uint256 _id, uint256 _stake, string memory _reason, uint256 _epoch) internal {\n uint256 previousStake = stakers[_id].stake;\n stakers[_id].stake = _stake;\n emit StakeChange(_id, previousStake, _stake, _reason, _epoch, block.timestamp);\n }\n\n /// @notice The function gives out penalties to stakers during commit. \n /// The penalties are given for inactivity, failing to reveal\n /// , deviation from the median value of particular asset\n /// @param stakerId The staker id\n /// @param epoch The Epoch value in consideration\n function _giveInactivityPenalties(uint256 stakerId, uint256 epoch) internal {\n Structs.Staker memory thisStaker = stakers[stakerId];\n\n uint256 epochLastActive = thisStaker.epochStaked < thisStaker.epochLastRevealed ?\n thisStaker.epochLastRevealed :\n thisStaker.epochStaked;\n // penalize or reward if last active more than epoch - 1\n uint256 penalizeEpochs = epoch-(epochLastActive);\n uint256 previousStake = thisStaker.stake;\n // uint256 currentStake = previousStake;\n uint256 currentStake = calculateInactivityPenalties(penalizeEpochs, previousStake);\n if (currentStake < previousStake) {\n _setStakerStake(thisStaker.id, currentStake, \"Inactivity Penalty\", epoch);\n uint256 prevRewardPool = rewardPool;\n rewardPool = rewardPool+(previousStake-(currentStake));\n emit RewardPoolChange(epoch, prevRewardPool, rewardPool, block.timestamp);\n }\n }\n function _givePenalties (uint256 stakerId, uint256 epoch) internal {\n _giveInactivityPenalties(stakerId, epoch);\n Structs.Staker storage thisStaker = stakers[stakerId];\n uint256 previousStake = thisStaker.stake;\n uint256 epochLastRevealed = thisStaker.epochLastRevealed;\n\n Structs.Block memory _block = blockManager.getBlock(epochLastRevealed);\n\n uint256[] memory lowerCutoffsLastEpoch = _block.lowerCutoffs;\n uint256[] memory higherCutoffsLastEpoch = _block.higherCutoffs;\n \n\n if (lowerCutoffsLastEpoch.length > 0) {\n uint256 penalty = 0;\n for (uint256 i = 0; i < lowerCutoffsLastEpoch.length; i++) {\n uint256 voteLastEpoch = voteManager.getVote(epochLastRevealed, thisStaker.id, i).value;\n uint256 lowerCutoffLastEpoch = lowerCutoffsLastEpoch[i];\n uint256 higherCutoffLastEpoch = higherCutoffsLastEpoch[i];\n \n\n if ((voteLastEpoch < lowerCutoffLastEpoch) || (voteLastEpoch > higherCutoffLastEpoch)) {\n // WARNING: Potential security vulnerability. Could increase stake maliciously, need analysis\n // For more info, See issue -: https://github.com/razor-network/contracts/issues/112\n penalty = penalty + (previousStake/Constants.exposureDenominator());\n }\n }\n\n if (penalty > 0) {\n penalty = (penalty > previousStake) ? previousStake : penalty;\n _setStakerStake(thisStaker.id, (previousStake-(penalty)), \"Voting Penalty\", epoch);\n uint256 prevRewardPool = rewardPool;\n rewardPool = rewardPool+(penalty);\n emit RewardPoolChange(epoch, prevRewardPool, rewardPool, block.timestamp);\n } else {\n //no penalty. only reward\n uint256 prevStakeGettingReward = stakeGettingReward;\n stakeGettingReward = stakeGettingReward+(previousStake);//*(1 - y);\n emit StakeGettingRewardChange(epoch, prevStakeGettingReward, stakeGettingReward, block.timestamp);\n }\n }\n }\n}\n" - }, - "contracts/Core/interface/IVoteManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\n\ninterface IVoteManager {\n\n function commit(uint256 epoch, bytes32 commitment) external;\n\n function reveal(\n uint256 epoch,\n bytes32 root,\n uint256[] calldata values,\n bytes32[][] calldata proofs,\n bytes32 secret,\n address stakerAddress\n ) external;\n\n function getCommitment(uint256 epoch, uint256 stakerId) external view returns(bytes32);\n\n function getVote(\n uint256 epoch,\n uint256 stakerId,\n uint256 assetId\n ) external view returns(Structs.Vote memory vote);\n\n function getVoteWeight(uint256 epoch, uint256 assetId, uint256 voteValue)\n external view returns(uint256);\n\n function getTotalStakeRevealed(uint256 epoch, uint256 assetId) external view returns(uint256);\n\n function getTotalStakeRevealed(\n uint256 epoch,\n uint256 assetId,\n uint256 voteValue\n ) external view returns(uint256);\n}\n" - }, - "contracts/Core/storage/StakeStorage.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\ncontract StakeStorage {\n\n uint256 public blockReward;\n uint256 public numStakers;\n uint256 public rewardPool;\n uint256 public stakeGettingReward;\n\n mapping (address => uint256) public stakerIds;\n mapping (uint256 => Structs.Staker) public stakers;\n}\n" - }, - "contracts/SchellingCoin.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"./Core/ACL.sol\";\n\n/**\n * @title SchellingCoin\n * @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator.\n * Note they can later distribute these tokens as they wish using `transfer` and other\n * `ERC20` functions.\n */\n\ncontract SchellingCoin is ERC20, ACL {\n\n uint256 public constant DECIMALS = 18;\n //50 million supply. rest should be mintable\n uint256 public constant INITIAL_SUPPLY = 1000000000 * (10 ** uint256(DECIMALS));\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n \n /**\n * @dev Constructor that gives msg.sender all of existing tokens.\n */\n constructor () ERC20(\"SchellingCoin\", \"SCH\") {\n _mint(msg.sender, INITIAL_SUPPLY);\n \n }\n \n function addMinter(address account) external {\n grantRole(MINTER_ROLE, account);\n }\n\n function removeMinter(address account) external {\n revokeRole(MINTER_ROLE, account);\n }\n\n function mint(address account, uint256 amount) external returns (bool) {\n require(hasRole(MINTER_ROLE, msg.sender), \"Caller is not a minter\");\n _mint(account, amount);\n return true;\n }\n}\n" - }, - "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"../../utils/Context.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 * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => 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 * The defaut value of {decimals} is 18. To select a different value for\n * {decimals} you should overload it.\n *\n * All three of these values are immutable: they can only be set once during\n * 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 value {ERC20} uses, unless this function is\n * overloaded;\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 override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * Requirements:\n *\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for ``sender``'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(sender, recipient, amount);\n\n uint256 currentAllowance = _allowances[sender][_msgSender()];\n require(currentAllowance >= amount, \"ERC20: transfer amount exceeds allowance\");\n _approve(sender, _msgSender(), currentAllowance - amount);\n\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n uint256 currentAllowance = _allowances[_msgSender()][spender];\n require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\");\n _approve(_msgSender(), spender, currentAllowance - subtractedValue);\n\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is 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 * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal virtual {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(sender, recipient, amount);\n\n uint256 senderBalance = _balances[sender];\n require(senderBalance >= amount, \"ERC20: transfer amount exceeds balance\");\n _balances[sender] = senderBalance - amount;\n _balances[recipient] += amount;\n\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply += amount;\n _balances[account] += amount;\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n uint256 accountBalance = _balances[account];\n require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\");\n _balances[account] = accountBalance - amount;\n _totalSupply -= amount;\n\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` 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 function _approve(address owner, address spender, uint256 amount) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be to transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }\n}\n" - }, - "@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address recipient, uint256 amount) 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 `amount` as the allowance of `spender` over the 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 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` 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 sender, address recipient, uint256 amount) external returns (bool);\n\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" - }, - "contracts/Faucet.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\n\n\ncontract Faucet {\n\n ERC20 public token;\n mapping(address => bool) public requested;\n \n event Donate(address _address, uint256 value);\n\n constructor(address tokenAddress) {\n token = ERC20(tokenAddress);\n }\n\n //WARNING FOR TESTNET ONLY DISABLE FOR PROD.\n //give 10000 sch once per staker\n function faucet(address _address) external {\n if (!requested[_address]) {\n requested[_address] = true;\n // Transfer 10000 Tokens\n token.transfer(_address, 10000 * (10 ** 18));\n emit Donate(_address, 10000 * (10 ** 18));\n }\n }\n}" - }, - "contracts/Core/StateManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../lib/Constants.sol\";\n\n\ncontract StateManager {\n\n function getEpoch () external view returns(uint256) {\n return(block.number/(Constants.epochLength()));\n }\n\n function getState () external view returns(uint256) {\n uint256 state = (block.number/(Constants.epochLength()/Constants.numStates()));\n return (state%(Constants.numStates()));\n }\n}\n" - }, - "contracts/Core/JobManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"./interface/IStateManager.sol\";\nimport \"./storage/JobStorage.sol\";\nimport \"../lib/Constants.sol\";\nimport \"./ACL.sol\";\n\n\ncontract JobManager is ACL, JobStorage {\n\n IStateManager public stateManager;\n\n event JobCreated(\n uint256 id,\n uint256 epoch,\n string url,\n string selector,\n string name,\n bool repeat,\n address creator,\n uint256 credit,\n uint256 timestamp\n );\n\n event JobReported(\n uint256 id,\n uint256 value,\n uint256 epoch,\n string url,\n string selector,\n string name,\n bool repeat,\n address creator,\n uint256 credit,\n bool fulfilled,\n uint256 timestamp\n );\n\n constructor(address stateManagerAddress) {\n stateManager = IStateManager(stateManagerAddress);\n }\n \n function createJob(\n string calldata url,\n string calldata selector,\n string calldata name,\n bool repeat\n ) external payable \n {\n numJobs = numJobs + 1;\n uint256 epoch = stateManager.getEpoch();\n Structs.Job memory job = Structs.Job(\n numJobs,\n epoch,\n url,\n selector,\n name,\n repeat,\n msg.sender,\n msg.value,\n false,\n 0\n );\n jobs[numJobs] = job;\n \n emit JobCreated(\n numJobs,\n epoch,\n url,\n selector,\n name,\n repeat,\n msg.sender,\n msg.value,\n block.timestamp\n );\n }\n\n function fulfillJob(\n uint256 jobId,\n uint256 value\n )\n external \n onlyRole(Constants.getJobConfirmerHash())\n {\n Structs.Job storage job = jobs[jobId];\n uint256 epoch = stateManager.getEpoch();\n\n if (!job.repeat) {\n job.fulfilled = true;\n }\n\n job.result = value;\n emit JobReported(\n job.id,\n value,\n epoch,\n job.url,\n job.selector,\n job.name,\n job.repeat,\n job.creator,\n job.credit,\n job.fulfilled,\n block.timestamp\n );\n }\n\n function getResult(uint256 id) external view returns(uint256) {\n return jobs[id].result;\n }\n\n function getJob(\n uint256 id\n ) \n external\n view\n returns(\n string memory url,\n string memory selector,\n string memory name,\n bool repeat,\n uint256 result\n ) \n {\n Structs.Job memory job = jobs[id];\n return(job.url, job.selector, job.name, job.repeat, job.result);\n }\n\n function getNumJobs() external view returns(uint256) {\n return numJobs;\n }\n}\n" - }, - "contracts/Core/storage/JobStorage.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\n\ncontract JobStorage {\n uint256 public numJobs;\n mapping (uint256 => Structs.Job) public jobs;\n}\n" - }, - "contracts/Core/storage/BlockStorage.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../../lib/Structs.sol\";\n\n\ncontract BlockStorage {\n //epoch -> address -> dispute -> assetid\n mapping (uint256 => mapping (address => Structs.Dispute)) public disputes;\n //epoch -> proposalNumber -> block\n mapping (uint256 => Structs.Block[]) public proposedBlocks;\n mapping (uint256 => Structs.Block) public blocks;\n}\n" - }, - "contracts/Core/BlockManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"./interface/IStakeManager.sol\";\nimport \"./interface/IStateManager.sol\";\nimport \"./interface/IVoteManager.sol\";\nimport \"./interface/IJobManager.sol\";\nimport \"./storage/BlockStorage.sol\";\nimport \"../lib/Constants.sol\";\nimport \"../lib/Random.sol\";\nimport \"../Initializable.sol\";\nimport \"./ACL.sol\";\n\n\ncontract BlockManager is Initializable, ACL, BlockStorage {\n \n IStakeManager public stakeManager;\n IStateManager public stateManager;\n IVoteManager public voteManager;\n IJobManager public jobManager;\n\n event BlockConfirmed (\n uint256 epoch,\n uint256 stakerId,\n uint256[] medians,\n uint256[] lowerCutoffs,\n uint256[] higherCutoffs,\n uint256[] jobIds,\n uint256 timestamp\n );\n\n event Proposed (\n uint256 epoch,\n uint256 stakerId,\n uint256[] jobIds,\n uint256[] medians,\n uint256[] lowerCutoffs,\n uint256[] higherCutoffs,\n uint256 iteration,\n uint256 biggestStakerId,\n uint256 timestamp\n ); \n\n modifier checkEpoch (uint256 epoch) {\n require(epoch == stateManager.getEpoch(), \"incorrect epoch\");\n _;\n }\n\n modifier checkState (uint256 state) {\n require(state == stateManager.getState(), \"incorrect state\");\n _;\n }\n\n function initialize (\n address stakeManagerAddress,\n address stateManagerAddress,\n address voteManagerAddress,\n address jobManagerAddress\n ) external initializer onlyRole(DEFAULT_ADMIN_ROLE)\n {\n stakeManager = IStakeManager(stakeManagerAddress);\n stateManager = IStateManager(stateManagerAddress);\n voteManager = IVoteManager(voteManagerAddress);\n jobManager = IJobManager(jobManagerAddress);\n }\n\n function getBlock(uint256 epoch) external view returns(Structs.Block memory _block) {\n return(blocks[epoch]);\n }\n\n function getBlockMedians(uint256 epoch) external view returns(uint256[] memory _blockMedians) {\n _blockMedians = blocks[epoch].medians;\n return(_blockMedians);\n }\n\n function getLowerCutoffs(uint256 epoch) external view returns(uint256[] memory _lowerCutoffs) {\n _lowerCutoffs = blocks[epoch].lowerCutoffs;\n return(_lowerCutoffs);\n }\n\n function getHigherCutoffs(\n uint256 epoch\n ) external view returns(uint256[] memory _higherCutoffs) \n {\n _higherCutoffs = blocks[epoch].higherCutoffs;\n return(_higherCutoffs);\n }\n\n function getProposedBlock(\n uint256 epoch,\n uint256 proposedBlock\n )\n external\n view \n returns(\n Structs.Block memory _block,\n uint256[] memory _blockMedians,\n uint256[] memory _lowerCutoffs,\n uint256[] memory _higherCutoffs\n ) \n {\n _block = proposedBlocks[epoch][proposedBlock];\n return(_block, _block.medians, _block.lowerCutoffs, _block.higherCutoffs);\n }\n\n function getProposedBlockMedians(uint256 epoch, uint256 proposedBlock)\n external view returns(uint256[] memory _blockMedians) {\n _blockMedians = proposedBlocks[epoch][proposedBlock].medians;\n return(_blockMedians);\n }\n\n function getNumProposedBlocks(uint256 epoch)\n external view returns(uint256) {\n return(proposedBlocks[epoch].length);\n }\n\n // elected proposer proposes block. \n //we use a probabilistic method to elect stakers weighted by stake\n // protocol works like this. \n //select a staker pseudorandomly (not weighted by anything)\n // (todo what if it is below min stake)\n // that staker then tosses a biased coin. \n //bias = hisStake/biggestStake. if its heads, he can propose block\n // end of iteration. try next iteration\n // note that only one staker or no stakers selected in each iteration.\n // stakers elected in higher iterations can also propose hoping that\n // stakers with lower iteration do not propose for some reason\n function propose(\n uint256 epoch,\n uint256[] memory jobIds,\n uint256[] memory medians,\n uint256[] memory lowerCutoffs,\n uint256[] memory higherCutoffs,\n uint256 iteration,\n uint256 biggestStakerId\n ) public initialized checkEpoch(epoch) checkState(Constants.propose()) \n {\n uint256 proposerId = stakeManager.getStakerId(msg.sender);\n require(isElectedProposer(iteration, biggestStakerId, proposerId), \"not elected\");\n require(\n stakeManager.getStaker(proposerId).stake >= Constants.minStake(),\n \"stake below minimum stake\"\n );\n\n _insertAppropriately(\n epoch, \n Structs.Block(\n proposerId,\n jobIds,\n medians,\n lowerCutoffs,\n higherCutoffs,\n iteration,\n stakeManager.getStaker(biggestStakerId).stake,\n true\n )\n );\n\n emit Proposed(\n epoch,\n proposerId,\n jobIds,\n medians,\n lowerCutoffs,\n higherCutoffs,\n iteration,\n biggestStakerId,\n block.timestamp\n );\n }\n\n //anyone can give sorted votes in batches in dispute state\n function giveSorted(\n uint256 epoch,\n uint256 assetId,\n uint256[] memory sorted\n ) \n public\n initialized\n checkEpoch(epoch)\n checkState(Constants.dispute()) \n {\n uint256 medianWeight = voteManager.getTotalStakeRevealed(epoch, assetId)/(2);\n uint256 lowerCutoffWeight = voteManager.getTotalStakeRevealed(epoch, assetId)/(4);\n uint256 higherCutoffWeight = (voteManager.getTotalStakeRevealed(epoch, assetId)*(3))/(4);\n uint256 accWeight = disputes[epoch][msg.sender].accWeight;\n uint256 lastVisited = disputes[epoch][msg.sender].lastVisited;\n if (disputes[epoch][msg.sender].accWeight == 0) {\n disputes[epoch][msg.sender].assetId = assetId;\n } else {\n require(disputes[epoch][msg.sender].assetId == assetId, \"AssetId not matching\");\n }\n for (uint256 i = 0; i < sorted.length; i++) {\n require(sorted[i] > lastVisited, \"sorted[i] is not greater than lastVisited\");\n lastVisited = sorted[i];\n accWeight = accWeight + (voteManager.getVoteWeight(epoch, assetId, sorted[i]));\n\n if (disputes[epoch][msg.sender].lowerCutoff == 0 && accWeight >= lowerCutoffWeight) {\n disputes[epoch][msg.sender].lowerCutoff = sorted[i];\n }\n if (disputes[epoch][msg.sender].median == 0 && accWeight > medianWeight) {\n disputes[epoch][msg.sender].median = sorted[i];\n }\n if (disputes[epoch][msg.sender].higherCutoff == 0 && accWeight > higherCutoffWeight) {\n disputes[epoch][msg.sender].higherCutoff = sorted[i];\n }\n //TODO verify how much gas required for below operations and update this value\n if (gasleft() < 10000) break;\n }\n disputes[epoch][msg.sender].lastVisited = lastVisited;\n disputes[epoch][msg.sender].accWeight = accWeight;\n }\n\n // //todo test\n // //if any mistake made during giveSorted, resetDispute and start again\n function resetDispute(\n uint256 epoch\n ) public initialized checkEpoch(epoch) checkState(Constants.dispute())\n {\n disputes[epoch][msg.sender] = Structs.Dispute(0, 0, 0, 0, 0, 0);\n }\n\n function finalizeDispute (uint256 epoch, uint256 blockId)\n public initialized checkEpoch(epoch) checkState(Constants.dispute()) {\n uint256 assetId = disputes[epoch][msg.sender].assetId;\n require(\n disputes[epoch][msg.sender].accWeight == voteManager.getTotalStakeRevealed(epoch, assetId),\n \"Total stake revealed doesnt match\"\n );\n uint256 median = disputes[epoch][msg.sender].median;\n uint256 lowerCutoff = disputes[epoch][msg.sender].lowerCutoff;\n uint256 higherCutoff = disputes[epoch][msg.sender].higherCutoff;\n uint256 proposerId = proposedBlocks[epoch][blockId].proposerId;\n //\n require(median > 0, \"Median can't be zero\");\n if (proposedBlocks[epoch][blockId].medians[assetId] != median ||\n proposedBlocks[epoch][blockId].lowerCutoffs[assetId] != lowerCutoff ||\n proposedBlocks[epoch][blockId].higherCutoffs[assetId] != higherCutoff) {\n proposedBlocks[epoch][blockId].valid = false;\n stakeManager.slash(proposerId, msg.sender, epoch);\n } else {\n revert(\"Proposed Alternate block is identical to proposed block\");\n }\n }\n\n function confirmBlock() public initialized onlyRole(Constants.getBlockConfirmerHash()) {\n uint256 epoch = stateManager.getEpoch();\n \n for (uint8 i=0; i < proposedBlocks[epoch - 1].length; i++) {\n if (proposedBlocks[epoch - 1][i].valid) {\n blocks[epoch - 1] = proposedBlocks[epoch - 1][i];\n uint256 proposerId = proposedBlocks[epoch - 1][i].proposerId;\n emit BlockConfirmed(epoch - 1,\n proposerId,\n proposedBlocks[epoch - 1][i].medians,\n proposedBlocks[epoch - 1][i].lowerCutoffs,\n proposedBlocks[epoch - 1][i].higherCutoffs,\n proposedBlocks[epoch - 1][i].jobIds,\n block.timestamp);\n for (uint8 j = 0; j < proposedBlocks[epoch - 1][i].jobIds.length; j++) {\n jobManager.fulfillJob(proposedBlocks[epoch - 1][i].jobIds[j],\n proposedBlocks[epoch - 1][i].medians[j]);\n }\n stakeManager.giveBlockReward(proposerId, epoch);\n return;\n }\n }\n \n }\n\n function isElectedProposer(\n uint256 iteration,\n uint256 biggestStakerId,\n uint256 stakerId\n )\n public\n view\n initialized\n returns (bool) \n { \n // generating pseudo random number (range 0..(totalstake - 1)), add (+1) to the result,\n // since prng returns 0 to max-1 and staker start from 1\n if ((Random.prng(10, stakeManager.getNumStakers(), keccak256(abi.encode(iteration)))+(1)) != stakerId) {\n return false;\n }\n bytes32 randHash = Random.prngHash(10, keccak256(abi.encode(stakerId, iteration)));\n uint256 rand = uint256(randHash)%(2**32);\n uint256 biggestStake = stakeManager.getStaker(biggestStakerId).stake;\n if (rand*(biggestStake) > stakeManager.getStaker(stakerId).stake*(2**32)) return(false);\n return true;\n }\n\n function _insertAppropriately(uint256 epoch, Structs.Block memory _block) internal {\n if (proposedBlocks[epoch].length == 0) {\n proposedBlocks[epoch].push(_block);\n return;\n }\n\n uint256 pushAt = proposedBlocks[epoch].length;\n for (uint256 i = 0; i < proposedBlocks[epoch].length; i++) {\n if (proposedBlocks[epoch][i].biggestStake < _block.biggestStake) {\n pushAt = i;\n break;\n }\n if (proposedBlocks[epoch][i].iteration > _block.iteration) {\n pushAt = i;\n break;\n }\n }\n\n proposedBlocks[epoch].push(_block);\n for (uint256 j = proposedBlocks[epoch].length - 1; j > (pushAt); j--) {\n proposedBlocks[epoch][j] = proposedBlocks[epoch][j - 1];\n }\n\n proposedBlocks[epoch][pushAt] = _block;\n\n if (proposedBlocks[epoch].length > Constants.maxAltBlocks()) {\n delete (proposedBlocks[epoch][proposedBlocks[epoch].length - 1]);\n }\n }\n\n\n}\n" - }, - "contracts/Core/interface/IJobManager.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\ninterface IJobManager {\n\n function createJob (string calldata url, string calldata selector, bool repeat) external;\n function fulfillJob(uint256 jobId, uint256 value) external;\n function getResult(uint256 id) external view returns(uint256);\n function getJob(\n uint256 id\n ) \n external \n view \n returns(\n string memory url,\n string memory selector,\n string memory name,\n bool repeat,\n uint256 result\n );\n}\n" - }, - "contracts/lib/Random.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"./Constants.sol\";\n\n\nlibrary Random {\n\n // pseudo random number generator based on block hashes. returns 0 -> max-1\n function prng(uint8 numBlocks, uint256 max, bytes32 seed) public view returns (uint256) {\n bytes32 hash = prngHash(numBlocks, seed);\n uint256 sum = uint256(hash);\n return(sum%max);\n }\n\n // pseudo random hash generator based on block hashes.\n function prngHash(uint8 numBlocks, bytes32 seed) public view returns(bytes32) {\n bytes32 sum = blockHashes(numBlocks);\n sum = keccak256(abi.encodePacked(sum, seed));\n return(sum);\n }\n\n function blockHashes(uint8 numBlocks) public view returns(bytes32) {\n bytes32 sum;\n // start from the start of the epoch\n uint256 blockNumberEpochStart = (block.number/(Constants.epochLength()))*(Constants.epochLength());\n for (uint8 i = 1; i <= numBlocks; i++) {\n sum = keccak256(abi.encodePacked(sum, blockhash(blockNumberEpochStart - i)));\n }\n return(sum);\n }\n}\n" - }, - "contracts/Delegator.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\n\nimport \"./Core/interface/IJobManager.sol\";\n\n\ncontract Delegator {\n\n address public delegate;\n address public owner = msg.sender;\n IJobManager public jobManager;\n\n function getJob(\n uint256 id\n ) \n external\n view\n returns(\n string memory url,\n string memory selector,\n string memory name,\n bool repeat,\n uint256 result\n )\n {\n return jobManager.getJob(id);\n }\n\n function upgradeDelegate(address newDelegateAddress) public {\n require(msg.sender == owner, \"caller is not the owner\");\n delegate = newDelegateAddress;\n jobManager = IJobManager(newDelegateAddress);\n }\n\n function getResult(uint256 id) public view returns(uint256) {\n return jobManager.getResult(id);\n }\n}\n" - } - }, - "settings": { - "optimizer": { - "enabled": true, - "runs": 1500 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers" - ], - "": [ - "ast" - ] - } - } - } - }, - "output": { - "contracts": { - "@openzeppelin/contracts/access/AccessControl.sol": { - "AccessControl": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "supportsInterface(bytes4)": "01ffc9a7" - } - } - }, - "IAccessControl": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f" - } - } - } - }, - "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "ERC20": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "amount", - "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": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2015:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "80:815:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "129:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "138:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "145:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "131:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "131:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "131:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "108:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "116:4:29", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "104:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "104:17:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "123:3:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "100:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "100:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "93:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "93:35:29" - }, - "nodeType": "YulIf", - "src": "90:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "162:23:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "178:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "172:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "172:13:29" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "166:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "194:28:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "212:2:29", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "216:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "208:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "208:10:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "220:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "204:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "204:18:29" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "198:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "245:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "247:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "247:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "247:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "237:2:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "241:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "234:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "234:10:29" - }, - "nodeType": "YulIf", - "src": "231:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "276:23:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "296:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "290:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "290:9:29" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "280:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "308:14:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "318:4:29", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "312:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "331:67:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "357:6:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "373:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "377:4:29", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "369:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "369:13:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "388:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "384:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "384:7:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "365:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "365:27:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "353:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "353:40:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "395:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "349:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "349:49:29" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "335:10:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "457:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "459:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "459:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "459:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "416:10:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "428:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "413:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "413:18:29" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "436:10:29" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "448:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "433:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "433:22:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "410:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "410:46:29" - }, - "nodeType": "YulIf", - "src": "407:2:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "495:2:29", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "499:10:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "488:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "488:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "488:22:29" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "526:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "534:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "519:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "519:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "519:18:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "583:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "592:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "599:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "585:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "585:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "585:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "560:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "568:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "556:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "556:15:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "573:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "552:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "552:24:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "578:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "549:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "549:33:29" - }, - "nodeType": "YulIf", - "src": "546:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "616:14:29", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "625:5:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "620:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "685:87:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "714:6:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "722:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "710:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "710:14:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "726:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "706:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "706:23:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "745:6:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "753:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "741:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "741:14:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "757:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "737:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "737:23:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "731:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "731:30:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "699:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "699:63:29" - }, - "nodeType": "YulExpressionStatement", - "src": "699:63:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "650:1:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "653:2:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "647:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "647:9:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "657:19:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "659:15:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "668:1:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "671:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "664:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "664:10:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "659:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "643:3:29", - "statements": [] - }, - "src": "639:133:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "802:63:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "831:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "839:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "827:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "827:15:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "844:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "823:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "823:24:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "849:5:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "816:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "816:39:29" - }, - "nodeType": "YulExpressionStatement", - "src": "816:39:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "787:1:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "790:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "784:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "784:9:29" - }, - "nodeType": "YulIf", - "src": "781:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "874:15:29", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "883:6:29" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "874:5:29" - } - ] - } - ] - }, - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "54:6:29", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "62:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "70:5:29", - "type": "" - } - ], - "src": "14:881:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1018:478:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1064:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1073:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1081:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1066:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1066:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1066:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1039:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1048:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1035:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1035:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1060:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1031:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1031:32:29" - }, - "nodeType": "YulIf", - "src": "1028:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1099:30:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1119:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1113:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1113:16:29" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1103:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1138:28:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1156:2:29", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1160:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1152:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1152:10:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1164:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1148:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1148:18:29" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1142:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1193:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1202:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1210:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1195:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1195:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1195:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1181:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1189:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1178:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1178:14:29" - }, - "nodeType": "YulIf", - "src": "1175:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1228:73:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1273:9:29" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1284:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1269:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1269:22:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1293:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1238:30:29" - }, - "nodeType": "YulFunctionCall", - "src": "1238:63:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1228:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1310:41:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1336:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1347:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1332:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1332:18:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1326:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1326:25:29" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1314:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1380:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1389:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1397:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1382:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1382:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1382:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1366:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1376:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1363:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1363:16:29" - }, - "nodeType": "YulIf", - "src": "1360:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1415:75:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1460:9:29" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1471:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1456:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1456:24:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1482:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1425:30:29" - }, - "nodeType": "YulFunctionCall", - "src": "1425:65:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1415:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "976:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "987:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "999:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1007:6:29", - "type": "" - } - ], - "src": "900:596:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1556:325:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1566:22:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1580:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1586:1:29", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "1576:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1576:12:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1566:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1597:38:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1627:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1633:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1623:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1623:12:29" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "1601:18:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1674:31:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1676:27:29", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1690:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1698:4:29", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1686:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1686:17:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1676:6:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1654:18:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1647:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1647:26:29" - }, - "nodeType": "YulIf", - "src": "1644:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1764:111:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1785:1:29", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1792:3:29", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1797:10:29", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1788:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1788:20:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1778:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1778:31:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1778:31:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1829:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1832:4:29", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1822:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1822:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1822:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1857:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1860:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1850:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1850:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1850:15:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1720:18:29" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1743:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1751:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1740:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1740:14:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1717:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1717:38:29" - }, - "nodeType": "YulIf", - "src": "1714:2:29" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1536:4:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1545:6:29", - "type": "" - } - ], - "src": "1501:380:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1918:95:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1935:1:29", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1942:3:29", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1947:10:29", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1938:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1938:20:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1928:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1928:31:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1928:31:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1975:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1978:4:29", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1968:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1968:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1968:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1999:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2002:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1992:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1992:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1992:15:29" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "1886:127:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let memPtr := mload(64)\n let _3 := 0x20\n let newFreePtr := add(add(memPtr, and(add(_1, 0x1f), not(31))), _3)\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n if gt(add(add(offset, _1), _3), end) { revert(array, array) }\n let i := array\n for { } lt(i, _1) { i := add(i, _3) }\n {\n mstore(add(add(memPtr, i), _3), mload(add(add(offset, i), _3)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _3), array)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(value0, value0) }\n value0 := abi_decode_t_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(value1, value1) }\n value1 := abi_decode_t_string_fromMemory(add(headStart, offset_1), dataEnd)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b5060405162000d2d38038062000d2d8339810160408190526200003491620001b9565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000273565b828054620000769062000220565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b600082601f8301126200011f578081fd5b81516001600160401b03808211156200013c576200013c6200025d565b6040516020601f8401601f19168201810183811183821017156200016457620001646200025d565b60405283825285840181018710156200017b578485fd5b8492505b838310156200019e57858301810151828401820152918201916200017f565b83831115620001af57848185840101525b5095945050505050565b60008060408385031215620001cc578182fd5b82516001600160401b0380821115620001e3578384fd5b620001f1868387016200010e565b9350602085015191508082111562000207578283fd5b5062000216858286016200010e565b9150509250929050565b6002810460018216806200023557607f821691505b602082108114156200025757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b610aaa80620002836000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610177578063a9059cbb1461018a578063dd62ed3e1461019d576100c9565b8063395093511461014957806370a082311461015c57806395d89b411461016f576100c9565b806318160ddd116100b257806318160ddd1461010c57806323b872dd14610121578063313ce56714610134576100c9565b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101b0565b6040516100e391906106ff565b60405180910390f35b6100ff6100fa3660046106cb565b610242565b6040516100e391906106f4565b61011461025f565b6040516100e391906109dd565b6100ff61012f366004610690565b610265565b61013c610305565b6040516100e391906109e6565b6100ff6101573660046106cb565b61030a565b61011461016a36600461063d565b610359565b6100d6610378565b6100ff6101853660046106cb565b610387565b6100ff6101983660046106cb565b610402565b6101146101ab36600461065e565b610416565b6060600380546101bf90610a23565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610a23565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b600061025661024f610441565b8484610445565b50600192915050565b60025490565b60006102728484846104f9565b6001600160a01b038416600090815260016020526040812081610293610441565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156102df5760405162461bcd60e51b81526004016102d690610869565b60405180910390fd5b6102fa856102eb610441565b6102f58685610a0c565b610445565b506001949350505050565b601290565b6000610256610317610441565b848460016000610325610441565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546102f591906109f4565b6001600160a01b0381166000908152602081905260409020545b919050565b6060600480546101bf90610a23565b60008060016000610396610441565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156103e25760405162461bcd60e51b81526004016102d690610980565b6103f86103ed610441565b856102f58685610a0c565b5060019392505050565b600061025661040f610441565b84846104f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661046b5760405162461bcd60e51b81526004016102d690610923565b6001600160a01b0382166104915760405162461bcd60e51b81526004016102d6906107af565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ec9085906109dd565b60405180910390a3505050565b6001600160a01b03831661051f5760405162461bcd60e51b81526004016102d6906108c6565b6001600160a01b0382166105455760405162461bcd60e51b81526004016102d690610752565b610550838383610621565b6001600160a01b038316600090815260208190526040902054818110156105895760405162461bcd60e51b81526004016102d69061080c565b6105938282610a0c565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105c99084906109f4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161061391906109dd565b60405180910390a350505050565b505050565b80356001600160a01b038116811461037357600080fd5b60006020828403121561064e578081fd5b61065782610626565b9392505050565b60008060408385031215610670578081fd5b61067983610626565b915061068760208401610626565b90509250929050565b6000806000606084860312156106a4578081fd5b6106ad84610626565b92506106bb60208501610626565b9150604084013590509250925092565b600080604083850312156106dd578182fd5b6106e683610626565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b8181101561072b5785810183015185820160400152820161070f565b8181111561073c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610a0757610a07610a5e565b500190565b600082821015610a1e57610a1e610a5e565b500390565b600281046001821680610a3757607f821691505b60208210811415610a5857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207286ecefd2ed6f67019b2664641d60f3c5b133f2cc821c3749b8063f7210fe6364736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xD2D CODESIZE SUB DUP1 PUSH3 0xD2D DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x1B9 JUMP JUMPDEST DUP2 MLOAD PUSH3 0x49 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x68 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x5F SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x68 JUMP JUMPDEST POP POP POP PUSH3 0x273 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x76 SWAP1 PUSH3 0x220 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x9A JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xE5 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xB5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xE5 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xE5 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xE5 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xC8 JUMP JUMPDEST POP PUSH3 0xF3 SWAP3 SWAP2 POP PUSH3 0xF7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0xF3 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0xF8 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x11F JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x13C JUMPI PUSH3 0x13C PUSH3 0x25D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 PUSH1 0x1F DUP5 ADD PUSH1 0x1F NOT AND DUP3 ADD DUP2 ADD DUP4 DUP2 GT DUP4 DUP3 LT OR ISZERO PUSH3 0x164 JUMPI PUSH3 0x164 PUSH3 0x25D JUMP JUMPDEST PUSH1 0x40 MSTORE DUP4 DUP3 MSTORE DUP6 DUP5 ADD DUP2 ADD DUP8 LT ISZERO PUSH3 0x17B JUMPI DUP5 DUP6 REVERT JUMPDEST DUP5 SWAP3 POP JUMPDEST DUP4 DUP4 LT ISZERO PUSH3 0x19E JUMPI DUP6 DUP4 ADD DUP2 ADD MLOAD DUP3 DUP5 ADD DUP3 ADD MSTORE SWAP2 DUP3 ADD SWAP2 PUSH3 0x17F JUMP JUMPDEST DUP4 DUP4 GT ISZERO PUSH3 0x1AF JUMPI DUP5 DUP2 DUP6 DUP5 ADD ADD MSTORE JUMPDEST POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x1CC JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x1E3 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH3 0x1F1 DUP7 DUP4 DUP8 ADD PUSH3 0x10E JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x207 JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH3 0x216 DUP6 DUP3 DUP7 ADD PUSH3 0x10E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x235 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x257 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xAAA DUP1 PUSH3 0x283 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x19D JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x16F JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x121 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x134 JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xCE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xEC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD6 PUSH2 0x1B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x6FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFF PUSH2 0xFA CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x242 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x6F4 JUMP JUMPDEST PUSH2 0x114 PUSH2 0x25F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH2 0xFF PUSH2 0x12F CALLDATASIZE PUSH1 0x4 PUSH2 0x690 JUMP JUMPDEST PUSH2 0x265 JUMP JUMPDEST PUSH2 0x13C PUSH2 0x305 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x9E6 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x157 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x30A JUMP JUMPDEST PUSH2 0x114 PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x63D JUMP JUMPDEST PUSH2 0x359 JUMP JUMPDEST PUSH2 0xD6 PUSH2 0x378 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x387 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x402 JUMP JUMPDEST PUSH2 0x114 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0x65E JUMP JUMPDEST PUSH2 0x416 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1BF SWAP1 PUSH2 0xA23 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1EB SWAP1 PUSH2 0xA23 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x238 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x20D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x238 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x21B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x24F PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x445 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x272 DUP5 DUP5 DUP5 PUSH2 0x4F9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 PUSH2 0x293 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x2DF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x869 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2FA DUP6 PUSH2 0x2EB PUSH2 0x441 JUMP JUMPDEST PUSH2 0x2F5 DUP7 DUP6 PUSH2 0xA0C JUMP JUMPDEST PUSH2 0x445 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x12 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x317 PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x325 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP12 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x2F5 SWAP2 SWAP1 PUSH2 0x9F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1BF SWAP1 PUSH2 0xA23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x396 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP9 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x3E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x980 JUMP JUMPDEST PUSH2 0x3F8 PUSH2 0x3ED PUSH2 0x441 JUMP JUMPDEST DUP6 PUSH2 0x2F5 DUP7 DUP6 PUSH2 0xA0C JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x40F PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x4F9 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 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x46B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x923 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x491 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x7AF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP5 SWAP1 SSTORE MLOAD PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x4EC SWAP1 DUP6 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x51F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x8C6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x545 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x752 JUMP JUMPDEST PUSH2 0x550 DUP4 DUP4 DUP4 PUSH2 0x621 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x589 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x80C JUMP JUMPDEST PUSH2 0x593 DUP3 DUP3 PUSH2 0xA0C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP6 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x5C9 SWAP1 DUP5 SWAP1 PUSH2 0x9F4 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x613 SWAP2 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x64E JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x657 DUP3 PUSH2 0x626 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x670 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x679 DUP4 PUSH2 0x626 JUMP JUMPDEST SWAP2 POP PUSH2 0x687 PUSH1 0x20 DUP5 ADD PUSH2 0x626 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x6A4 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x6AD DUP5 PUSH2 0x626 JUMP JUMPDEST SWAP3 POP PUSH2 0x6BB PUSH1 0x20 DUP6 ADD PUSH2 0x626 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6DD JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x6E6 DUP4 PUSH2 0x626 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72B JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x70F JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x73C JUMPI DUP4 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x22 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732061 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6C6C6F77616E6365000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x24 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xA07 JUMPI PUSH2 0xA07 PUSH2 0xA5E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xA1E JUMPI PUSH2 0xA1E PUSH2 0xA5E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xA37 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xA58 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH19 0x86ECEFD2ED6F67019B2664641D60F3C5B133F2 0xCC DUP3 SHR CALLDATACOPY 0x49 0xB8 MOD EXTCODEHASH PUSH19 0x10FE6364736F6C634300080000330000000000 ", - "sourceMap": "1279:9238:1:-:0;;;1842:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1909:13;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1932:17:1;;;;:7;;:17;;;;;:::i;:::-;;1842:114;;1279:9238;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1279:9238:1;;;-1:-1:-1;1279:9238:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:881:29;;123:3;116:4;108:6;104:17;100:27;90:2;;145:5;138;131:20;90:2;172:13;;-1:-1:-1;;;;;234:10:29;;;231:2;;;247:18;;:::i;:::-;296:2;290:9;318:4;388:2;369:13;;-1:-1:-1;;365:27:29;353:40;;349:49;;413:18;;;433:22;;;410:46;407:2;;;459:18;;:::i;:::-;495:2;488:22;519:18;;;556:15;;;552:24;;549:33;-1:-1:-1;546:2:29;;;599:5;592;585:20;546:2;625:5;616:14;;639:133;653:2;650:1;647:9;639:133;;;741:14;;;737:23;;731:30;710:14;;;706:23;;699:63;664:10;;;;639:133;;;790:2;787:1;784:9;781:2;;;849:5;844:2;839;831:6;827:15;823:24;816:39;781:2;-1:-1:-1;883:6:29;80:815;-1:-1:-1;;;;;80:815:29:o;900:596::-;;;1060:2;1048:9;1039:7;1035:23;1031:32;1028:2;;;1081:6;1073;1066:22;1028:2;1113:16;;-1:-1:-1;;;;;1178:14:29;;;1175:2;;;1210:6;1202;1195:22;1175:2;1238:63;1293:7;1284:6;1273:9;1269:22;1238:63;:::i;:::-;1228:73;;1347:2;1336:9;1332:18;1326:25;1310:41;;1376:2;1366:8;1363:16;1360:2;;;1397:6;1389;1382:22;1360:2;;1425:65;1482:7;1471:8;1460:9;1456:24;1425:65;:::i;:::-;1415:75;;;1018:478;;;;;:::o;1501:380::-;1586:1;1576:12;;1633:1;1623:12;;;1644:2;;1698:4;1690:6;1686:17;1676:27;;1644:2;1751;1743:6;1740:14;1720:18;1717:38;1714:2;;;1797:10;1792:3;1788:20;1785:1;1778:31;1832:4;1829:1;1822:15;1860:4;1857:1;1850:15;1714:2;;1556:325;;;:::o;1886:127::-;1947:10;1942:3;1938:20;1935:1;1928:31;1978:4;1975:1;1968:15;2002:4;1999:1;1992:15;1918:95;1279:9238:1;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:6219:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "65:147:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "75:29:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "97:6:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "84:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "84:20:29" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "75:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "190:16:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "199:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "202:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "192:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "192:12:29" - }, - "nodeType": "YulExpressionStatement", - "src": "192:12:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "126:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "137:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "144:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "133:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "133:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "123:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "123:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "116:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "116:73:29" - }, - "nodeType": "YulIf", - "src": "113:2:29" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "44:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "55:5:29", - "type": "" - } - ], - "src": "14:198:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "287:128:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "333:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "342:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "350:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "335:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "335:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "335:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "308:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "317:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "304:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "304:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "329:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "300:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "300:32:29" - }, - "nodeType": "YulIf", - "src": "297:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "368:41:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "399:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "378:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "378:31:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "368:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "253:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "264:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "276:6:29", - "type": "" - } - ], - "src": "217:198:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "507:187:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "553:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "562:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "570:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "555:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "555:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "555:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "528:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "537:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "524:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "524:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "549:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "520:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "520:32:29" - }, - "nodeType": "YulIf", - "src": "517:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "588:41:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "619:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "598:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "598:31:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "588:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "638:50:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "673:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "684:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "669:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "669:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "648:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "648:40:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "638:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "465:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "476:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "488:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "496:6:29", - "type": "" - } - ], - "src": "420:274:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "803:238:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "849:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "858:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "866:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "851:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "851:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "851:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "824:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "833:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "820:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "820:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "845:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "816:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "816:32:29" - }, - "nodeType": "YulIf", - "src": "813:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "884:41:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "915:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "894:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "894:31:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "884:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "934:50:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "969:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "980:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "965:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "965:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "944:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "944:40:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "934:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "993:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1020:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1031:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1016:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1016:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1003:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1003:32:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "993:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "753:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "764:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "776:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "784:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "792:6:29", - "type": "" - } - ], - "src": "699:342:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1133:179:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1179:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1188:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1196:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1181:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1181:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1181:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1154:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1163:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1150:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1150:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1175:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1146:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1146:32:29" - }, - "nodeType": "YulIf", - "src": "1143:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1214:41:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1245:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1224:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "1224:31:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1214:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1264:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1291:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1302:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1287:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1287:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1274:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1274:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1264:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1091:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1102:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1114:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1122:6:29", - "type": "" - } - ], - "src": "1046:266:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1412:92:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1422:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1434:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1445:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1430:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1430:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1422:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1464:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1489:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1482:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1482:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1475:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1475:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1457:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1457:41:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1457:41:29" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1381:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1392:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1403:4:29", - "type": "" - } - ], - "src": "1317:187:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1630:482:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1640:12:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1650:2:29", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1644:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1668:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1679:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1661:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1661:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1661:21:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1691:27:29", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1711:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1705:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1705:13:29" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1695:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1738:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1749:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1734:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1734:18:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1754:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1727:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1727:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1727:34:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1770:13:29", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1779:4:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1774:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1842:90:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1871:9:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1882:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1867:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1867:17:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1886:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1863:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1863:26:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1905:6:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1913:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1901:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1901:14:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1917:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1897:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1897:23:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1891:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1891:30:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1856:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1856:66:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1856:66:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1803:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1806:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1800:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1800:13:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1814:19:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1816:15:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1825:1:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1828:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1821:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1821:10:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1816:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1796:3:29", - "statements": [] - }, - "src": "1792:140:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1966:69:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1995:9:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2006:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1991:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1991:22:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2015:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1987:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1987:31:29" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2020:4:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1980:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1980:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1980:45:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1947:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1950:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1944:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1944:13:29" - }, - "nodeType": "YulIf", - "src": "1941:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2044:62:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2060:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2079:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2087:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2075:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2075:15:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2096:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2092:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2092:7:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2071:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2071:29:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2056:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2056:45:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2103:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2052:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2052:54:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2044:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1599:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1610:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1621:4:29", - "type": "" - } - ], - "src": "1509:603:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2291:225:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2308:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2319:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2301:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2301:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2301:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2342:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2353:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2338:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2338:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2358:2:29", - "type": "", - "value": "35" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2331:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2331:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2331:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2381:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2392:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2377:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2377:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2397:34:29", - "type": "", - "value": "ERC20: transfer to the zero addr" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2370:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2370:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2370:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2452:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2463:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2448:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2448:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2468:5:29", - "type": "", - "value": "ess" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2441:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2441:33:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2441:33:29" - }, - { - "nodeType": "YulAssignment", - "src": "2483:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2495:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2506:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2491:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2491:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2483:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2268:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2282:4:29", - "type": "" - } - ], - "src": "2117:399:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2695:224:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2712:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2723:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2705:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2705:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2705:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2746:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2757:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2742:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2742:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2762:2:29", - "type": "", - "value": "34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2735:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2735:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2735:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2785:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2796:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2781:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2781:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2801:34:29", - "type": "", - "value": "ERC20: approve to the zero addre" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2774:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2774:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2774:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2856:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2867:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2852:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2852:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2872:4:29", - "type": "", - "value": "ss" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2845:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2845:32:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2845:32:29" - }, - { - "nodeType": "YulAssignment", - "src": "2886:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2898:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2909:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2894:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2894:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2886:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2672:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2686:4:29", - "type": "" - } - ], - "src": "2521:398:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3098:228:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3115:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3126:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3108:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3108:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3108:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3149:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3160:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3145:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3145:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3165:2:29", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3138:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3138:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3138:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3188:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3199:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3184:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3184:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3204:34:29", - "type": "", - "value": "ERC20: transfer amount exceeds b" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3177:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3177:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3177:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3259:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3270:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3255:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3255:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3275:8:29", - "type": "", - "value": "alance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3248:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3248:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3248:36:29" - }, - { - "nodeType": "YulAssignment", - "src": "3293:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3305:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3316:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3301:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3301:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3293:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3075:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3089:4:29", - "type": "" - } - ], - "src": "2924:402:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3505:230:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3522:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3533:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3515:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3515:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3515:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3556:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3567:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3552:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3552:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3572:2:29", - "type": "", - "value": "40" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3545:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3545:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3545:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3595:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3606:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3591:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3591:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3611:34:29", - "type": "", - "value": "ERC20: transfer amount exceeds a" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3584:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3584:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3584:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3666:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3677:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3662:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3662:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3682:10:29", - "type": "", - "value": "llowance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3655:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3655:38:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3655:38:29" - }, - { - "nodeType": "YulAssignment", - "src": "3702:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3714:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3725:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3710:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3710:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3702:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3482:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3496:4:29", - "type": "" - } - ], - "src": "3331:404:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3914:227:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3931:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3942:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3924:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3924:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3924:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3965:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3976:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3961:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3961:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3981:2:29", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3954:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3954:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3954:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4004:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4015:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4000:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4000:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4020:34:29", - "type": "", - "value": "ERC20: transfer from the zero ad" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3993:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3993:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3993:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4075:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4086:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4071:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4071:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4091:7:29", - "type": "", - "value": "dress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4064:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4064:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4064:35:29" - }, - { - "nodeType": "YulAssignment", - "src": "4108:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4120:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4131:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4116:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4116:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4108:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3891:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3905:4:29", - "type": "" - } - ], - "src": "3740:401:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4320:226:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4337:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4348:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4330:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4330:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4330:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4371:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4382:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4367:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4367:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4387:2:29", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4360:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4360:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4360:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4410:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4421:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4406:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4406:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4426:34:29", - "type": "", - "value": "ERC20: approve from the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4399:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4399:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4399:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4481:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4492:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4477:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4477:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4497:6:29", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4470:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4470:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4470:34:29" - }, - { - "nodeType": "YulAssignment", - "src": "4513:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4525:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4536:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4521:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4521:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4513:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4297:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4311:4:29", - "type": "" - } - ], - "src": "4146:400:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4725:227:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4742:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4753:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4735:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4735:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4735:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4776:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4787:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4772:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4772:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4792:2:29", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4765:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4765:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4765:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4815:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4826:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4811:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4811:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4831:34:29", - "type": "", - "value": "ERC20: decreased allowance below" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4804:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4804:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4804:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4886:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4897:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4882:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4882:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4902:7:29", - "type": "", - "value": " zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4875:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4875:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4875:35:29" - }, - { - "nodeType": "YulAssignment", - "src": "4919:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4931:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4942:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4927:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4927:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4919:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4702:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4716:4:29", - "type": "" - } - ], - "src": "4551:401:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5058:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5068:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5080:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5091:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5076:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5076:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5068:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5110:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5121:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5103:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5103:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5103:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5027:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5038:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5049:4:29", - "type": "" - } - ], - "src": "4957:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5236:87:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5246:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5258:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5269:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5254:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5254:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5246:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5288:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5303:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5311:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5299:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5299:17:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5281:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5281:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5281:36:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5205:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5216:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5227:4:29", - "type": "" - } - ], - "src": "5139:184:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5376:80:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5403:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "5405:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "5405:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5405:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5392:1:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5399:1:29" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "5395:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5395:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5389:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5389:13:29" - }, - "nodeType": "YulIf", - "src": "5386:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "5434:16:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5445:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5448:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5441:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5441:9:29" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "5434:3:29" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "5359:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "5362:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "5368:3:29", - "type": "" - } - ], - "src": "5328:128:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5510:76:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5532:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "5534:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "5534:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5534:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5526:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5529:1:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5523:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5523:8:29" - }, - "nodeType": "YulIf", - "src": "5520:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "5563:17:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5575:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5578:1:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5571:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5571:9:29" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "5563:4:29" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "5492:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "5495:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "5501:4:29", - "type": "" - } - ], - "src": "5461:125:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5646:382:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5656:22:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "5670:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5676:1:29", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "5666:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5666:12:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5656:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5687:38:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "5717:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5723:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5713:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5713:12:29" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "5691:18:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5764:31:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5766:27:29", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5780:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5788:4:29", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5776:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5776:17:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5766:6:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "5744:18:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5737:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5737:26:29" - }, - "nodeType": "YulIf", - "src": "5734:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5854:168:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5875:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5878:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5868:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5868:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5868:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5976:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5979:4:29", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5969:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5969:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5969:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6004:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6007:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5997:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5997:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5997:15:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "5810:18:29" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5833:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5841:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5830:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5830:14:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5807:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5807:38:29" - }, - "nodeType": "YulIf", - "src": "5804:2:29" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "5626:4:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "5635:6:29", - "type": "" - } - ], - "src": "5591:437:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6065:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6082:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6085:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6075:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6075:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6075:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6179:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6182:4:29", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6172:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6172:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6172:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6203:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6206:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6196:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6196:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6196:15:29" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "6033:184:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := abi_decode_t_address(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := abi_decode_t_address(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := tail\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 64), tail)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds a\")\n mstore(add(headStart, 96), \"llowance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610177578063a9059cbb1461018a578063dd62ed3e1461019d576100c9565b8063395093511461014957806370a082311461015c57806395d89b411461016f576100c9565b806318160ddd116100b257806318160ddd1461010c57806323b872dd14610121578063313ce56714610134576100c9565b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101b0565b6040516100e391906106ff565b60405180910390f35b6100ff6100fa3660046106cb565b610242565b6040516100e391906106f4565b61011461025f565b6040516100e391906109dd565b6100ff61012f366004610690565b610265565b61013c610305565b6040516100e391906109e6565b6100ff6101573660046106cb565b61030a565b61011461016a36600461063d565b610359565b6100d6610378565b6100ff6101853660046106cb565b610387565b6100ff6101983660046106cb565b610402565b6101146101ab36600461065e565b610416565b6060600380546101bf90610a23565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610a23565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b600061025661024f610441565b8484610445565b50600192915050565b60025490565b60006102728484846104f9565b6001600160a01b038416600090815260016020526040812081610293610441565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156102df5760405162461bcd60e51b81526004016102d690610869565b60405180910390fd5b6102fa856102eb610441565b6102f58685610a0c565b610445565b506001949350505050565b601290565b6000610256610317610441565b848460016000610325610441565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546102f591906109f4565b6001600160a01b0381166000908152602081905260409020545b919050565b6060600480546101bf90610a23565b60008060016000610396610441565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156103e25760405162461bcd60e51b81526004016102d690610980565b6103f86103ed610441565b856102f58685610a0c565b5060019392505050565b600061025661040f610441565b84846104f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661046b5760405162461bcd60e51b81526004016102d690610923565b6001600160a01b0382166104915760405162461bcd60e51b81526004016102d6906107af565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ec9085906109dd565b60405180910390a3505050565b6001600160a01b03831661051f5760405162461bcd60e51b81526004016102d6906108c6565b6001600160a01b0382166105455760405162461bcd60e51b81526004016102d690610752565b610550838383610621565b6001600160a01b038316600090815260208190526040902054818110156105895760405162461bcd60e51b81526004016102d69061080c565b6105938282610a0c565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105c99084906109f4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161061391906109dd565b60405180910390a350505050565b505050565b80356001600160a01b038116811461037357600080fd5b60006020828403121561064e578081fd5b61065782610626565b9392505050565b60008060408385031215610670578081fd5b61067983610626565b915061068760208401610626565b90509250929050565b6000806000606084860312156106a4578081fd5b6106ad84610626565b92506106bb60208501610626565b9150604084013590509250925092565b600080604083850312156106dd578182fd5b6106e683610626565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b8181101561072b5785810183015185820160400152820161070f565b8181111561073c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610a0757610a07610a5e565b500190565b600082821015610a1e57610a1e610a5e565b500390565b600281046001821680610a3757607f821691505b60208210811415610a5857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207286ecefd2ed6f67019b2664641d60f3c5b133f2cc821c3749b8063f7210fe6364736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x19D JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x16F JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x121 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x134 JUMPI PUSH2 0xC9 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xCE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xEC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD6 PUSH2 0x1B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x6FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFF PUSH2 0xFA CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x242 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x6F4 JUMP JUMPDEST PUSH2 0x114 PUSH2 0x25F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH2 0xFF PUSH2 0x12F CALLDATASIZE PUSH1 0x4 PUSH2 0x690 JUMP JUMPDEST PUSH2 0x265 JUMP JUMPDEST PUSH2 0x13C PUSH2 0x305 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x9E6 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x157 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x30A JUMP JUMPDEST PUSH2 0x114 PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x63D JUMP JUMPDEST PUSH2 0x359 JUMP JUMPDEST PUSH2 0xD6 PUSH2 0x378 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x387 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0x6CB JUMP JUMPDEST PUSH2 0x402 JUMP JUMPDEST PUSH2 0x114 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0x65E JUMP JUMPDEST PUSH2 0x416 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1BF SWAP1 PUSH2 0xA23 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1EB SWAP1 PUSH2 0xA23 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x238 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x20D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x238 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x21B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x24F PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x445 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x272 DUP5 DUP5 DUP5 PUSH2 0x4F9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 PUSH2 0x293 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x2DF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x869 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2FA DUP6 PUSH2 0x2EB PUSH2 0x441 JUMP JUMPDEST PUSH2 0x2F5 DUP7 DUP6 PUSH2 0xA0C JUMP JUMPDEST PUSH2 0x445 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x12 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x317 PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x325 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP12 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x2F5 SWAP2 SWAP1 PUSH2 0x9F4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1BF SWAP1 PUSH2 0xA23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x396 PUSH2 0x441 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP9 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x3E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x980 JUMP JUMPDEST PUSH2 0x3F8 PUSH2 0x3ED PUSH2 0x441 JUMP JUMPDEST DUP6 PUSH2 0x2F5 DUP7 DUP6 PUSH2 0xA0C JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x256 PUSH2 0x40F PUSH2 0x441 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x4F9 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 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x46B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x923 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x491 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x7AF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP5 SWAP1 SSTORE MLOAD PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x4EC SWAP1 DUP6 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x51F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x8C6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x545 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x752 JUMP JUMPDEST PUSH2 0x550 DUP4 DUP4 DUP4 PUSH2 0x621 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x589 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D6 SWAP1 PUSH2 0x80C JUMP JUMPDEST PUSH2 0x593 DUP3 DUP3 PUSH2 0xA0C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP6 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x5C9 SWAP1 DUP5 SWAP1 PUSH2 0x9F4 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x613 SWAP2 SWAP1 PUSH2 0x9DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x64E JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x657 DUP3 PUSH2 0x626 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x670 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x679 DUP4 PUSH2 0x626 JUMP JUMPDEST SWAP2 POP PUSH2 0x687 PUSH1 0x20 DUP5 ADD PUSH2 0x626 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x6A4 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x6AD DUP5 PUSH2 0x626 JUMP JUMPDEST SWAP3 POP PUSH2 0x6BB PUSH1 0x20 DUP6 ADD PUSH2 0x626 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6DD JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x6E6 DUP4 PUSH2 0x626 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72B JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x70F JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x73C JUMPI DUP4 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x22 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732061 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6C6C6F77616E6365000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x24 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xA07 JUMPI PUSH2 0xA07 PUSH2 0xA5E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xA1E JUMPI PUSH2 0xA1E PUSH2 0xA5E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xA37 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xA58 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH19 0x86ECEFD2ED6F67019B2664641D60F3C5B133F2 0xCC DUP3 SHR CALLDATACOPY 0x49 0xB8 MOD EXTCODEHASH PUSH19 0x10FE6364736F6C634300080000330000000000 ", - "sourceMap": "1279:9238:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4091:166;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3082:106::-;;;:::i;:::-;;;;;;;:::i;4724:414::-;;;;;;:::i;:::-;;:::i;2940:82::-;;;:::i;:::-;;;;;;;:::i;5533:212::-;;;;;;:::i;:::-;;:::i;3246:125::-;;;;;;:::i;:::-;;:::i;2223:93::-;;;:::i;6232:371::-;;;;;;:::i;:::-;;:::i;3574:172::-;;;;;;:::i;:::-;;:::i;3804:149::-;;;;;;:::i;:::-;;:::i;2021:89::-;2066:13;2098:5;2091:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:89;:::o;4091:166::-;4174:4;4190:39;4199:12;:10;:12::i;:::-;4213:7;4222:6;4190:8;:39::i;:::-;-1:-1:-1;4246:4:1;4091:166;;;;:::o;3082:106::-;3169:12;;3082:106;:::o;4724:414::-;4830:4;4846:36;4856:6;4864:9;4875:6;4846:9;:36::i;:::-;-1:-1:-1;;;;;4920:19:1;;4893:24;4920:19;;;:11;:19;;;;;4893:24;4940:12;:10;:12::i;:::-;-1:-1:-1;;;;;4920:33:1;-1:-1:-1;;;;;4920:33:1;;;;;;;;;;;;;4893:60;;4991:6;4971:16;:26;;4963:79;;;;-1:-1:-1;;;4963:79:1;;;;;;;:::i;:::-;;;;;;;;;5052:57;5061:6;5069:12;:10;:12::i;:::-;5083:25;5102:6;5083:16;:25;:::i;:::-;5052:8;:57::i;:::-;-1:-1:-1;5127:4:1;;4724:414;-1:-1:-1;;;;4724:414:1:o;2940:82::-;3013:2;2940:82;:::o;5533:212::-;5621:4;5637:80;5646:12;:10;:12::i;:::-;5660:7;5706:10;5669:11;:25;5681:12;:10;:12::i;:::-;-1:-1:-1;;;;;5669:25:1;;;;;;;;;;;;;;;;;-1:-1:-1;5669:25:1;;;:34;;;;;;;;;;:47;;;;:::i;3246:125::-;-1:-1:-1;;;;;3346:18:1;;3320:7;3346:18;;;;;;;;;;;3246:125;;;;:::o;2223:93::-;2270:13;2302:7;2295:14;;;;;:::i;6232:371::-;6325:4;6341:24;6368:11;:25;6380:12;:10;:12::i;:::-;-1:-1:-1;;;;;6368:25:1;;;;;;;;;;;;;;;;;-1:-1:-1;6368:25:1;;;:34;;;;;;;;;;;-1:-1:-1;6420:35:1;;;;6412:85;;;;-1:-1:-1;;;6412:85:1;;;;;;;:::i;:::-;6507:67;6516:12;:10;:12::i;:::-;6530:7;6539:34;6558:15;6539:16;:34;:::i;6507:67::-;-1:-1:-1;6592:4:1;;6232:371;-1:-1:-1;;;6232:371:1:o;3574:172::-;3660:4;3676:42;3686:12;:10;:12::i;:::-;3700:9;3711:6;3676:9;:42::i;3804:149::-;-1:-1:-1;;;;;3919:18:1;;;3893:7;3919:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3804:149::o;586:96:3:-;665:10;586:96;:::o;9496:340:1:-;-1:-1:-1;;;;;9597:19:1;;9589:68;;;;-1:-1:-1;;;9589:68:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;9675:21:1;;9667:68;;;;-1:-1:-1;;;9667:68:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;9746:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;9797:32;;;;;9776:6;;9797:32;:::i;:::-;;;;;;;;9496:340;;;:::o;7077:592::-;-1:-1:-1;;;;;7182:20:1;;7174:70;;;;-1:-1:-1;;;7174:70:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;7262:23:1;;7254:71;;;;-1:-1:-1;;;7254:71:1;;;;;;;:::i;:::-;7336:47;7357:6;7365:9;7376:6;7336:20;:47::i;:::-;-1:-1:-1;;;;;7418:17:1;;7394:21;7418:17;;;;;;;;;;;7453:23;;;;7445:74;;;;-1:-1:-1;;;7445:74:1;;;;;;;:::i;:::-;7549:22;7565:6;7549:13;:22;:::i;:::-;-1:-1:-1;;;;;7529:17:1;;;:9;:17;;;;;;;;;;;:42;;;;7581:20;;;;;;;;:30;;7605:6;;7529:9;7581:30;;7605:6;;7581:30;:::i;:::-;;;;;;;;7644:9;-1:-1:-1;;;;;7627:35:1;7636:6;-1:-1:-1;;;;;7627:35:1;;7655:6;7627:35;;;;;;:::i;:::-;;;;;;;;7077:592;;;;:::o;10423:92::-;;;;:::o;14:198:29:-;84:20;;-1:-1:-1;;;;;133:54:29;;123:65;;113:2;;202:1;199;192:12;217:198;;329:2;317:9;308:7;304:23;300:32;297:2;;;350:6;342;335:22;297:2;378:31;399:9;378:31;:::i;:::-;368:41;287:128;-1:-1:-1;;;287:128:29:o;420:274::-;;;549:2;537:9;528:7;524:23;520:32;517:2;;;570:6;562;555:22;517:2;598:31;619:9;598:31;:::i;:::-;588:41;;648:40;684:2;673:9;669:18;648:40;:::i;:::-;638:50;;507:187;;;;;:::o;699:342::-;;;;845:2;833:9;824:7;820:23;816:32;813:2;;;866:6;858;851:22;813:2;894:31;915:9;894:31;:::i;:::-;884:41;;944:40;980:2;969:9;965:18;944:40;:::i;:::-;934:50;;1031:2;1020:9;1016:18;1003:32;993:42;;803:238;;;;;:::o;1046:266::-;;;1175:2;1163:9;1154:7;1150:23;1146:32;1143:2;;;1196:6;1188;1181:22;1143:2;1224:31;1245:9;1224:31;:::i;:::-;1214:41;1302:2;1287:18;;;;1274:32;;-1:-1:-1;;;1133:179:29:o;1317:187::-;1482:14;;1475:22;1457:41;;1445:2;1430:18;;1412:92::o;1509:603::-;;1650:2;1679;1668:9;1661:21;1711:6;1705:13;1754:6;1749:2;1738:9;1734:18;1727:34;1779:4;1792:140;1806:6;1803:1;1800:13;1792:140;;;1901:14;;;1897:23;;1891:30;1867:17;;;1886:2;1863:26;1856:66;1821:10;;1792:140;;;1950:6;1947:1;1944:13;1941:2;;;2020:4;2015:2;2006:6;1995:9;1991:22;1987:31;1980:45;1941:2;-1:-1:-1;2096:2:29;2075:15;-1:-1:-1;;2071:29:29;2056:45;;;;2103:2;2052:54;;1630:482;-1:-1:-1;;;1630:482:29:o;2117:399::-;2319:2;2301:21;;;2358:2;2338:18;;;2331:30;2397:34;2392:2;2377:18;;2370:62;2468:5;2463:2;2448:18;;2441:33;2506:3;2491:19;;2291:225::o;2521:398::-;2723:2;2705:21;;;2762:2;2742:18;;;2735:30;2801:34;2796:2;2781:18;;2774:62;2872:4;2867:2;2852:18;;2845:32;2909:3;2894:19;;2695:224::o;2924:402::-;3126:2;3108:21;;;3165:2;3145:18;;;3138:30;3204:34;3199:2;3184:18;;3177:62;3275:8;3270:2;3255:18;;3248:36;3316:3;3301:19;;3098:228::o;3331:404::-;3533:2;3515:21;;;3572:2;3552:18;;;3545:30;3611:34;3606:2;3591:18;;3584:62;3682:10;3677:2;3662:18;;3655:38;3725:3;3710:19;;3505:230::o;3740:401::-;3942:2;3924:21;;;3981:2;3961:18;;;3954:30;4020:34;4015:2;4000:18;;3993:62;4091:7;4086:2;4071:18;;4064:35;4131:3;4116:19;;3914:227::o;4146:400::-;4348:2;4330:21;;;4387:2;4367:18;;;4360:30;4426:34;4421:2;4406:18;;4399:62;4497:6;4492:2;4477:18;;4470:34;4536:3;4521:19;;4320:226::o;4551:401::-;4753:2;4735:21;;;4792:2;4772:18;;;4765:30;4831:34;4826:2;4811:18;;4804:62;4902:7;4897:2;4882:18;;4875:35;4942:3;4927:19;;4725:227::o;4957:177::-;5103:25;;;5091:2;5076:18;;5058:76::o;5139:184::-;5311:4;5299:17;;;;5281:36;;5269:2;5254:18;;5236:87::o;5328:128::-;;5399:1;5395:6;5392:1;5389:13;5386:2;;;5405:18;;:::i;:::-;-1:-1:-1;5441:9:29;;5376:80::o;5461:125::-;;5529:1;5526;5523:8;5520:2;;;5534:18;;:::i;:::-;-1:-1:-1;5571:9:29;;5510:76::o;5591:437::-;5676:1;5666:12;;5723:1;5713:12;;;5734:2;;5788:4;5780:6;5776:17;5766:27;;5734:2;5841;5833:6;5830:14;5810:18;5807:38;5804:2;;;-1:-1:-1;;;5875:1:29;5868:88;5979:4;5976:1;5969:15;6007:4;6004:1;5997:15;5804:2;;5646:382;;;:::o;6033:184::-;-1:-1:-1;;;6082:1:29;6075:88;6182:4;6179:1;6172:15;6206:4;6203:1;6196:15" - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - } - } - }, - "@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": "amount", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - } - } - }, - "@openzeppelin/contracts/utils/Context.sol": { - "Context": { - "abi": [], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": {} - } - } - }, - "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { - "MerkleProof": { - "abi": [], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220393df58923e0b4b21acbb6904bf330fb8080acf82fb13d1dcb114da8c387305164736f6c63430008000033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY RETURNDATASIZE CREATE2 DUP10 0x23 0xE0 0xB4 0xB2 BYTE 0xCB 0xB6 SWAP1 0x4B RETURN ADDRESS 0xFB DUP1 DUP1 0xAC 0xF8 0x2F 0xB1 RETURNDATASIZE SAR 0xCB GT 0x4D 0xA8 0xC3 DUP8 ADDRESS MLOAD PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "143:1135:4:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;143:1135:4;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220393df58923e0b4b21acbb6904bf330fb8080acf82fb13d1dcb114da8c387305164736f6c63430008000033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CODECOPY RETURNDATASIZE CREATE2 DUP10 0x23 0xE0 0xB4 0xB2 BYTE 0xCB 0xB6 SWAP1 0x4B RETURN ADDRESS 0xFB DUP1 DUP1 0xAC 0xF8 0x2F 0xB1 RETURNDATASIZE SAR 0xCB GT 0x4D 0xA8 0xC3 DUP8 ADDRESS MLOAD PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "143:1135:4:-:0;;;;;;;;" - }, - "methodIdentifiers": {} - } - } - }, - "@openzeppelin/contracts/utils/introspection/ERC165.sol": { - "ERC165": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "supportsInterface(bytes4)": "01ffc9a7" - } - } - } - }, - "@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": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "supportsInterface(bytes4)": "01ffc9a7" - } - } - } - }, - "contracts/Core/ACL.sol": { - "ACL": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5061001c600033610021565b6100e1565b61002b828261002f565b5050565b61003982826100b4565b61002b576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556100706100dd565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b6105c1806100f06000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806336568abe1161005b57806336568abe146100e057806391d14854146100f3578063a217fddf14610106578063d547741f1461010e5761007d565b806301ffc9a714610082578063248a9ca3146100ab5780632f2ff15d146100cb575b600080fd5b610095610090366004610419565b610121565b6040516100a29190610460565b60405180910390f35b6100be6100b93660046103c7565b61017d565b6040516100a2919061046b565b6100de6100d93660046103df565b610192565b005b6100de6100ee3660046103df565b6101d9565b6100956101013660046103df565b61021b565b6100be610244565b6100de61011c3660046103df565b610249565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610177575061017782610271565b92915050565b60009081526020819052604090206001015490565b6101a661019e8361017d565b6101016102bb565b6101cb5760405162461bcd60e51b81526004016101c290610474565b60405180910390fd5b6101d582826102bf565b5050565b6101e16102bb565b6001600160a01b0316816001600160a01b0316146102115760405162461bcd60e51b81526004016101c29061052e565b6101d58282610344565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600081565b61025561019e8361017d565b6102115760405162461bcd60e51b81526004016101c2906104d1565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6102c9828261021b565b6101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556103006102bb565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61034e828261021b565b156101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556103836102bb565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000602082840312156103d8578081fd5b5035919050565b600080604083850312156103f1578081fd5b8235915060208301356001600160a01b038116811461040e578182fd5b809150509250929050565b60006020828403121561042a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610459578182fd5b9392505050565b901515815260200190565b90815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c66000000000000000000000000000000000060608201526080019056fea2646970667358221220f8ffa5856d19c19922995f0a441e3ca24b6f65637429cdcd8014480549fa7d2364736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C PUSH1 0x0 CALLER PUSH2 0x21 JUMP JUMPDEST PUSH2 0xE1 JUMP JUMPDEST PUSH2 0x2B DUP3 DUP3 PUSH2 0x2F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x39 DUP3 DUP3 PUSH2 0xB4 JUMP JUMPDEST PUSH2 0x2B JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x70 PUSH2 0xDD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x5C1 DUP1 PUSH2 0xF0 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x36568ABE GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0xF3 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x106 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x10E JUMPI PUSH2 0x7D JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0xAB JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0xCB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x419 JUMP JUMPDEST PUSH2 0x121 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x460 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBE PUSH2 0xB9 CALLDATASIZE PUSH1 0x4 PUSH2 0x3C7 JUMP JUMPDEST PUSH2 0x17D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x46B JUMP JUMPDEST PUSH2 0xDE PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x192 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xDE PUSH2 0xEE CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x1D9 JUMP JUMPDEST PUSH2 0x95 PUSH2 0x101 CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x21B JUMP JUMPDEST PUSH2 0xBE PUSH2 0x244 JUMP JUMPDEST PUSH2 0xDE PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x249 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x177 JUMPI POP PUSH2 0x177 DUP3 PUSH2 0x271 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x19E DUP4 PUSH2 0x17D JUMP JUMPDEST PUSH2 0x101 PUSH2 0x2BB JUMP JUMPDEST PUSH2 0x1CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x474 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1D5 DUP3 DUP3 PUSH2 0x2BF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x211 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x52E JUMP JUMPDEST PUSH2 0x1D5 DUP3 DUP3 PUSH2 0x344 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x255 PUSH2 0x19E DUP4 PUSH2 0x17D JUMP JUMPDEST PUSH2 0x211 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x4D1 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x2C9 DUP3 DUP3 PUSH2 0x21B JUMP JUMPDEST PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x300 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x34E DUP3 DUP3 PUSH2 0x21B JUMP JUMPDEST ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x383 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3F1 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x40E JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x42A JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x459 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF8 SELFDESTRUCT 0xA5 DUP6 PUSH14 0x19C19922995F0A441E3CA24B6F65 PUSH4 0x7429CDCD DUP1 EQ 0x48 SDIV 0x49 STATICCALL PUSH30 0x2364736F6C63430008000033000000000000000000000000000000000000 ", - "sourceMap": "156:243:7:-:0;;;192:73;;;;;;;;;-1:-1:-1;216:42:7;2408:4:0;247:10:7;216;:42::i;:::-;156:243;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;6952:224::-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;3867:137::-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;586:96:3:-;665:10;586:96;:::o;156:243:7:-;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2588:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "132:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "132:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:29" - }, - "nodeType": "YulIf", - "src": "94:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "165:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "188:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "175:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "175:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "165:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:29", - "type": "" - } - ], - "src": "14:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "296:310:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "342:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "351:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "359:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "344:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "344:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "344:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "317:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "326:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "313:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "313:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "338:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "309:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "309:32:29" - }, - "nodeType": "YulIf", - "src": "306:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "377:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "400:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "387:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "387:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "377:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "419:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "449:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "460:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "445:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "445:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "432:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "432:32:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "423:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "550:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "559:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "567:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "552:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "552:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "552:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "486:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "497:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "504:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "493:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "493:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "483:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "483:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "476:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "476:73:29" - }, - "nodeType": "YulIf", - "src": "473:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "585:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "595:5:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "585:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "254:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "265:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "277:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "285:6:29", - "type": "" - } - ], - "src": "209:397:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "680:283:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "726:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "735:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "743:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "728:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "728:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "728:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "701:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "710:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "697:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "697:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "722:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "693:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "693:32:29" - }, - "nodeType": "YulIf", - "src": "690:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "761:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "787:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "774:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "774:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "765:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "907:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "916:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "924:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "909:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "909:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "909:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "819:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "830:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "837:66:29", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "826:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "826:78:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "816:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "816:89:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "809:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "809:97:29" - }, - "nodeType": "YulIf", - "src": "806:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "942:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "952:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "942:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "646:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "657:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "669:6:29", - "type": "" - } - ], - "src": "611:352:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1063:92:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1073:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1085:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1096:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1081:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1081:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1073:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1115:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1140:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1133:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1133:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1126:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1126:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1108:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1108:41:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1108:41:29" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1032:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1043:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1054:4:29", - "type": "" - } - ], - "src": "968:187:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1261:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1271:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1283:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1294:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1279:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1279:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1271:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1313:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1324:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1306:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1306:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1306:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1230:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1241:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1252:4:29", - "type": "" - } - ], - "src": "1160:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1516:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1533:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1544:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1526:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1526:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1526:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1567:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1578:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1563:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1563:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1583:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1556:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1556:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1556:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1606:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1617:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1602:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1602:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "1622:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1595:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1595:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1595:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1677:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1688:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1673:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1673:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "1693:17:29", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1666:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1666:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1666:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "1720:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1732:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1743:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1728:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1728:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1720:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1493:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1507:4:29", - "type": "" - } - ], - "src": "1342:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1932:238:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1949:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1960:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1942:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1942:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1942:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1983:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1994:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1979:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1979:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1999:2:29", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1972:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1972:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1972:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2022:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2033:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2018:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2018:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2038:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2011:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2011:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2011:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2093:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2104:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2089:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2089:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2109:18:29", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2082:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2082:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2082:46:29" - }, - { - "nodeType": "YulAssignment", - "src": "2137:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2149:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2160:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2145:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2145:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2137:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1909:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1923:4:29", - "type": "" - } - ], - "src": "1758:412:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2349:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2366:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2377:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2359:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2359:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2359:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2400:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2411:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2396:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2396:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2416:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2389:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2389:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2389:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2439:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2450:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2435:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2435:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2455:34:29", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2428:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2428:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2428:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2510:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2521:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2506:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2506:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "2526:17:29", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2499:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2499:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2499:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "2553:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2565:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2576:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2561:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2561:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2553:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2326:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2340:4:29", - "type": "" - } - ], - "src": "2175:411:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value1, value1) }\n value1 := value\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506004361061007d5760003560e01c806336568abe1161005b57806336568abe146100e057806391d14854146100f3578063a217fddf14610106578063d547741f1461010e5761007d565b806301ffc9a714610082578063248a9ca3146100ab5780632f2ff15d146100cb575b600080fd5b610095610090366004610419565b610121565b6040516100a29190610460565b60405180910390f35b6100be6100b93660046103c7565b61017d565b6040516100a2919061046b565b6100de6100d93660046103df565b610192565b005b6100de6100ee3660046103df565b6101d9565b6100956101013660046103df565b61021b565b6100be610244565b6100de61011c3660046103df565b610249565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610177575061017782610271565b92915050565b60009081526020819052604090206001015490565b6101a661019e8361017d565b6101016102bb565b6101cb5760405162461bcd60e51b81526004016101c290610474565b60405180910390fd5b6101d582826102bf565b5050565b6101e16102bb565b6001600160a01b0316816001600160a01b0316146102115760405162461bcd60e51b81526004016101c29061052e565b6101d58282610344565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600081565b61025561019e8361017d565b6102115760405162461bcd60e51b81526004016101c2906104d1565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6102c9828261021b565b6101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556103006102bb565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61034e828261021b565b156101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556103836102bb565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000602082840312156103d8578081fd5b5035919050565b600080604083850312156103f1578081fd5b8235915060208301356001600160a01b038116811461040e578182fd5b809150509250929050565b60006020828403121561042a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610459578182fd5b9392505050565b901515815260200190565b90815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c66000000000000000000000000000000000060608201526080019056fea2646970667358221220f8ffa5856d19c19922995f0a441e3ca24b6f65637429cdcd8014480549fa7d2364736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x36568ABE GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0xF3 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x106 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x10E JUMPI PUSH2 0x7D JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0xAB JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0xCB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x419 JUMP JUMPDEST PUSH2 0x121 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x460 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBE PUSH2 0xB9 CALLDATASIZE PUSH1 0x4 PUSH2 0x3C7 JUMP JUMPDEST PUSH2 0x17D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x46B JUMP JUMPDEST PUSH2 0xDE PUSH2 0xD9 CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x192 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xDE PUSH2 0xEE CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x1D9 JUMP JUMPDEST PUSH2 0x95 PUSH2 0x101 CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x21B JUMP JUMPDEST PUSH2 0xBE PUSH2 0x244 JUMP JUMPDEST PUSH2 0xDE PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x3DF JUMP JUMPDEST PUSH2 0x249 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x177 JUMPI POP PUSH2 0x177 DUP3 PUSH2 0x271 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x19E DUP4 PUSH2 0x17D JUMP JUMPDEST PUSH2 0x101 PUSH2 0x2BB JUMP JUMPDEST PUSH2 0x1CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x474 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1D5 DUP3 DUP3 PUSH2 0x2BF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x211 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x52E JUMP JUMPDEST PUSH2 0x1D5 DUP3 DUP3 PUSH2 0x344 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x255 PUSH2 0x19E DUP4 PUSH2 0x17D JUMP JUMPDEST PUSH2 0x211 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C2 SWAP1 PUSH2 0x4D1 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x2C9 DUP3 DUP3 PUSH2 0x21B JUMP JUMPDEST PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x300 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x34E DUP3 DUP3 PUSH2 0x21B JUMP JUMPDEST ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x383 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3D8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3F1 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x40E JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x42A JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x459 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF8 SELFDESTRUCT 0xA5 DUP6 PUSH14 0x19C19922995F0A441E3CA24B6F65 PUSH4 0x7429CDCD DUP1 EQ 0x48 SDIV 0x49 STATICCALL PUSH30 0x2364736F6C63430008000033000000000000000000000000000000000000 ", - "sourceMap": "156:243:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4185:121;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4556:228::-;;;;;;:::i;:::-;;:::i;:::-;;5740:214;;;;;;:::i;:::-;;:::i;3867:137::-;;;;;;:::i;:::-;;:::i;2363:49::-;;;:::i;5018:231::-;;;;;;:::i;:::-;;:::i;3566:214::-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;3566:214;-1:-1:-1;;3566:214:0:o;4185:121::-;4251:7;4277:12;;;;;;;;;;:22;;;;4185:121::o;4556:228::-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;;;;;;;;;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;5740:214::-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;3867:137::-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;2363:49::-;2408:4;2363:49;:::o;5018:231::-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;586:96:3:-;665:10;586:96;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;14:190:29:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;-1:-1:-1;175:23:29;;84:120;-1:-1:-1;84:120:29:o;209:397::-;;;338:2;326:9;317:7;313:23;309:32;306:2;;;359:6;351;344:22;306:2;400:9;387:23;377:33;;460:2;449:9;445:18;432:32;-1:-1:-1;;;;;497:5:29;493:54;486:5;483:65;473:2;;567:6;559;552:22;473:2;595:5;585:15;;;296:310;;;;;:::o;611:352::-;;722:2;710:9;701:7;697:23;693:32;690:2;;;743:6;735;728:22;690:2;787:9;774:23;837:66;830:5;826:78;819:5;816:89;806:2;;924:6;916;909:22;806:2;952:5;680:283;-1:-1:-1;;;680:283:29:o;968:187::-;1133:14;;1126:22;1108:41;;1096:2;1081:18;;1063:92::o;1160:177::-;1306:25;;;1294:2;1279:18;;1261:76::o;1342:411::-;1544:2;1526:21;;;1583:2;1563:18;;;1556:30;1622:34;1617:2;1602:18;;1595:62;1693:17;1688:2;1673:18;;1666:45;1743:3;1728:19;;1516:237::o;1758:412::-;1960:2;1942:21;;;1999:2;1979:18;;;1972:30;2038:34;2033:2;2018:18;;2011:62;2109:18;2104:2;2089:18;;2082:46;2160:3;2145:19;;1932:238::o;2175:411::-;2377:2;2359:21;;;2416:2;2396:18;;;2389:30;2455:34;2450:2;2435:18;;2428:62;2526:17;2521:2;2506:18;;2499:45;2576:3;2561:19;;2349:237::o" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "supportsInterface(bytes4)": "01ffc9a7" - } - } - } - }, - "contracts/Core/BlockManager.sol": { - "BlockManager": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "BlockConfirmed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Proposed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "blocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "confirmBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "disputes", - "outputs": [ - { - "internalType": "uint256", - "name": "accWeight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "median", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lowerCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "higherCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastVisited", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blockId", - "type": "uint256" - } - ], - "name": "finalizeDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getHigherCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getLowerCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getNumProposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - }, - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "sorted", - "type": "uint256[]" - } - ], - "name": "giveSorted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "stateManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "voteManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "jobManagerAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "isElectedProposer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "jobManager", - "outputs": [ - { - "internalType": "contract IJobManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - } - ], - "name": "propose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "resetDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeManager", - "outputs": [ - { - "internalType": "contract IStakeManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "voteManager", - "outputs": [ - { - "internalType": "contract IVoteManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 2031 - }, - { - "length": 20, - "start": 2517 - }, - { - "length": 20, - "start": 4450 - }, - { - "length": 20, - "start": 5911 - }, - { - "length": 20, - "start": 7738 - }, - { - "length": 20, - "start": 8369 - }, - { - "length": 20, - "start": 12665 - } - ] - }, - "contracts/lib/Random.sol": { - "Random": [ - { - "length": 20, - "start": 3128 - }, - { - "length": 20, - "start": 3465 - } - ] - } - }, - "object": "60806040523480156200001157600080fd5b506200001f60003362000025565b620000f1565b62000031828262000035565b5050565b620000418282620000c2565b620000315760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556200007e620000ed565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b61406180620001016000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80637542ff95116100f9578063d1a4a43d11610097578063e38c7c4211610071578063e38c7c42146103cd578063f25b3f99146103e0578063f8c8765e146103f3578063fae4425d14610406576101c4565b8063d1a4a43d14610394578063d2a4669a146103a7578063d547741f146103ba576101c4565b806392b48411116100d357806392b484111461033e5780639b87f64414610361578063a217fddf14610369578063a27ce1ef14610371576101c4565b80637542ff95146102fe578063828496d61461030657806391d148541461032b576101c4565b806336568abe116101665780633df395a3116101405780633df395a3146102c857806342c1e587146102d05780634e6753b7146102d85780635ce8772f146102eb576101c4565b806336568abe14610282578063378ab9a9146102955780633cd32fd4146102b5576101c4565b80631d69ff9b116101a25780631d69ff9b14610227578063248a9ca31461023a5780632e716fb11461025a5780632f2ff15d1461026f576101c4565b806301ffc9a7146101c957806304c07569146101f257806317d99c0414610212575b600080fd5b6101dc6101d7366004613519565b610419565b6040516101e991906138a7565b60405180910390f35b6102056102003660046134ba565b610477565b6040516101e99190613d2c565b6102256102203660046135ef565b610627565b005b6101dc610235366004613723565b610b11565b61024d6102483660046134ba565b610e99565b6040516101e991906138b2565b610262610eaf565b6040516101e99190613880565b61022561027d3660046134ea565b610ebe565b6102256102903660046134ea565b610efc565b6102a86102a33660046134ba565b610f3e565b6040516101e99190613894565b6102256102c33660046136b4565b610fa3565b61026261153a565b610262611549565b6102256102e63660046136d5565b611558565b6102256102f93660046134ba565b611c7b565b610262611eca565b6103196103143660046134ea565b611ed9565b6040516101e996959493929190613ee4565b6101dc6103393660046134ea565b611f18565b61035161034c3660046136b4565b611f43565b6040516101e99493929190613ec7565b610225611f8c565b61024d61269c565b61038461037f3660046136b4565b6126a1565b6040516101e99493929190613d3f565b6102a86103a23660046136b4565b6128a9565b6102a86103b53660046134ba565b612943565b6102256103c83660046134ea565b6129a6565b61024d6103db3660046134ba565b6129ce565b6103516103ee3660046134ba565b6129e0565b61022561040136600461345f565b612a0a565b6102a86104143660046134ba565b612b0e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061046f575061046f82612b71565b90505b919050565b61047f6132bb565b60008281526004602090815260409182902082516101008101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156104ec57602002820191906000526020600020905b8154815260200190600101908083116104d8575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561054457602002820191906000526020600020905b815481526020019060010190808311610530575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561059c57602002820191906000526020600020905b815481526020019060010190808311610588575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156105f457602002820191906000526020600020905b8154815260200190600101908083116105e0575b5050509183525050600582015460208201526006820154604082015260079091015460ff16151560609091015292915050565b60005460ff166106525760405162461bcd60e51b815260040161064990613a94565b60405180910390fd5b60065460408051630eaf323560e31b8152905189926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561069657600080fd5b505afa1580156106aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ce91906134d2565b81146106ec5760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63c198f8ba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561073057600080fd5b505af4158015610744573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610768919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b957600080fd5b505afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f191906134d2565b811461080f5760405162461bcd60e51b815260040161064990613c98565b6005546040517f6022a4850000000000000000000000000000000000000000000000000000000081526000916001600160a01b031690636022a48590610859903390600401613880565b60206040518083038186803b15801561087157600080fd5b505afa158015610885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a991906134d2565b90506108b6858583610b11565b6108d25760405162461bcd60e51b8152600401610649906139a3565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561091657600080fd5b505af415801561092a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094e91906134d2565b6005546040516371e4cc7f60e11b81526001600160a01b039091169063e3c998fe9061097e9085906004016138b2565b6101006040518083038186803b15801561099757600080fd5b505afa1580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf9190613559565b6040015110156109f15760405162461bcd60e51b815260040161064990613c04565b6040805161010081018252828152602081018b90528082018a9052606081018990526080810188905260a0810187905260055491516371e4cc7f60e11b8152610abe928d929160c08301916001600160a01b03169063e3c998fe90610a5a908b906004016138b2565b6101006040518083038186803b158015610a7357600080fd5b505afa158015610a87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aab9190613559565b6040015181526001602090910152612bbb565b7fee036cc96c88163f353feaa4d497e88baaebeb631f40ad9b8a6d51bb6fad40768a828b8b8b8b8b8b42604051610afd99989796959493929190613dc4565b60405180910390a150505050505050505050565b6000805460ff16610b345760405162461bcd60e51b815260040161064990613a94565b8173__$3b76b38140ea5d8f6a5a565441556589de$__635075dbfb600a600560009054906101000a90046001600160a01b03166001600160a01b031663bc788d466040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9f57600080fd5b505afa158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd791906134d2565b88604051602001610be891906138b2565b604051602081830303815290604052805190602001206040518463ffffffff1660e01b8152600401610c1c939291906138ce565b60206040518083038186803b158015610c3457600080fd5b505af4158015610c48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6c91906134d2565b610c77906001613f0c565b14610c8457506000610e92565b600073__$3b76b38140ea5d8f6a5a565441556589de$__63b07ceab8600a8588604051602001610cb5929190613db6565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610ce89291906138bb565b60206040518083038186803b158015610d0057600080fd5b505af4158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3891906134d2565b90506000610d4b64010000000083613fc0565b6005546040516371e4cc7f60e11b81529192506000916001600160a01b039091169063e3c998fe90610d819089906004016138b2565b6101006040518083038186803b158015610d9a57600080fd5b505afa158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd29190613559565b60409081015160055491516371e4cc7f60e11b81529092506001600160a01b039091169063e3c998fe90610e0a9088906004016138b2565b6101006040518083038186803b158015610e2357600080fd5b505afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b9190613559565b60400151610e6e90640100000000613f38565b610e788284613f38565b1115610e8a5760009350505050610e92565b600193505050505b9392505050565b6000908152600160208190526040909120015490565b6006546001600160a01b031681565b610ed2610eca83610e99565b6103396131aa565b610eee5760405162461bcd60e51b8152600401610649906138e9565b610ef882826131ae565b5050565b610f046131aa565b6001600160a01b0316816001600160a01b031614610f345760405162461bcd60e51b815260040161064990613ccf565b610ef88282613236565b600081815260046020908152604091829020600201805483518184028101840190945280845260609392830182828015610f9757602002820191906000526020600020905b815481526020019060010190808311610f83575b50505050509050919050565b60005460ff16610fc55760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561100957600080fd5b505afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906134d2565b811461105f5760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a357600080fd5b505af41580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561112c57600080fd5b505afa158015611140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116491906134d2565b81146111825760405162461bcd60e51b815260040161064990613c98565b60008481526002602090815260408083203384529091529081902060050154600754915163a6a145d960e01b815290916001600160a01b03169063a6a145d9906111d29088908590600401613db6565b60206040518083038186803b1580156111ea57600080fd5b505afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122291906134d2565b6000868152600260209081526040808320338452909152902054146112595760405162461bcd60e51b815260040161064990613c3b565b600085815260026020818152604080842033855282528084206001810154938101546003918201548b875291909352908420805493949293919291899081106112b257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600001549050600084116112e65760405162461bcd60e51b815260040161064990613b39565b600089815260036020526040902080548591908a90811061131757634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201868154811061134757634e487b7160e01b600052603260045260246000fd5b90600052602060002001541415806113c95750600089815260036020526040902080548491908a90811061138b57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160030186815481106113bb57634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b8061143e5750600089815260036020526040902080548391908a90811061140057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600401868154811061143057634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b1561151757600089815260036020526040812080548a90811061147157634e487b7160e01b600052603260045260246000fd5b60009182526020909120600890910201600701805460ff19169115159190911790556005546040517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630f91ce19906114e090849033908e90600401613d97565b600060405180830381600087803b1580156114fa57600080fd5b505af115801561150e573d6000803e3d6000fd5b5050505061152f565b60405162461bcd60e51b815260040161064990613ba7565b505050505050505050565b6008546001600160a01b031681565b6007546001600160a01b031681565b60005460ff1661157a5760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905185926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156115be57600080fd5b505afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f691906134d2565b81146116145760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b15801561165857600080fd5b505af415801561166c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611690919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116e157600080fd5b505afa1580156116f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171991906134d2565b81146117375760405162461bcd60e51b815260040161064990613c98565b60075460405163a6a145d960e01b81526000916002916001600160a01b039091169063a6a145d99061176f908a908a90600401613db6565b60206040518083038186803b15801561178757600080fd5b505afa15801561179b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bf91906134d2565b6117c99190613f24565b60075460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611801908b908b908601613db6565b60206040518083038186803b15801561181957600080fd5b505afa15801561182d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185191906134d2565b61185b9190613f24565b60075460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611893908c908c908601613db6565b60206040518083038186803b1580156118ab57600080fd5b505afa1580156118bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e391906134d2565b6118ee906003613f38565b6118f89190613f24565b60008981526002602090815260408083203384529091529020805460049091015491925090816119465760008a81526002602090815260408083203384529091529020600501899055611981565b60008a815260026020908152604080832033845290915290206005015489146119815760405162461bcd60e51b815260040161064990613b70565b60005b8851811015611c4c57818982815181106119ae57634e487b7160e01b600052603260045260246000fd5b6020026020010151116119d35760405162461bcd60e51b815260040161064990613946565b8881815181106119f357634e487b7160e01b600052603260045260246000fd5b60200260200101519150600760009054906101000a90046001600160a01b03166001600160a01b0316639c66556f8c8c8c8581518110611a4357634e487b7160e01b600052603260045260246000fd5b60200260200101516040518463ffffffff1660e01b8152600401611a6993929190613eb1565b60206040518083038186803b158015611a8157600080fd5b505afa158015611a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab991906134d2565b611ac39084613f0c565b60008c81526002602081815260408084203385529091529091200154909350158015611aef5750848310155b15611b3d57888181518110611b1457634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028084526040808320338452909452929020909101555b60008b8152600260209081526040808320338452909152902060010154158015611b6657508583115b15611bb457888181518110611b8b57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028352604080822033835290935291909120600101555b60008b8152600260209081526040808320338452909152902060030154158015611bdd57508383115b15611c2b57888181518110611c0257634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028352604080822033835290935291909120600301555b6127105a1015611c3a57611c4c565b80611c4481613f85565b915050611984565b506000998a52600260209081526040808c20338d52909152909920600481019990995590975550505050505050565b60005460ff16611c9d5760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015611ce157600080fd5b505afa158015611cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1991906134d2565b8114611d375760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b158015611d7b57600080fd5b505af4158015611d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db3919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e0457600080fd5b505afa158015611e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3c91906134d2565b8114611e5a5760405162461bcd60e51b815260040161064990613c98565b50506040805160c08101825260008082526020808301828152838501838152606085018481526080860185815260a0870186815298865260028086528887203388529095529690942094518555905160018501555190830155516003820155905160048201559051600590910155565b6005546001600160a01b031681565b60026020818152600093845260408085209091529183529120805460018201549282015460038301546004840154600590940154929493919290919086565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60036020528160005260406000208181548110611f5f57600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60005460ff16611fae5760405162461bcd60e51b815260040161064990613a94565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63d98b3ced6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff257600080fd5b505af4158015612006573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202a91906134d2565b6120348133611f18565b6120505760405162461bcd60e51b815260040161064990613b02565b60065460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561209557600080fd5b505afa1580156120a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd91906134d2565b905060005b600360006120e1600185613f57565b815260208101919091526040016000205460ff82161015612696576003600061210b600185613f57565b81526020019081526020016000208160ff168154811061213b57634e487b7160e01b600052603260045260246000fd5b600091825260209091206007600890920201015460ff16156126845760036000612166600185613f57565b81526020019081526020016000208160ff168154811061219657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600460006001856121b59190613f57565b8152602081019190915260400160002081548155600180830180546121dd9284019190613302565b50600282810180546121f29284019190613302565b50600382810180546122079284019190613302565b506004828101805461221c9284019190613302565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff9092161515919091179055600060038161225c600186613f57565b81526020019081526020016000208260ff168154811061228c57634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102015490507f5ef264ae9101b91bd7117350c5e85901297fa0569e7a3e07eb7ec0a6281529f06122cb600185613f57565b82600360006122db600189613f57565b81526020019081526020016000208560ff168154811061230b57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002016003600060018961232d9190613f57565b81526020019081526020016000208660ff168154811061235d57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016003016003600060018a61237f9190613f57565b81526020019081526020016000208760ff16815481106123af57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016004016003600060018b6123d19190613f57565b81526020019081526020016000208860ff168154811061240157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101426040516124269796959493929190613e43565b60405180910390a160005b60036000612440600187613f57565b81526020019081526020016000208360ff168154811061247057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101805490508160ff1610156125fe576008546001600160a01b03166356350bdf600360006124af600189613f57565b81526020019081526020016000208560ff16815481106124df57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016001018360ff168154811061251257634e487b7160e01b600052603260045260246000fd5b90600052602060002001546003600060018961252e9190613f57565b81526020019081526020016000208660ff168154811061255e57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018460ff168154811061259157634e487b7160e01b600052603260045260246000fd5b90600052602060002001546040518363ffffffff1660e01b81526004016125b9929190613db6565b600060405180830381600087803b1580156125d357600080fd5b505af11580156125e7573d6000803e3d6000fd5b5050505080806125f690613fa0565b915050612431565b506005546040517f746c8b650000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063746c8b659061264a9084908790600401613db6565b600060405180830381600087803b15801561266457600080fd5b505af1158015612678573d6000803e3d6000fd5b50505050505050612699565b8061268e81613fa0565b9150506120d2565b50505b50565b600081565b6126a96132bb565b60608060606003600087815260200190815260200160002085815481106126e057634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160405180610100016040529081600082015481526020016001820180548060200260200160405190810160405280929190818152602001828054801561275357602002820191906000526020600020905b81548152602001906001019080831161273f575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156127ab57602002820191906000526020600020905b815481526020019060010190808311612797575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561280357602002820191906000526020600020905b8154815260200190600101908083116127ef575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561285b57602002820191906000526020600020905b815481526020019060010190808311612847575b505050918352505060058201546020820152600682015460408083019190915260079092015460ff161515606091820152908201519082015160808301519299919850965090945092505050565b6000828152600360205260409020805460609190839081106128db57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160020180548060200260200160405190810160405280929190818152602001828054801561293657602002820191906000526020600020905b815481526020019060010190808311612922575b5050505050905092915050565b600081815260046020908152604091829020600301805483518184028101840190945280845260609392830182828015610f975760200282019190600052602060002090815481526020019060010190808311610f835750505050509050919050565b6129b2610eca83610e99565b610f345760405162461bcd60e51b8152600401610649906139da565b60009081526003602052604090205490565b60046020526000908152604090208054600582015460068301546007909301549192909160ff1684565b600054610100900460ff1680612a23575060005460ff16155b612a3f5760405162461bcd60e51b815260040161064990613a37565b600054610100900460ff16158015612a6a576000805460ff1961ff0019909116610100171660011790555b6000612a768133611f18565b612a925760405162461bcd60e51b815260040161064990613b02565b50600580546001600160a01b038088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255600680548784169083161790556007805486841690831617905560088054928516929091169190911790558015612b07576000805461ff00191690555b5050505050565b600081815260046020818152604092839020909101805483518184028101840190945280845260609392830182828015610f975760200282019190600052602060002090815481526020019060010190808311610f835750505050509050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600082815260036020526040902054612c985760008281526003602090815260408220805460018181018355918452928290208451600890940201928355838201518051859493612c10938501920190613352565b5060408201518051612c2c916002840191602090910190613352565b5060608201518051612c48916003840191602090910190613352565b5060808201518051612c64916004840191602090910190613352565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055610ef8565b600082815260036020526040812054905b600084815260036020526040902054811015612d775760c08301516000858152600360205260409020805483908110612cf257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600601541015612d1257809150612d77565b60a08301516000858152600360205260409020805483908110612d4557634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600501541115612d6557809150612d77565b80612d6f81613f85565b915050612ca9565b5060008381526003602090815260408220805460018181018355918452928290208551600890940201928355848201518051869493612dba938501920190613352565b5060408201518051612dd6916002840191602090910190613352565b5060608201518051612df2916003840191602090910190613352565b5060808201518051612e0e916004840191602090910190613352565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055600083815260036020526040812054612e5890600190613f57565b90505b81811115612f84576000848152600360205260409020612e7c600183613f57565b81548110612e9a57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600360008681526020019081526020016000208281548110612eda57634e487b7160e01b600052603260045260246000fd5b60009182526020909120825460089092020190815560018083018054612f039284019190613302565b5060028281018054612f189284019190613302565b5060038281018054612f2d9284019190613302565b5060048281018054612f429284019190613302565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905580612f7c81613f6e565b915050612e5b565b506000838152600360205260409020805483919083908110612fb657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600082015181600001556020820151816001019080519060200190612fea929190613352565b5060408201518051613006916002840191602090910190613352565b5060608201518051613022916003840191602090910190613352565b506080820151805161303e916004840191602090910190613352565b5060a0820151816005015560c0820151816006015560e08201518160070160006101000a81548160ff02191690831515021790555090505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63379597e06040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ba57600080fd5b505af41580156130ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130f291906134d2565b6000848152600360205260409020541115612696576000838152600360205260409020805461312390600190613f57565b8154811061314157634e487b7160e01b600052603260045260246000fd5b60009182526020822060089091020181815590613161600183018261338d565b61316f60028301600061338d565b61317d60038301600061338d565b61318b60048301600061338d565b506000600582018190556006820155600701805460ff19169055505050565b3390565b6131b88282611f18565b610ef85760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556131f26131aa565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6132408282611f18565b15610ef85760008281526001602090815260408083206001600160a01b03851684529091529020805460ff191690556132776131aa565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806101000160405280600081526020016060815260200160608152602001606081526020016060815260200160008152602001600081526020016000151581525090565b8280548282559060005260206000209081019282156133425760005260206000209182015b82811115613342578254825591600101919060010190613327565b5061334e9291506133a7565b5090565b828054828255906000526020600020908101928215613342579160200282015b82811115613342578251825591602001919060010190613372565b508054600082559060005260206000209081019061269991905b5b8082111561334e57600081556001016133a8565b805161047281614016565b600082601f8301126133d7578081fd5b8135602067ffffffffffffffff808311156133f4576133f4614000565b8183026040518382820101818110848211171561341357613413614000565b60405284815283810192508684018288018501891015613431578687fd5b8692505b85831015613453578035845292840192600192909201918401613435565b50979650505050505050565b60008060008060808587031215613474578384fd5b843561347f81614016565b9350602085013561348f81614016565b9250604085013561349f81614016565b915060608501356134af81614016565b939692955090935050565b6000602082840312156134cb578081fd5b5035919050565b6000602082840312156134e3578081fd5b5051919050565b600080604083850312156134fc578182fd5b82359150602083013561350e81614016565b809150509250929050565b60006020828403121561352a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e92578182fd5b600061010080838503121561356c578182fd5b6040519081019067ffffffffffffffff8211818310171561358f5761358f614000565b81604052835181526135a3602085016133bc565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600080600080600080600060e0888a031215613609578283fd5b87359650602088013567ffffffffffffffff80821115613627578485fd5b6136338b838c016133c7565b975060408a0135915080821115613648578485fd5b6136548b838c016133c7565b965060608a0135915080821115613669578485fd5b6136758b838c016133c7565b955060808a013591508082111561368a578485fd5b506136978a828b016133c7565b93505060a0880135915060c0880135905092959891949750929550565b600080604083850312156136c6578182fd5b50508035926020909101359150565b6000806000606084860312156136e9578081fd5b8335925060208401359150604084013567ffffffffffffffff81111561370d578182fd5b613719868287016133c7565b9150509250925092565b600080600060608486031215613737578081fd5b505081359360208301359350604090920135919050565b60006020828403121561375f578081fd5b815160ff81168114610e92578182fd5b6000815180845260208085019450808401835b8381101561379e57815187529582019590820190600101613782565b509495945050505050565b6000815480845260208085019450838352808320835b8381101561379e578154875295820195600191820191016137bf565b15159052565b60006101008251845260208301518160208601526138018286018261376f565b9150506040830151848203604086015261381b828261376f565b91505060608301518482036060860152613835828261376f565b9150506080830151848203608086015261384f828261376f565b91505060a083015160a085015260c083015160c085015260e083015161387860e08601826137db565b509392505050565b6001600160a01b0391909116815260200190565b600060208252610e92602083018461376f565b901515815260200190565b90815260200190565b60ff929092168252602082015260400190565b60ff9390931683526020830191909152604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526029908201527f736f727465645b695d206973206e6f742067726561746572207468616e206c6160408201527f7374566973697465640000000000000000000000000000000000000000000000606082015260800190565b6020808252600b908201527f6e6f7420656c6563746564000000000000000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526014908201527f4d656469616e2063616e2774206265207a65726f000000000000000000000000604082015260600190565b60208082526014908201527f41737365744964206e6f74206d61746368696e67000000000000000000000000604082015260600190565b60208082526037908201527f50726f706f73656420416c7465726e61746520626c6f636b206973206964656e60408201527f746963616c20746f2070726f706f73656420626c6f636b000000000000000000606082015260800190565b60208082526019908201527f7374616b652062656c6f77206d696e696d756d207374616b6500000000000000604082015260600190565b60208082526021908201527f546f74616c207374616b652072657665616c656420646f65736e74206d61746360408201527f6800000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b600060208252610e9260208301846137e1565b600060808252613d5260808301876137e1565b8281036020840152613d64818761376f565b90508281036040840152613d78818661376f565b90508281036060840152613d8c818561376f565b979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b918252602082015260400190565b60006101208b83528a6020840152806040840152613de48184018b61376f565b90508281036060840152613df8818a61376f565b90508281036080840152613e0c818961376f565b905082810360a0840152613e20818861376f565b60c0840196909652505060e0810192909252610100909101529695505050505050565b600088825287602083015260e06040830152613e6260e08301886137a9565b8281036060840152613e7481886137a9565b90508281036080840152613e8881876137a9565b905082810360a0840152613e9c81866137a9565b9150508260c083015298975050505050505050565b9283526020830191909152604082015260600190565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b60008219821115613f1f57613f1f613fd4565b500190565b600082613f3357613f33613fea565b500490565b6000816000190483118215151615613f5257613f52613fd4565b500290565b600082821015613f6957613f69613fd4565b500390565b600081613f7d57613f7d613fd4565b506000190190565b6000600019821415613f9957613f99613fd4565b5060010190565b600060ff821660ff811415613fb757613fb7613fd4565b60010192915050565b600082613fcf57613fcf613fea565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461269957600080fdfea26469706673582212208ad1f4b919fd879e21da0d4ad963596fa341d46780215d324caaf430028716c964736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x1F PUSH1 0x0 CALLER PUSH3 0x25 JUMP JUMPDEST PUSH3 0xF1 JUMP JUMPDEST PUSH3 0x31 DUP3 DUP3 PUSH3 0x35 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0x41 DUP3 DUP3 PUSH3 0xC2 JUMP JUMPDEST PUSH3 0x31 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH3 0x7E PUSH3 0xED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x4061 DUP1 PUSH3 0x101 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1C4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7542FF95 GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0xD1A4A43D GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xE38C7C42 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xE38C7C42 EQ PUSH2 0x3CD JUMPI DUP1 PUSH4 0xF25B3F99 EQ PUSH2 0x3E0 JUMPI DUP1 PUSH4 0xF8C8765E EQ PUSH2 0x3F3 JUMPI DUP1 PUSH4 0xFAE4425D EQ PUSH2 0x406 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0xD1A4A43D EQ PUSH2 0x394 JUMPI DUP1 PUSH4 0xD2A4669A EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3BA JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x92B48411 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x92B48411 EQ PUSH2 0x33E JUMPI DUP1 PUSH4 0x9B87F644 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x369 JUMPI DUP1 PUSH4 0xA27CE1EF EQ PUSH2 0x371 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x7542FF95 EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0x828496D6 EQ PUSH2 0x306 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x32B JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x36568ABE GT PUSH2 0x166 JUMPI DUP1 PUSH4 0x3DF395A3 GT PUSH2 0x140 JUMPI DUP1 PUSH4 0x3DF395A3 EQ PUSH2 0x2C8 JUMPI DUP1 PUSH4 0x42C1E587 EQ PUSH2 0x2D0 JUMPI DUP1 PUSH4 0x4E6753B7 EQ PUSH2 0x2D8 JUMPI DUP1 PUSH4 0x5CE8772F EQ PUSH2 0x2EB JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x36568ABE EQ PUSH2 0x282 JUMPI DUP1 PUSH4 0x378AB9A9 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x3CD32FD4 EQ PUSH2 0x2B5 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x1D69FF9B GT PUSH2 0x1A2 JUMPI DUP1 PUSH4 0x1D69FF9B EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x25A JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x26F JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1C9 JUMPI DUP1 PUSH4 0x4C07569 EQ PUSH2 0x1F2 JUMPI DUP1 PUSH4 0x17D99C04 EQ PUSH2 0x212 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1DC PUSH2 0x1D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3519 JUMP JUMPDEST PUSH2 0x419 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x38A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x205 PUSH2 0x200 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x477 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3D2C JUMP JUMPDEST PUSH2 0x225 PUSH2 0x220 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0x627 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1DC PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x3723 JUMP JUMPDEST PUSH2 0xB11 JUMP JUMPDEST PUSH2 0x24D PUSH2 0x248 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0xE99 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x38B2 JUMP JUMPDEST PUSH2 0x262 PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3880 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x27D CALLDATASIZE PUSH1 0x4 PUSH2 0x34EA JUMP JUMPDEST PUSH2 0xEBE JUMP JUMPDEST PUSH2 0x225 PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x34EA JUMP JUMPDEST PUSH2 0xEFC JUMP JUMPDEST PUSH2 0x2A8 PUSH2 0x2A3 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0xF3E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3894 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x36B4 JUMP JUMPDEST PUSH2 0xFA3 JUMP JUMPDEST PUSH2 0x262 PUSH2 0x153A JUMP JUMPDEST PUSH2 0x262 PUSH2 0x1549 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2E6 CALLDATASIZE PUSH1 0x4 PUSH2 0x36D5 JUMP JUMPDEST PUSH2 0x1558 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2F9 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x1C7B JUMP JUMPDEST PUSH2 0x262 PUSH2 0x1ECA JUMP JUMPDEST PUSH2 0x319 PUSH2 0x314 CALLDATASIZE PUSH1 0x4 PUSH2 0x34EA JUMP JUMPDEST PUSH2 0x1ED9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3EE4 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x339 CALLDATASIZE PUSH1 0x4 PUSH2 0x34EA JUMP JUMPDEST PUSH2 0x1F18 JUMP JUMPDEST PUSH2 0x351 PUSH2 0x34C CALLDATASIZE PUSH1 0x4 PUSH2 0x36B4 JUMP JUMPDEST PUSH2 0x1F43 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3EC7 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x1F8C JUMP JUMPDEST PUSH2 0x24D PUSH2 0x269C JUMP JUMPDEST PUSH2 0x384 PUSH2 0x37F CALLDATASIZE PUSH1 0x4 PUSH2 0x36B4 JUMP JUMPDEST PUSH2 0x26A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3D3F JUMP JUMPDEST PUSH2 0x2A8 PUSH2 0x3A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x36B4 JUMP JUMPDEST PUSH2 0x28A9 JUMP JUMPDEST PUSH2 0x2A8 PUSH2 0x3B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x2943 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x3C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x34EA JUMP JUMPDEST PUSH2 0x29A6 JUMP JUMPDEST PUSH2 0x24D PUSH2 0x3DB CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x29CE JUMP JUMPDEST PUSH2 0x351 PUSH2 0x3EE CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x29E0 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x401 CALLDATASIZE PUSH1 0x4 PUSH2 0x345F JUMP JUMPDEST PUSH2 0x2A0A JUMP JUMPDEST PUSH2 0x2A8 PUSH2 0x414 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x2B0E JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x46F JUMPI POP PUSH2 0x46F DUP3 PUSH2 0x2B71 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x47F PUSH2 0x32BB JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD DUP5 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP6 MLOAD DUP2 DUP7 MUL DUP2 ADD DUP7 ADD SWAP1 SWAP7 MSTORE DUP1 DUP7 MSTORE SWAP2 SWAP5 SWAP3 SWAP4 DUP6 DUP2 ADD SWAP4 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x4EC JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x4D8 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x544 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x530 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x59C JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x588 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x5F4 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x5E0 JUMPI JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x6 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x7 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x652 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP10 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x696 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6CE SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x6EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3ACB JUMP JUMPDEST PUSH20 0x0 PUSH4 0xC198F8BA PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x730 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x744 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x768 SWAP2 SWAP1 PUSH2 0x374E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7CD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7F1 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x80F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C98 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH32 0x6022A48500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6022A485 SWAP1 PUSH2 0x859 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x3880 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x885 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8A9 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST SWAP1 POP PUSH2 0x8B6 DUP6 DUP6 DUP4 PUSH2 0xB11 JUMP JUMPDEST PUSH2 0x8D2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x39A3 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x916 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x92A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x94E SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0x97E SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x38B2 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x997 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9AB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9CF SWAP2 SWAP1 PUSH2 0x3559 JUMP JUMPDEST PUSH1 0x40 ADD MLOAD LT ISZERO PUSH2 0x9F1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C04 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH2 0x100 DUP2 ADD DUP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP12 SWAP1 MSTORE DUP1 DUP3 ADD DUP11 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0xA0 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x5 SLOAD SWAP2 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH2 0xABE SWAP3 DUP14 SWAP3 SWAP2 PUSH1 0xC0 DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0xA5A SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x38B2 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA87 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAAB SWAP2 SWAP1 PUSH2 0x3559 JUMP JUMPDEST PUSH1 0x40 ADD MLOAD DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE PUSH2 0x2BBB JUMP JUMPDEST PUSH32 0xEE036CC96C88163F353FEAA4D497E88BAAEBEB631F40AD9B8A6D51BB6FAD4076 DUP11 DUP3 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0xAFD SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3DC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF AND PUSH2 0xB34 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST DUP2 PUSH20 0x0 PUSH4 0x5075DBFB PUSH1 0xA PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBC788D46 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBB3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xBD7 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBE8 SWAP2 SWAP1 PUSH2 0x38B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC1C SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x38CE JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xC48 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC6C SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0xC77 SWAP1 PUSH1 0x1 PUSH2 0x3F0C JUMP JUMPDEST EQ PUSH2 0xC84 JUMPI POP PUSH1 0x0 PUSH2 0xE92 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xB07CEAB8 PUSH1 0xA DUP6 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCB5 SWAP3 SWAP2 SWAP1 PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCE8 SWAP3 SWAP2 SWAP1 PUSH2 0x38BB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xD14 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD38 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xD4B PUSH5 0x100000000 DUP4 PUSH2 0x3FC0 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0xD81 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x38B2 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xDAE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDD2 SWAP2 SWAP1 PUSH2 0x3559 JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 ADD MLOAD PUSH1 0x5 SLOAD SWAP2 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0xE0A SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x38B2 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE37 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE5B SWAP2 SWAP1 PUSH2 0x3559 JUMP JUMPDEST PUSH1 0x40 ADD MLOAD PUSH2 0xE6E SWAP1 PUSH5 0x100000000 PUSH2 0x3F38 JUMP JUMPDEST PUSH2 0xE78 DUP3 DUP5 PUSH2 0x3F38 JUMP JUMPDEST GT ISZERO PUSH2 0xE8A JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0xE92 JUMP JUMPDEST PUSH1 0x1 SWAP4 POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0xED2 PUSH2 0xECA DUP4 PUSH2 0xE99 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x31AA JUMP JUMPDEST PUSH2 0xEEE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x38E9 JUMP JUMPDEST PUSH2 0xEF8 DUP3 DUP3 PUSH2 0x31AE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xF04 PUSH2 0x31AA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF34 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH2 0xEF8 DUP3 DUP3 PUSH2 0x3236 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xF97 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xF83 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0xFC5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x101D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1041 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x105F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3ACB JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x10B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10DB SWAP2 SWAP1 PUSH2 0x374E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x112C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1140 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1164 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1182 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C98 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0x7 SLOAD SWAP2 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x11D2 SWAP1 DUP9 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1222 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD EQ PUSH2 0x1259 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C3B JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 CALLER DUP6 MSTORE DUP3 MSTORE DUP1 DUP5 KECCAK256 PUSH1 0x1 DUP2 ADD SLOAD SWAP4 DUP2 ADD SLOAD PUSH1 0x3 SWAP2 DUP3 ADD SLOAD DUP12 DUP8 MSTORE SWAP2 SWAP1 SWAP4 MSTORE SWAP1 DUP5 KECCAK256 DUP1 SLOAD SWAP4 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP2 DUP10 SWAP1 DUP2 LT PUSH2 0x12B2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP PUSH1 0x0 DUP5 GT PUSH2 0x12E6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3B39 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP6 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x1317 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x1347 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO DUP1 PUSH2 0x13C9 JUMPI POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP5 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x138B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x13BB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO JUMPDEST DUP1 PUSH2 0x143E JUMPI POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x1400 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x4 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x1430 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x1517 JUMPI PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP11 SWAP1 DUP2 LT PUSH2 0x1471 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD PUSH1 0x7 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH32 0xF91CE1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xF91CE19 SWAP1 PUSH2 0x14E0 SWAP1 DUP5 SWAP1 CALLER SWAP1 DUP15 SWAP1 PUSH1 0x4 ADD PUSH2 0x3D97 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x150E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x152F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3BA7 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x157A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP6 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15D2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15F6 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1614 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3ACB JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1658 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x166C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1690 SWAP2 SWAP1 PUSH2 0x374E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16F5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1719 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1737 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C98 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x2 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x176F SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1787 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x179B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17BF SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0x17C9 SWAP2 SWAP1 PUSH2 0x3F24 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x1801 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP7 ADD PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1819 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x182D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1851 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0x185B SWAP2 SWAP1 PUSH2 0x3F24 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x1893 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP7 ADD PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x18AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18BF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18E3 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0x18EE SWAP1 PUSH1 0x3 PUSH2 0x3F38 JUMP JUMPDEST PUSH2 0x18F8 SWAP2 SWAP1 PUSH2 0x3F24 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 DUP2 PUSH2 0x1946 JUMPI PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x5 ADD DUP10 SWAP1 SSTORE PUSH2 0x1981 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP10 EQ PUSH2 0x1981 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3B70 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP9 MLOAD DUP2 LT ISZERO PUSH2 0x1C4C JUMPI DUP2 DUP10 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x19AE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x19D3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3946 JUMP JUMPDEST DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x19F3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP2 POP PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9C66556F DUP13 DUP13 DUP13 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x1A43 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A69 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3EB1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A95 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AB9 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0x1AC3 SWAP1 DUP5 PUSH2 0x3F0C JUMP JUMPDEST PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 CALLER DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 SWAP4 POP ISZERO DUP1 ISZERO PUSH2 0x1AEF JUMPI POP DUP5 DUP4 LT ISZERO JUMPDEST ISZERO PUSH2 0x1B3D JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1B14 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x2 DUP1 DUP5 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP5 MSTORE SWAP3 SWAP1 KECCAK256 SWAP1 SWAP2 ADD SSTORE JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD ISZERO DUP1 ISZERO PUSH2 0x1B66 JUMPI POP DUP6 DUP4 GT JUMPDEST ISZERO PUSH2 0x1BB4 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1B8B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x2 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 CALLER DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 ADD SSTORE JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD ISZERO DUP1 ISZERO PUSH2 0x1BDD JUMPI POP DUP4 DUP4 GT JUMPDEST ISZERO PUSH2 0x1C2B JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1C02 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x2 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 CALLER DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 ADD SSTORE JUMPDEST PUSH2 0x2710 GAS LT ISZERO PUSH2 0x1C3A JUMPI PUSH2 0x1C4C JUMP JUMPDEST DUP1 PUSH2 0x1C44 DUP2 PUSH2 0x3F85 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1984 JUMP JUMPDEST POP PUSH1 0x0 SWAP10 DUP11 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP13 KECCAK256 CALLER DUP14 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP10 KECCAK256 PUSH1 0x4 DUP2 ADD SWAP10 SWAP1 SWAP10 SSTORE SWAP1 SWAP8 SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1C9D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1CE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1CF5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D19 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1D37 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3ACB JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1D8F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DB3 SWAP2 SWAP1 PUSH2 0x374E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1E04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E18 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1E3C SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1E5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C98 JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP3 DUP2 MSTORE DUP4 DUP6 ADD DUP4 DUP2 MSTORE PUSH1 0x60 DUP6 ADD DUP5 DUP2 MSTORE PUSH1 0x80 DUP7 ADD DUP6 DUP2 MSTORE PUSH1 0xA0 DUP8 ADD DUP7 DUP2 MSTORE SWAP9 DUP7 MSTORE PUSH1 0x2 DUP1 DUP7 MSTORE DUP9 DUP8 KECCAK256 CALLER DUP9 MSTORE SWAP1 SWAP6 MSTORE SWAP7 SWAP1 SWAP5 KECCAK256 SWAP5 MLOAD DUP6 SSTORE SWAP1 MLOAD PUSH1 0x1 DUP6 ADD SSTORE MLOAD SWAP1 DUP4 ADD SSTORE MLOAD PUSH1 0x3 DUP3 ADD SSTORE SWAP1 MLOAD PUSH1 0x4 DUP3 ADD SSTORE SWAP1 MLOAD PUSH1 0x5 SWAP1 SWAP2 ADD SSTORE JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP1 SWAP2 MSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD SWAP3 DUP3 ADD SLOAD PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x4 DUP5 ADD SLOAD PUSH1 0x5 SWAP1 SWAP5 ADD SLOAD SWAP3 SWAP5 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1F5F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1FAE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xD98B3CED PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1FF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2006 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x202A SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0x2034 DUP2 CALLER PUSH2 0x1F18 JUMP JUMPDEST PUSH2 0x2050 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3B02 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2095 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x20A9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20CD SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x3 PUSH1 0x0 PUSH2 0x20E1 PUSH1 0x1 DUP6 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0xFF DUP3 AND LT ISZERO PUSH2 0x2696 JUMPI PUSH1 0x3 PUSH1 0x0 PUSH2 0x210B PUSH1 0x1 DUP6 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x213B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x7 PUSH1 0x8 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x2684 JUMPI PUSH1 0x3 PUSH1 0x0 PUSH2 0x2166 PUSH1 0x1 DUP6 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2196 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x4 PUSH1 0x0 PUSH1 0x1 DUP6 PUSH2 0x21B5 SWAP2 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 DUP2 SLOAD DUP2 SSTORE PUSH1 0x1 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x21DD SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x2 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x21F2 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2207 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x221C SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x5 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x6 DUP1 DUP4 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x7 SWAP2 DUP3 ADD SLOAD SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 PUSH1 0x3 DUP2 PUSH2 0x225C PUSH1 0x1 DUP7 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x228C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD SLOAD SWAP1 POP PUSH32 0x5EF264AE9101B91BD7117350C5E85901297FA0569E7A3E07EB7EC0A6281529F0 PUSH2 0x22CB PUSH1 0x1 DUP6 PUSH2 0x3F57 JUMP JUMPDEST DUP3 PUSH1 0x3 PUSH1 0x0 PUSH2 0x22DB PUSH1 0x1 DUP10 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x230B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD PUSH1 0x3 PUSH1 0x0 PUSH1 0x1 DUP10 PUSH2 0x232D SWAP2 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP7 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x235D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 ADD PUSH1 0x3 PUSH1 0x0 PUSH1 0x1 DUP11 PUSH2 0x237F SWAP2 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP8 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x23AF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x4 ADD PUSH1 0x3 PUSH1 0x0 PUSH1 0x1 DUP12 PUSH2 0x23D1 SWAP2 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP9 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2401 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x2426 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3E43 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 JUMPDEST PUSH1 0x3 PUSH1 0x0 PUSH2 0x2440 PUSH1 0x1 DUP8 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP4 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2470 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD DUP1 SLOAD SWAP1 POP DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x25FE JUMPI PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x56350BDF PUSH1 0x3 PUSH1 0x0 PUSH2 0x24AF PUSH1 0x1 DUP10 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x24DF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD DUP4 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2512 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0x3 PUSH1 0x0 PUSH1 0x1 DUP10 PUSH2 0x252E SWAP2 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP7 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x255E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP5 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2591 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x25B9 SWAP3 SWAP2 SWAP1 PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x25D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 DUP1 PUSH2 0x25F6 SWAP1 PUSH2 0x3FA0 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2431 JUMP JUMPDEST POP PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH32 0x746C8B6500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x746C8B65 SWAP1 PUSH2 0x264A SWAP1 DUP5 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2664 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2678 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH2 0x2699 JUMP JUMPDEST DUP1 PUSH2 0x268E DUP2 PUSH2 0x3FA0 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x20D2 JUMP JUMPDEST POP POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x26A9 PUSH2 0x32BB JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x60 PUSH1 0x3 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x26E0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x2753 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x273F JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x27AB JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x2797 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x2803 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x27EF JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x285B JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x2847 JUMPI JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x6 DUP3 ADD SLOAD PUSH1 0x40 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x7 SWAP1 SWAP3 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x60 SWAP2 DUP3 ADD MSTORE SWAP1 DUP3 ADD MLOAD SWAP1 DUP3 ADD MLOAD PUSH1 0x80 DUP4 ADD MLOAD SWAP3 SWAP10 SWAP2 SWAP9 POP SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x28DB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x2936 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x2922 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xF97 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xF83 JUMPI POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x29B2 PUSH2 0xECA DUP4 PUSH2 0xE99 JUMP JUMPDEST PUSH2 0xF34 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x39DA JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2A23 JUMPI POP PUSH1 0x0 SLOAD PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0x2A3F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A37 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO DUP1 ISZERO PUSH2 0x2A6A JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT PUSH2 0xFF00 NOT SWAP1 SWAP2 AND PUSH2 0x100 OR AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 PUSH2 0x2A76 DUP2 CALLER PUSH2 0x1F18 JUMP JUMPDEST PUSH2 0x2A92 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3B02 JUMP JUMPDEST POP PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP1 SLOAD DUP8 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x7 DUP1 SLOAD DUP7 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x8 DUP1 SLOAD SWAP3 DUP6 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 ISZERO PUSH2 0x2B07 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND SWAP1 SSTORE JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xF97 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xF83 JUMPI POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x2C98 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP5 MSTORE SWAP3 DUP3 SWAP1 KECCAK256 DUP5 MLOAD PUSH1 0x8 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP4 DUP3 ADD MLOAD DUP1 MLOAD DUP6 SWAP5 SWAP4 PUSH2 0x2C10 SWAP4 DUP6 ADD SWAP3 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2C2C SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2C48 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2C64 SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0xE0 SWAP1 SWAP2 ADD MLOAD PUSH1 0x7 SWAP1 SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0xEF8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 LT ISZERO PUSH2 0x2D77 JUMPI PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 DUP2 LT PUSH2 0x2CF2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x6 ADD SLOAD LT ISZERO PUSH2 0x2D12 JUMPI DUP1 SWAP2 POP PUSH2 0x2D77 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 DUP2 LT PUSH2 0x2D45 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x5 ADD SLOAD GT ISZERO PUSH2 0x2D65 JUMPI DUP1 SWAP2 POP PUSH2 0x2D77 JUMP JUMPDEST DUP1 PUSH2 0x2D6F DUP2 PUSH2 0x3F85 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CA9 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP5 MSTORE SWAP3 DUP3 SWAP1 KECCAK256 DUP6 MLOAD PUSH1 0x8 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP5 DUP3 ADD MLOAD DUP1 MLOAD DUP7 SWAP5 SWAP4 PUSH2 0x2DBA SWAP4 DUP6 ADD SWAP3 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2DD6 SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2DF2 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2E0E SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0xE0 SWAP1 SWAP2 ADD MLOAD PUSH1 0x7 SWAP1 SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x2E58 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2F84 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x2E7C PUSH1 0x1 DUP4 PUSH2 0x3F57 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2E9A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2EDA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 DUP3 SLOAD PUSH1 0x8 SWAP1 SWAP3 MUL ADD SWAP1 DUP2 SSTORE PUSH1 0x1 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x2F03 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x2 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2F18 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2F2D SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2F42 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x5 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x6 DUP1 DUP4 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x7 SWAP2 DUP3 ADD SLOAD SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 PUSH2 0x2F7C DUP2 PUSH2 0x3F6E JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2E5B JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x2FB6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2FEA SWAP3 SWAP2 SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x3006 SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x3022 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x303E SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x5 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x6 ADD SSTORE PUSH1 0xE0 DUP3 ADD MLOAD DUP2 PUSH1 0x7 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP1 POP POP PUSH20 0x0 PUSH4 0x379597E0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x30BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x30CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x30F2 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD GT ISZERO PUSH2 0x2696 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x3123 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x3141 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP2 DUP2 SSTORE SWAP1 PUSH2 0x3161 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x338D JUMP JUMPDEST PUSH2 0x316F PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x338D JUMP JUMPDEST PUSH2 0x317D PUSH1 0x3 DUP4 ADD PUSH1 0x0 PUSH2 0x338D JUMP JUMPDEST PUSH2 0x318B PUSH1 0x4 DUP4 ADD PUSH1 0x0 PUSH2 0x338D JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x5 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0x7 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP POP POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x31B8 DUP3 DUP3 PUSH2 0x1F18 JUMP JUMPDEST PUSH2 0xEF8 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x31F2 PUSH2 0x31AA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x3240 DUP3 DUP3 PUSH2 0x1F18 JUMP JUMPDEST ISZERO PUSH2 0xEF8 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x3277 PUSH2 0x31AA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x3342 JUMPI PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3342 JUMPI DUP3 SLOAD DUP3 SSTORE SWAP2 PUSH1 0x1 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3327 JUMP JUMPDEST POP PUSH2 0x334E SWAP3 SWAP2 POP PUSH2 0x33A7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x3342 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3342 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3372 JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2699 SWAP2 SWAP1 JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x334E JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x33A8 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x472 DUP2 PUSH2 0x4016 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x33D7 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 GT ISZERO PUSH2 0x33F4 JUMPI PUSH2 0x33F4 PUSH2 0x4000 JUMP JUMPDEST DUP2 DUP4 MUL PUSH1 0x40 MLOAD DUP4 DUP3 DUP3 ADD ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH2 0x3413 JUMPI PUSH2 0x3413 PUSH2 0x4000 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP5 DUP2 MSTORE DUP4 DUP2 ADD SWAP3 POP DUP7 DUP5 ADD DUP3 DUP9 ADD DUP6 ADD DUP10 LT ISZERO PUSH2 0x3431 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP7 SWAP3 POP JUMPDEST DUP6 DUP4 LT ISZERO PUSH2 0x3453 JUMPI DUP1 CALLDATALOAD DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 DUP5 ADD PUSH2 0x3435 JUMP JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3474 JUMPI DUP4 DUP5 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x347F DUP2 PUSH2 0x4016 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x348F DUP2 PUSH2 0x4016 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x349F DUP2 PUSH2 0x4016 JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x34AF DUP2 PUSH2 0x4016 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x34CB JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x34E3 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x34FC JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x350E DUP2 PUSH2 0x4016 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x352A JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0xE92 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x356C JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x358F JUMPI PUSH2 0x358F PUSH2 0x4000 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 MLOAD DUP2 MSTORE PUSH2 0x35A3 PUSH1 0x20 DUP6 ADD PUSH2 0x33BC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP5 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0xE0 DUP3 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x3609 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP8 CALLDATALOAD SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3627 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x3633 DUP12 DUP4 DUP13 ADD PUSH2 0x33C7 JUMP JUMPDEST SWAP8 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3648 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x3654 DUP12 DUP4 DUP13 ADD PUSH2 0x33C7 JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3669 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x3675 DUP12 DUP4 DUP13 ADD PUSH2 0x33C7 JUMP JUMPDEST SWAP6 POP PUSH1 0x80 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x368A JUMPI DUP5 DUP6 REVERT JUMPDEST POP PUSH2 0x3697 DUP11 DUP3 DUP12 ADD PUSH2 0x33C7 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 DUP9 ADD CALLDATALOAD SWAP2 POP PUSH1 0xC0 DUP9 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x36C6 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x36E9 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x370D JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x3719 DUP7 DUP3 DUP8 ADD PUSH2 0x33C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3737 JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x375F JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xE92 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD DUP4 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x379E JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3782 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP4 DUP4 MSTORE DUP1 DUP4 KECCAK256 DUP4 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x379E JUMPI DUP2 SLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 PUSH1 0x1 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x37BF JUMP JUMPDEST ISZERO ISZERO SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 MLOAD DUP5 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP2 PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x3801 DUP3 DUP7 ADD DUP3 PUSH2 0x376F JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x381B DUP3 DUP3 PUSH2 0x376F JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x3835 DUP3 DUP3 PUSH2 0x376F JUMP JUMPDEST SWAP2 POP POP PUSH1 0x80 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x80 DUP7 ADD MSTORE PUSH2 0x384F DUP3 DUP3 PUSH2 0x376F JUMP JUMPDEST SWAP2 POP POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP4 ADD MLOAD PUSH2 0x3878 PUSH1 0xE0 DUP7 ADD DUP3 PUSH2 0x37DB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xE92 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x376F JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP4 SWAP1 SWAP4 AND DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x29 SWAP1 DUP3 ADD MSTORE PUSH32 0x736F727465645B695D206973206E6F742067726561746572207468616E206C61 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7374566973697465640000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xB SWAP1 DUP3 ADD MSTORE PUSH32 0x6E6F7420656C6563746564000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x647920696E697469616C697A6564000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1E SWAP1 DUP3 ADD MSTORE PUSH32 0x436F6E74726163742073686F756C6420626520696E697469616C697A65640000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x4D656469616E2063616E2774206265207A65726F000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x41737365744964206E6F74206D61746368696E67000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x37 SWAP1 DUP3 ADD MSTORE PUSH32 0x50726F706F73656420416C7465726E61746520626C6F636B206973206964656E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x746963616C20746F2070726F706F73656420626C6F636B000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x19 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B652062656C6F77206D696E696D756D207374616B6500000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x21 SWAP1 DUP3 ADD MSTORE PUSH32 0x546F74616C207374616B652072657665616C656420646F65736E74206D617463 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6800000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xE92 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x37E1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 MSTORE PUSH2 0x3D52 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x37E1 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3D64 DUP2 DUP8 PUSH2 0x376F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3D78 DUP2 DUP7 PUSH2 0x376F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3D8C DUP2 DUP6 PUSH2 0x376F JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP12 DUP4 MSTORE DUP11 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3DE4 DUP2 DUP5 ADD DUP12 PUSH2 0x376F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3DF8 DUP2 DUP11 PUSH2 0x376F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3E0C DUP2 DUP10 PUSH2 0x376F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x3E20 DUP2 DUP9 PUSH2 0x376F JUMP JUMPDEST PUSH1 0xC0 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0xE0 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH2 0x100 SWAP1 SWAP2 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP9 DUP3 MSTORE DUP8 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0xE0 PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x3E62 PUSH1 0xE0 DUP4 ADD DUP9 PUSH2 0x37A9 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3E74 DUP2 DUP9 PUSH2 0x37A9 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3E88 DUP2 DUP8 PUSH2 0x37A9 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x3E9C DUP2 DUP7 PUSH2 0x37A9 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xC0 DUP4 ADD MSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x40 DUP6 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x3F1F JUMPI PUSH2 0x3F1F PUSH2 0x3FD4 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3F33 JUMPI PUSH2 0x3F33 PUSH2 0x3FEA JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x3F52 JUMPI PUSH2 0x3F52 PUSH2 0x3FD4 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x3F69 JUMPI PUSH2 0x3F69 PUSH2 0x3FD4 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x3F7D JUMPI PUSH2 0x3F7D PUSH2 0x3FD4 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x3F99 JUMPI PUSH2 0x3F99 PUSH2 0x3FD4 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 EQ ISZERO PUSH2 0x3FB7 JUMPI PUSH2 0x3FB7 PUSH2 0x3FD4 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3FCF JUMPI PUSH2 0x3FCF PUSH2 0x3FEA JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2699 JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 0xD1 DELEGATECALL 0xB9 NOT REVERT DUP8 SWAP15 0x21 0xDA 0xD 0x4A 0xD9 PUSH4 0x596FA341 0xD4 PUSH8 0x80215D324CAAF430 MUL DUP8 AND 0xC9 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "370:11602:8:-:0;;;;;;;;;;;;-1:-1:-1;216:42:7;2408:4:0;247:10:7;216;:42::i;:::-;370:11602:8;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;6952:224::-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:12;;;;7096:4;7064:12;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;;;;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;3867:137::-;3945:4;3968:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;586:96:3:-;665:10;586:96;:::o;370:11602:8:-;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:25114:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "76:80:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "86:22:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "101:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "95:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "95:13:29" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "86:5:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "144:5:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "117:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "117:33:29" - }, - "nodeType": "YulExpressionStatement", - "src": "117:33:29" - } - ] - }, - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "55:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "66:5:29", - "type": "" - } - ], - "src": "14:142:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "231:856:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "280:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "289:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "296:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "282:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "282:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "282:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "259:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "267:4:29", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "255:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "255:17:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "274:3:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "251:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "251:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "244:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "244:35:29" - }, - "nodeType": "YulIf", - "src": "241:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "313:30:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "336:6:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "323:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "323:20:29" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "317:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "352:14:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "362:4:29", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "356:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "375:28:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "385:18:29", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "379:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "426:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "428:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "428:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "428:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "418:2:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "422:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "415:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "415:10:29" - }, - "nodeType": "YulIf", - "src": "412:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "457:21:29", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "471:2:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "475:2:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "467:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "467:11:29" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "461:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "487:23:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "507:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "501:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "501:9:29" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "491:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "519:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "545:6:29" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "553:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "541:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "541:15:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "558:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "537:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "537:24:29" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "523:10:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "620:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "622:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "622:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "622:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "579:10:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "591:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "576:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "576:18:29" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "599:10:29" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "611:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "596:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "596:22:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "573:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "573:46:29" - }, - "nodeType": "YulIf", - "src": "570:2:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "658:2:29", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "662:10:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "651:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "651:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "651:22:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "682:17:29", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "693:6:29" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "686:3:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "715:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "723:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "708:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "708:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "708:18:29" - }, - { - "nodeType": "YulAssignment", - "src": "735:22:29", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "746:6:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "754:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "742:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "742:15:29" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "735:3:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "766:26:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "781:6:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "789:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "777:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "777:15:29" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "770:3:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "838:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "847:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "854:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "840:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "840:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "840:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "815:6:29" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "823:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "811:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "811:15:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "828:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "807:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "807:24:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "833:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "804:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "804:33:29" - }, - "nodeType": "YulIf", - "src": "801:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "871:14:29", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "880:5:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "875:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "939:118:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "960:3:29" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "978:3:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "965:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "965:17:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "953:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "953:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "953:30:29" - }, - { - "nodeType": "YulAssignment", - "src": "996:19:29", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1007:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1012:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1003:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1003:12:29" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "996:3:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1028:19:29", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1039:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1044:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1035:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1035:12:29" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1028:3:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "905:1:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "908:2:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "902:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "902:9:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "912:18:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "914:14:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "923:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "926:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "919:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "919:9:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "914:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "898:3:29", - "statements": [] - }, - "src": "894:163:29" - }, - { - "nodeType": "YulAssignment", - "src": "1066:15:29", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1075:6:29" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1066:5:29" - } - ] - } - ] - }, - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "205:6:29", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "213:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "221:5:29", - "type": "" - } - ], - "src": "161:926:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1213:568:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1260:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1269:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1277:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1262:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1262:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1262:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1234:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1243:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1230:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1230:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1255:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1226:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1226:33:29" - }, - "nodeType": "YulIf", - "src": "1223:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1295:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1321:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1308:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1308:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1299:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1367:5:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "1340:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "1340:33:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1340:33:29" - }, - { - "nodeType": "YulAssignment", - "src": "1382:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1392:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1382:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1406:47:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1438:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1449:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1434:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1434:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1421:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1421:32:29" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "1410:7:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "1489:7:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "1462:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "1462:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1462:35:29" - }, - { - "nodeType": "YulAssignment", - "src": "1506:17:29", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "1516:7:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1506:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1532:47:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1564:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1575:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1560:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1560:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1547:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1547:32:29" - }, - "variables": [ - { - "name": "value_2", - "nodeType": "YulTypedName", - "src": "1536:7:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_2", - "nodeType": "YulIdentifier", - "src": "1615:7:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "1588:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "1588:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1588:35:29" - }, - { - "nodeType": "YulAssignment", - "src": "1632:17:29", - "value": { - "name": "value_2", - "nodeType": "YulIdentifier", - "src": "1642:7:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1632:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1658:47:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1690:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1701:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1686:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1686:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1673:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1673:32:29" - }, - "variables": [ - { - "name": "value_3", - "nodeType": "YulTypedName", - "src": "1662:7:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_3", - "nodeType": "YulIdentifier", - "src": "1741:7:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "1714:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "1714:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1714:35:29" - }, - { - "nodeType": "YulAssignment", - "src": "1758:17:29", - "value": { - "name": "value_3", - "nodeType": "YulIdentifier", - "src": "1768:7:29" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1758:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1155:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1166:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1178:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1186:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1194:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1202:6:29", - "type": "" - } - ], - "src": "1092:689:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1856:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1902:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1911:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1919:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1904:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1904:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1904:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1877:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1886:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1873:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1873:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1898:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1869:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1869:32:29" - }, - "nodeType": "YulIf", - "src": "1866:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1937:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1960:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1947:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1947:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1937:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1822:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1833:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1845:6:29", - "type": "" - } - ], - "src": "1786:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2062:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2108:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2117:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2125:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2110:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2110:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2110:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2083:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2092:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2079:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2079:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2104:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2075:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2075:32:29" - }, - "nodeType": "YulIf", - "src": "2072:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2143:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2159:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2153:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "2153:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2143:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2028:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2039:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2051:6:29", - "type": "" - } - ], - "src": "1981:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2267:240:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2313:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2322:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2330:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2315:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2315:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2315:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2288:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2297:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2284:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2284:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2309:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2280:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2280:32:29" - }, - "nodeType": "YulIf", - "src": "2277:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2348:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2371:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2358:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2358:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2348:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2390:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2420:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2431:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2416:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2416:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2403:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2403:32:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2394:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2471:5:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "2444:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "2444:33:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2444:33:29" - }, - { - "nodeType": "YulAssignment", - "src": "2486:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2496:5:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2486:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2225:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2236:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2248:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2256:6:29", - "type": "" - } - ], - "src": "2180:327:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2581:283:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2627:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2636:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2644:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2629:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2629:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2629:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2602:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2611:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2598:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2598:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2623:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2594:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2594:32:29" - }, - "nodeType": "YulIf", - "src": "2591:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2662:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2688:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2675:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2675:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2666:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2808:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2817:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2825:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2810:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2810:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2810:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2720:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2731:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2738:66:29", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2727:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2727:78:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2717:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2717:89:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2710:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2710:97:29" - }, - "nodeType": "YulIf", - "src": "2707:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2843:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2853:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2843:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2547:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2558:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2570:6:29", - "type": "" - } - ], - "src": "2512:352:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2974:815:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2984:13:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2994:3:29", - "type": "", - "value": "256" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "2988:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3042:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3051:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3059:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3044:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3044:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3044:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3017:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3026:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3013:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3013:23:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3038:2:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3009:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3009:32:29" - }, - "nodeType": "YulIf", - "src": "3006:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3077:23:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3097:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3091:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3091:9:29" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "3081:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3109:33:29", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3131:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3139:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3127:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3127:15:29" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "3113:10:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3217:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "3219:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "3219:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3219:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3160:10:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3172:18:29", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3157:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "3157:34:29" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3196:10:29" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3208:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3193:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "3193:22:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "3154:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "3154:62:29" - }, - "nodeType": "YulIf", - "src": "3151:2:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3255:2:29", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3259:10:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3248:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3248:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3248:22:29" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3286:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3300:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3294:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3294:16:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3279:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3279:32:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3279:32:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3331:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3339:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3327:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3327:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3380:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3391:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3376:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3376:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "3344:31:29" - }, - "nodeType": "YulFunctionCall", - "src": "3344:51:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3320:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3320:76:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3320:76:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3416:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3424:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3412:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3412:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3439:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3450:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3435:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3435:18:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3429:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3429:25:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3405:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3405:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3405:50:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3475:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3483:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3471:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3471:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3498:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3509:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3494:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3494:18:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3488:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3488:25:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3464:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3464:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3464:50:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3534:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3542:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3530:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3530:16:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3558:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3569:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3554:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3554:19:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3548:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3548:26:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3523:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3523:52:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3523:52:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3595:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3603:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3591:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3591:16:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3619:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3630:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3615:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3615:19:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3609:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3609:26:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3584:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3584:52:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3584:52:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3656:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3664:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3652:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3652:16:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3680:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3691:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3676:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3676:19:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3670:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3670:26:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3645:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3645:52:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3645:52:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3717:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3725:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3713:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3713:16:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3741:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3752:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3737:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3737:19:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3731:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3731:26:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3706:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3706:52:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3706:52:29" - }, - { - "nodeType": "YulAssignment", - "src": "3767:16:29", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3777:6:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3767:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Staker_$5594_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2940:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2951:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2963:6:29", - "type": "" - } - ], - "src": "2869:920:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3864:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3910:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3919:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3927:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3912:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3912:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3912:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3885:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3894:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3881:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3881:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3906:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3877:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3877:32:29" - }, - "nodeType": "YulIf", - "src": "3874:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "3945:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3968:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3955:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "3955:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3945:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3830:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3841:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3853:6:29", - "type": "" - } - ], - "src": "3794:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4070:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4116:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4125:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4133:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4118:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4118:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4118:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4091:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4100:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4087:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4087:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4112:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4083:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4083:32:29" - }, - "nodeType": "YulIf", - "src": "4080:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "4151:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4167:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4161:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4161:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4151:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4036:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4047:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4059:6:29", - "type": "" - } - ], - "src": "3989:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4275:240:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4321:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4330:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4338:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4323:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4323:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4323:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4296:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4305:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4292:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4292:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4317:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4288:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4288:32:29" - }, - "nodeType": "YulIf", - "src": "4285:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "4356:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4379:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4366:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "4366:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4356:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4398:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4428:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4439:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4424:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4424:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4411:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "4411:32:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4402:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4479:5:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "4452:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "4452:33:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4452:33:29" - }, - { - "nodeType": "YulAssignment", - "src": "4494:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4504:5:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4494:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4233:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4244:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4256:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4264:6:29", - "type": "" - } - ], - "src": "4188:327:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4792:1057:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4839:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "4848:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "4856:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4841:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4841:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4841:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4813:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4822:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4809:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4809:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4834:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4805:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4805:33:29" - }, - "nodeType": "YulIf", - "src": "4802:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "4874:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4897:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4884:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "4884:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4874:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4916:46:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4947:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4958:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4943:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4943:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4930:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "4930:32:29" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4920:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4971:28:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4981:18:29", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4975:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5035:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5043:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5028:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5028:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5028:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5014:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5022:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5011:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5011:14:29" - }, - "nodeType": "YulIf", - "src": "5008:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "5061:77:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5110:9:29" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5121:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5106:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5106:22:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5130:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "5071:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "5071:67:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5061:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5147:48:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5180:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5191:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5176:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5176:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5163:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "5163:32:29" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "5151:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5224:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5233:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5241:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5226:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5226:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5226:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "5210:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5220:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5207:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5207:16:29" - }, - "nodeType": "YulIf", - "src": "5204:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "5259:79:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5308:9:29" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "5319:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5304:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5304:24:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5330:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "5269:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "5269:69:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5259:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5347:48:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5380:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5391:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5376:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5376:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5363:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "5363:32:29" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "5351:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5424:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5433:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5441:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5426:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5426:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5426:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "5410:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5420:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5407:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5407:16:29" - }, - "nodeType": "YulIf", - "src": "5404:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "5459:79:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5508:9:29" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "5519:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5504:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5504:24:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5530:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "5469:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "5469:69:29" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "5459:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5547:49:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5580:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5591:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5576:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5576:19:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5563:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "5563:33:29" - }, - "variables": [ - { - "name": "offset_3", - "nodeType": "YulTypedName", - "src": "5551:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5625:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5634:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5642:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5627:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5627:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5627:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "5611:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5621:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5608:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5608:16:29" - }, - "nodeType": "YulIf", - "src": "5605:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "5660:79:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5709:9:29" - }, - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "5720:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5705:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5705:24:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5731:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "5670:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "5670:69:29" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5660:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5748:43:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5775:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5786:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5771:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5771:19:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5758:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "5758:33:29" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "5748:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5800:43:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5827:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5838:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5823:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5823:19:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5810:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "5810:33:29" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "5800:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4710:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4721:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4733:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4741:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4749:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "4757:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "4765:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "4773:6:29", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "4781:6:29", - "type": "" - } - ], - "src": "4520:1329:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5941:171:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5987:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5996:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6004:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5989:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5989:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5989:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5962:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5971:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5958:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5958:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5983:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5954:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5954:32:29" - }, - "nodeType": "YulIf", - "src": "5951:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "6022:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6045:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6032:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6032:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6022:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6064:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6091:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6102:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6087:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6087:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6074:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6074:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6064:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5899:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5910:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5922:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5930:6:29", - "type": "" - } - ], - "src": "5854:258:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6246:381:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6292:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6301:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6309:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6294:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6294:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6294:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6267:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6276:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6263:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6263:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6288:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6259:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6259:32:29" - }, - "nodeType": "YulIf", - "src": "6256:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "6327:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6350:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6337:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6337:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6327:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6369:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6396:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6407:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6392:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6392:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6379:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6379:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6369:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6420:46:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6451:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6462:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6447:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6447:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6434:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6434:32:29" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6424:6:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6509:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6518:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6526:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6511:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6511:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6511:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6481:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6489:18:29", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6478:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "6478:30:29" - }, - "nodeType": "YulIf", - "src": "6475:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "6544:77:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6593:9:29" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6604:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6589:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6589:22:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6613:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "6554:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "6554:67:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6544:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_array$_t_uint256_$dyn_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6196:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6207:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6219:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6227:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6235:6:29", - "type": "" - } - ], - "src": "6117:510:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6736:222:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6782:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6791:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6799:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6784:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6784:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6784:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6757:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6766:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6753:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6753:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6778:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6749:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6749:32:29" - }, - "nodeType": "YulIf", - "src": "6746:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "6817:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6840:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6827:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6827:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6817:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6859:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6886:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6897:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6882:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6882:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6869:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6869:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6859:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6910:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6937:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6948:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6933:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6933:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6920:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6920:32:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6910:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6686:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6697:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6709:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6717:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6725:6:29", - "type": "" - } - ], - "src": "6632:326:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7042:214:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7088:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7097:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7105:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7090:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7090:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7090:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7063:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7072:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7059:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7059:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7084:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7055:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7055:32:29" - }, - "nodeType": "YulIf", - "src": "7052:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7123:29:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7142:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7136:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "7136:16:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7127:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7200:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7209:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7217:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7202:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7202:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7202:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7174:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7185:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7192:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7181:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7181:16:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "7171:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "7171:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "7164:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7164:35:29" - }, - "nodeType": "YulIf", - "src": "7161:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "7235:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7245:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7235:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7008:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "7019:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7031:6:29", - "type": "" - } - ], - "src": "6963:293:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7328:376:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7338:26:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7358:5:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7352:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "7352:12:29" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7342:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7380:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7385:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7373:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7373:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7373:19:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7401:14:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7411:4:29", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "7405:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7424:19:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7435:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7440:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7431:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7431:12:29" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7424:3:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7452:28:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7470:5:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7477:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7466:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7466:14:29" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "7456:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7489:12:29", - "value": { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7498:3:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "7493:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7559:120:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7580:3:29" - }, - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "7591:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7585:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "7585:13:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7573:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7573:26:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7573:26:29" - }, - { - "nodeType": "YulAssignment", - "src": "7612:19:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7623:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7628:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7619:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7619:12:29" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7612:3:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7644:25:29", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "7658:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7666:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7654:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7654:15:29" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "7644:6:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7521:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7524:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "7518:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "7518:13:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "7532:18:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7534:14:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7543:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7546:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7539:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7539:9:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7534:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "7514:3:29", - "statements": [] - }, - "src": "7510:169:29" - }, - { - "nodeType": "YulAssignment", - "src": "7688:10:29", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7695:3:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7688:3:29" - } - ] - } - ] - }, - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7305:5:29", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7312:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7320:3:29", - "type": "" - } - ], - "src": "7261:443:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7784:406:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7794:26:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7814:5:29" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "7808:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "7808:12:29" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7798:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7836:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7841:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7829:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7829:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7829:19:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7857:14:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7867:4:29", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "7861:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7880:19:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7891:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7896:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7887:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7887:12:29" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7880:3:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7915:3:29" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7920:5:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7908:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7908:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7908:18:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7935:32:29", - "value": { - "arguments": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7959:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7964:2:29" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "7949:9:29" - }, - "nodeType": "YulFunctionCall", - "src": "7949:18:29" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "7939:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7976:12:29", - "value": { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7985:3:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "7980:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8046:119:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8067:3:29" - }, - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "8078:6:29" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "8072:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "8072:13:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8060:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8060:26:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8060:26:29" - }, - { - "nodeType": "YulAssignment", - "src": "8099:19:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8110:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8115:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8106:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8106:12:29" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8099:3:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8131:24:29", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "8145:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8153:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8141:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8141:14:29" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "8131:6:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8008:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8011:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "8005:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "8005:13:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "8019:18:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8021:14:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8030:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8033:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8026:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8026:9:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8021:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "8001:3:29", - "statements": [] - }, - "src": "7997:168:29" - }, - { - "nodeType": "YulAssignment", - "src": "8174:10:29", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8181:3:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8174:3:29" - } - ] - } - ] - }, - "name": "abi_encode_t_array$_t_uint256_$dyn_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7761:5:29", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7768:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7776:3:29", - "type": "" - } - ], - "src": "7709:481:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8238:50:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8255:3:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8274:5:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8267:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8267:13:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8260:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8260:21:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8248:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8248:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8248:34:29" - } - ] - }, - "name": "abi_encode_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8222:5:29", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8229:3:29", - "type": "" - } - ], - "src": "8195:93:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8352:1030:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8362:16:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8372:6:29", - "type": "", - "value": "0x0100" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "8366:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8394:3:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8405:5:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8399:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "8399:12:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8387:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8387:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8387:25:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8421:43:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8451:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8458:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8447:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8447:16:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8441:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "8441:23:29" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "8425:12:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8484:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8489:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8480:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8480:14:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8496:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8473:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8473:26:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8473:26:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8508:74:29", - "value": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "8555:12:29" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8573:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8578:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8569:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8569:12:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "8520:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "8520:62:29" - }, - "variables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8512:4:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8591:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8623:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8630:4:29", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8619:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8619:16:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8613:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "8613:23:29" - }, - "variables": [ - { - "name": "memberValue0_1", - "nodeType": "YulTypedName", - "src": "8595:14:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8656:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8661:4:29", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8652:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8652:14:29" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8672:4:29" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8678:3:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8668:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8668:14:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8645:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8645:38:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8645:38:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8692:70:29", - "value": { - "arguments": [ - { - "name": "memberValue0_1", - "nodeType": "YulIdentifier", - "src": "8741:14:29" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8757:4:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "8706:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "8706:56:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "8696:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8771:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8803:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8810:4:29", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8799:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8799:16:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8793:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "8793:23:29" - }, - "variables": [ - { - "name": "memberValue0_2", - "nodeType": "YulTypedName", - "src": "8775:14:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8836:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8841:4:29", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8832:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8832:14:29" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "8852:6:29" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8860:3:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8848:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8848:16:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8825:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8825:40:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8825:40:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8874:72:29", - "value": { - "arguments": [ - { - "name": "memberValue0_2", - "nodeType": "YulIdentifier", - "src": "8923:14:29" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "8939:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "8888:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "8888:58:29" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "8878:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8955:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8987:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8994:4:29", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8983:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8983:16:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8977:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "8977:23:29" - }, - "variables": [ - { - "name": "memberValue0_3", - "nodeType": "YulTypedName", - "src": "8959:14:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9020:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9025:4:29", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9016:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9016:14:29" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "9036:6:29" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9044:3:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9032:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9032:16:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9009:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9009:40:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9009:40:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9058:72:29", - "value": { - "arguments": [ - { - "name": "memberValue0_3", - "nodeType": "YulIdentifier", - "src": "9107:14:29" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "9123:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "9072:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "9072:58:29" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "9062:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9150:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9155:4:29", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9146:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9146:14:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9172:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9179:4:29", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9168:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9168:16:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "9162:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "9162:23:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9139:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9139:47:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9139:47:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9206:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9211:4:29", - "type": "", - "value": "0xc0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9202:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9202:14:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9228:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9235:4:29", - "type": "", - "value": "0xc0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9224:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9224:16:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "9218:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "9218:23:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9195:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9195:47:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9195:47:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9251:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9283:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9290:4:29", - "type": "", - "value": "0xe0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9279:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9279:16:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "9273:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "9273:23:29" - }, - "variables": [ - { - "name": "memberValue0_4", - "nodeType": "YulTypedName", - "src": "9255:14:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memberValue0_4", - "nodeType": "YulIdentifier", - "src": "9323:14:29" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9343:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9348:4:29", - "type": "", - "value": "0xe0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9339:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9339:14:29" - } - ], - "functionName": { - "name": "abi_encode_t_bool", - "nodeType": "YulIdentifier", - "src": "9305:17:29" - }, - "nodeType": "YulFunctionCall", - "src": "9305:49:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9305:49:29" - }, - { - "nodeType": "YulAssignment", - "src": "9363:13:29", - "value": { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "9370:6:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9363:3:29" - } - ] - } - ] - }, - "name": "abi_encode_t_struct$_Block", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8329:5:29", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8336:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8344:3:29", - "type": "" - } - ], - "src": "8293:1089:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9488:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9498:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9510:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9521:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9506:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9506:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9498:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9540:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9555:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9563:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9551:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9551:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9533:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9533:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9533:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9457:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9468:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9479:4:29", - "type": "" - } - ], - "src": "9387:226:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9769:116:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9786:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9797:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9779:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9779:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9779:21:29" - }, - { - "nodeType": "YulAssignment", - "src": "9809:70:29", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9852:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9864:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9875:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9860:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9860:18:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "9817:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "9817:62:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9809:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9738:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9749:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9760:4:29", - "type": "" - } - ], - "src": "9618:267:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9985:92:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9995:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10007:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10018:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10003:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10003:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9995:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10037:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10062:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10055:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10055:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10048:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10048:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10030:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10030:41:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10030:41:29" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9954:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9965:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9976:4:29", - "type": "" - } - ], - "src": "9890:187:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10183:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10193:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10205:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10216:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10201:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10201:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10193:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10235:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10246:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10228:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10228:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10228:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10152:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10163:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10174:4:29", - "type": "" - } - ], - "src": "10082:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10385:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10395:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10407:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10418:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10403:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10403:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10395:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10437:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10452:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10460:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10448:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10448:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10430:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10430:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10430:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IJobManager_$4716__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10354:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10365:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10376:4:29", - "type": "" - } - ], - "src": "10264:246:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10638:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10648:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10660:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10671:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10656:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10656:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10648:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10690:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10705:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10713:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10701:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10701:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10683:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10683:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10683:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStakeManager_$4809__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10607:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10618:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10629:4:29", - "type": "" - } - ], - "src": "10515:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10891:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10901:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10913:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10924:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10909:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10909:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10901:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10943:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10958:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10966:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10954:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10954:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10936:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10936:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10936:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStateManager_$4822__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10860:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10871:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10882:4:29", - "type": "" - } - ], - "src": "10768:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11143:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11153:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11165:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11176:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11161:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11161:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11153:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11195:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11210:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11218:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11206:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11206:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11188:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11188:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11188:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IVoteManager_$4903__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11112:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11123:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11134:4:29", - "type": "" - } - ], - "src": "11021:247:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11417:130:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11427:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11439:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11450:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11435:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11435:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11427:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11469:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11484:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11492:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11480:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11480:17:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11462:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11462:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11462:36:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11518:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11529:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11514:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11514:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11534:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11507:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11507:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11507:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_rational_10_by_1_t_bytes32__to_t_uint8_t_bytes32__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11378:9:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11389:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11397:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11408:4:29", - "type": "" - } - ], - "src": "11273:274:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11724:173:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11734:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11746:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11757:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11742:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11742:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11734:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11776:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11791:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11799:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11787:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11787:17:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11769:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11769:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11769:36:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11825:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11836:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11821:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11821:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11841:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11814:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11814:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11814:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11868:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11879:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11864:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11864:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "11884:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11857:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11857:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11857:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_rational_10_by_1_t_uint256_t_bytes32__to_t_uint8_t_uint256_t_bytes32__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11677:9:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "11688:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11696:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11704:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11715:4:29", - "type": "" - } - ], - "src": "11552:345:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12076:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12093:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12104:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12086:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12086:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12086:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12127:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12138:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12123:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12123:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12143:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12116:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12116:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12116:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12166:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12177:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12162:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12162:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12182:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12155:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12155:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12155:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12237:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12248:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12233:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12233:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12253:17:29", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12226:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12226:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12226:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "12280:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12292:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12303:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12288:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12288:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12280:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12053:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12067:4:29", - "type": "" - } - ], - "src": "11902:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12492:231:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12509:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12520:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12502:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12502:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12502:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12543:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12554:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12539:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12539:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12559:2:29", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12532:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12532:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12532:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12582:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12593:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12578:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12578:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12598:34:29", - "type": "", - "value": "sorted[i] is not greater than la" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12571:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12571:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12571:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12653:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12664:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12649:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12649:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12669:11:29", - "type": "", - "value": "stVisited" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12642:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12642:39:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12642:39:29" - }, - { - "nodeType": "YulAssignment", - "src": "12690:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12702:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12713:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12698:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12698:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12690:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1ec6875020a1d7aab0ee87c86d27f1e233ed357292ee2698d9d8c4f8dc8faf8f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12469:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12483:4:29", - "type": "" - } - ], - "src": "12318:405:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12902:161:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12919:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12930:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12912:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12912:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12912:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12953:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12964:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12949:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12949:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12969:2:29", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12942:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12942:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12942:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12992:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13003:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12988:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12988:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13008:13:29", - "type": "", - "value": "not elected" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12981:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12981:41:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12981:41:29" - }, - { - "nodeType": "YulAssignment", - "src": "13031:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13043:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13054:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13039:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13039:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13031:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_3a53d0d6126438ff1f7ac8601076ce122aa0d007e64b2d6f4fd42962b5d21f79__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12879:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12893:4:29", - "type": "" - } - ], - "src": "12728:335:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13242:238:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13259:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13270:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13252:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13252:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13252:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13293:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13304:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13289:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13289:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13309:2:29", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13282:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13282:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13282:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13332:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13343:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13328:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13328:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13348:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13321:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13321:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13321:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13403:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13414:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13399:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13399:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13419:18:29", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13392:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13392:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13392:46:29" - }, - { - "nodeType": "YulAssignment", - "src": "13447:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13459:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13470:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13455:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13455:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13447:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13219:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13233:4:29", - "type": "" - } - ], - "src": "13068:412:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13659:236:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13676:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13687:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13669:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13669:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13669:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13710:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13721:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13706:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13706:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13726:2:29", - "type": "", - "value": "46" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13699:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13699:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13699:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13749:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13760:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13745:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13745:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13765:34:29", - "type": "", - "value": "Initializable: contract is alrea" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13738:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13738:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13738:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13820:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13831:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13816:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13816:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13836:16:29", - "type": "", - "value": "dy initialized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13809:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13809:44:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13809:44:29" - }, - { - "nodeType": "YulAssignment", - "src": "13862:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13874:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13885:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13870:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13870:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13862:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13636:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13650:4:29", - "type": "" - } - ], - "src": "13485:410:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14074:180:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14091:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14102:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14084:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14084:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14084:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14125:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14136:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14121:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14121:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14141:2:29", - "type": "", - "value": "30" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14114:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14114:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14114:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14164:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14175:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14160:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14160:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14180:32:29", - "type": "", - "value": "Contract should be initialized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14153:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14153:60:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14153:60:29" - }, - { - "nodeType": "YulAssignment", - "src": "14222:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14234:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14245:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14230:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14230:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14222:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7c4117488a466ed9cd19e8a36d161b8aec71671a9c9bd8fc5f630bc91a173f84__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14051:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14065:4:29", - "type": "" - } - ], - "src": "13900:354:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14433:165:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14450:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14461:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14443:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14443:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14443:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14484:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14495:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14480:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14480:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14500:2:29", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14473:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14473:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14473:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14523:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14534:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14519:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14519:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14539:17:29", - "type": "", - "value": "incorrect epoch" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14512:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14512:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14512:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "14566:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14578:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14589:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14574:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14574:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14566:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14410:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14424:4:29", - "type": "" - } - ], - "src": "14259:339:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14777:176:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14794:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14805:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14787:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14787:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14787:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14828:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14839:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14824:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14824:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14844:2:29", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14817:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14817:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14817:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14867:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14878:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14863:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14863:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14883:28:29", - "type": "", - "value": "ACL: sender not authorized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14856:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14856:56:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14856:56:29" - }, - { - "nodeType": "YulAssignment", - "src": "14921:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14933:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14944:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14929:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14929:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14921:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14754:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14768:4:29", - "type": "" - } - ], - "src": "14603:350:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15132:170:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15149:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15160:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15142:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15142:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15142:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15183:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15194:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15179:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15179:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15199:2:29", - "type": "", - "value": "20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15172:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15172:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15172:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15222:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15233:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15218:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15218:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15238:22:29", - "type": "", - "value": "Median can't be zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15211:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15211:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15211:50:29" - }, - { - "nodeType": "YulAssignment", - "src": "15270:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15282:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15293:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15278:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15278:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15270:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_caba54141c8302d91fc582341a896e0618c7585ad35d02d6bc357749c156dc4f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15109:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15123:4:29", - "type": "" - } - ], - "src": "14958:344:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15481:170:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15498:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15509:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15491:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15491:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15491:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15532:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15543:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15528:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15528:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15548:2:29", - "type": "", - "value": "20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15521:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15521:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15521:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15571:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15582:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15567:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15567:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15587:22:29", - "type": "", - "value": "AssetId not matching" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15560:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15560:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15560:50:29" - }, - { - "nodeType": "YulAssignment", - "src": "15619:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15631:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15642:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15627:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15627:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15619:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_d8502787b53e287151708a5e7afa0877b07e01519c554f40b2a5921a6d13c115__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15458:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15472:4:29", - "type": "" - } - ], - "src": "15307:344:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15830:245:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15847:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15858:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15840:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15840:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15840:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15881:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15892:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15877:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15877:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15897:2:29", - "type": "", - "value": "55" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15870:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15870:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15870:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15920:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15931:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15916:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15916:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15936:34:29", - "type": "", - "value": "Proposed Alternate block is iden" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15909:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15909:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15909:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15991:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16002:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15987:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15987:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16007:25:29", - "type": "", - "value": "tical to proposed block" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15980:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15980:53:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15980:53:29" - }, - { - "nodeType": "YulAssignment", - "src": "16042:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16054:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16065:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16050:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16050:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16042:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e0caad04d64eaccf0f1520337c6a454830add2cfcac5d358ae30ee8051ad8105__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15807:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15821:4:29", - "type": "" - } - ], - "src": "15656:419:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16254:175:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16271:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16282:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16264:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16264:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16264:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16305:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16316:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16301:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16301:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16321:2:29", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16294:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16294:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16294:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16344:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16355:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16340:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16340:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16360:27:29", - "type": "", - "value": "stake below minimum stake" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16333:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16333:55:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16333:55:29" - }, - { - "nodeType": "YulAssignment", - "src": "16397:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16409:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16420:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16405:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16405:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16397:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e207c79d2d176c883fa78b2700e15a84ccf7c71d444ce3f422160c532fe0bb38__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16231:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16245:4:29", - "type": "" - } - ], - "src": "16080:349:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16608:223:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16625:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16636:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16618:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16618:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16618:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16659:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16670:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16655:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16655:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16675:2:29", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16648:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16648:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16648:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16698:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16709:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16694:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16694:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16714:34:29", - "type": "", - "value": "Total stake revealed doesnt matc" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16687:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16687:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16687:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16769:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16780:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16765:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16765:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16785:3:29", - "type": "", - "value": "h" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16758:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16758:31:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16758:31:29" - }, - { - "nodeType": "YulAssignment", - "src": "16798:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16810:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16821:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16806:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16806:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16798:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ecd7c03dd4fefcf0b1a7bf52abee3e5ee96cf728822576b5a1ea0511bb7da846__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16585:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16599:4:29", - "type": "" - } - ], - "src": "16434:397:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17010:165:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17027:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17038:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17020:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17020:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17020:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17061:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17072:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17057:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17057:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17077:2:29", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17050:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17050:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17050:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17100:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17111:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17096:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17096:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "17116:17:29", - "type": "", - "value": "incorrect state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17089:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17089:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17089:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "17143:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17155:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17166:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17151:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17151:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17143:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16987:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17001:4:29", - "type": "" - } - ], - "src": "16836:339:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17354:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17371:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17382:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17364:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17364:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17364:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17405:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17416:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17401:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17401:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17421:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17394:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17394:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17394:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17444:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17455:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17440:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17440:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "17460:34:29", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17433:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17433:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17433:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17515:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17526:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17511:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17511:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "17531:17:29", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17504:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17504:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17504:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "17558:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17570:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17581:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17566:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17566:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17558:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17331:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17345:4:29", - "type": "" - } - ], - "src": "17180:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17743:108:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17760:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17771:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17753:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17753:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17753:21:29" - }, - { - "nodeType": "YulAssignment", - "src": "17783:62:29", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17818:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17830:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17841:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17826:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17826:18:29" - } - ], - "functionName": { - "name": "abi_encode_t_struct$_Block", - "nodeType": "YulIdentifier", - "src": "17791:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "17791:54:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17783:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_struct$_Block_$5615_memory_ptr__to_t_struct$_Block_$5615_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17712:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17723:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17734:4:29", - "type": "" - } - ], - "src": "17596:255:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18237:506:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18254:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18265:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18247:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18247:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18247:22:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18278:69:29", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18319:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18331:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18342:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18327:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18327:19:29" - } - ], - "functionName": { - "name": "abi_encode_t_struct$_Block", - "nodeType": "YulIdentifier", - "src": "18292:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "18292:55:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "18282:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18367:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18378:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18363:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18363:18:29" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "18387:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18395:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18383:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18383:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18356:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18356:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18356:50:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18415:64:29", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18464:6:29" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "18472:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "18429:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "18429:50:29" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "18419:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18499:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18510:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18495:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18495:18:29" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "18519:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18527:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18515:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18515:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18488:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18488:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18488:50:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18547:64:29", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "18596:6:29" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "18604:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "18561:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "18561:50:29" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "18551:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18631:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18642:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18627:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18627:18:29" - }, - { - "arguments": [ - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "18651:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18659:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18647:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18647:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18620:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18620:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18620:50:29" - }, - { - "nodeType": "YulAssignment", - "src": "18679:58:29", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "18722:6:29" - }, - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "18730:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "18687:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "18687:50:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18679:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_struct$_Block_$5615_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_struct$_Block_$5615_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18182:9:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "18193:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "18201:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18209:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18217:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18228:4:29", - "type": "" - } - ], - "src": "17856:887:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18849:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18859:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18871:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18882:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18867:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18867:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18859:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18901:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18912:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18894:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18894:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18894:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18818:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18829:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18840:4:29", - "type": "" - } - ], - "src": "18748:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19087:211:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19097:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19109:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19120:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19105:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19105:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19097:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19139:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "19150:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19132:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19132:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19132:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19177:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19188:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19173:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19173:18:29" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "19197:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19205:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "19193:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19193:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19166:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19166:83:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19166:83:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19269:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19280:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19265:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19265:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "19285:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19258:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19258:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19258:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19040:9:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "19051:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "19059:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "19067:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19078:4:29", - "type": "" - } - ], - "src": "18930:368:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19432:119:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19442:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19454:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19465:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19450:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19450:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19442:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19484:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "19495:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19477:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19477:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19477:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19522:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19533:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19518:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19518:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "19538:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19511:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19511:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19511:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19393:9:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "19404:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "19412:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19423:4:29", - "type": "" - } - ], - "src": "19303:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20081:754:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "20091:13:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20101:3:29", - "type": "", - "value": "288" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "20095:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20120:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "20131:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20113:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20113:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20113:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20158:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20169:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20154:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20154:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "20174:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20147:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20147:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20147:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20201:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20212:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20197:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20197:18:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "20217:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20190:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20190:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20190:30:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20229:76:29", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "20278:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20290:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "20301:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20286:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20286:18:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "20243:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "20243:62:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "20233:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20325:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20336:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20321:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20321:18:29" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "20345:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20353:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20341:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20341:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20314:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20314:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20314:50:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20373:64:29", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "20422:6:29" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "20430:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "20387:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "20387:50:29" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "20377:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20457:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20468:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20453:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20453:19:29" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "20478:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20486:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20474:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20474:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20446:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20446:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20446:51:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20506:64:29", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "20555:6:29" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "20563:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "20520:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "20520:50:29" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "20510:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20590:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20601:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20586:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20586:19:29" - }, - { - "arguments": [ - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "20611:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20619:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20607:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20607:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20579:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20579:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20579:51:29" - }, - { - "nodeType": "YulAssignment", - "src": "20639:58:29", - "value": { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "20682:6:29" - }, - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "20690:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn", - "nodeType": "YulIdentifier", - "src": "20647:34:29" - }, - "nodeType": "YulFunctionCall", - "src": "20647:50:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20639:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20717:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20728:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20713:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20713:19:29" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "20734:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20706:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20706:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20706:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20761:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20772:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20757:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20757:19:29" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "20778:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20750:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20750:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20750:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20805:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20816:3:29", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20801:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20801:19:29" - }, - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "20822:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20794:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20794:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20794:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19986:9:29", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "19997:6:29", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "20005:6:29", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "20013:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "20021:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "20029:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "20037:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "20045:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "20053:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "20061:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "20072:4:29", - "type": "" - } - ], - "src": "19556:1279:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21297:678:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21314:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "21325:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21307:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21307:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21307:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21352:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21363:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21348:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21348:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "21368:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21341:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21341:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21341:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21395:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21406:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21391:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21391:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21411:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21384:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21384:31:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21384:31:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "21424:85:29", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "21481:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21493:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21504:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21489:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21489:19:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_storage", - "nodeType": "YulIdentifier", - "src": "21438:42:29" - }, - "nodeType": "YulFunctionCall", - "src": "21438:71:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "21428:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21529:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21540:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21525:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21525:18:29" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "21549:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21557:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21545:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21545:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21518:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21518:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21518:50:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "21577:72:29", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "21634:6:29" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "21642:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_storage", - "nodeType": "YulIdentifier", - "src": "21591:42:29" - }, - "nodeType": "YulFunctionCall", - "src": "21591:58:29" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "21581:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21669:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21680:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21665:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21665:19:29" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "21690:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21698:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21686:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21686:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21658:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21658:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21658:51:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "21718:72:29", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "21775:6:29" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "21783:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_storage", - "nodeType": "YulIdentifier", - "src": "21732:42:29" - }, - "nodeType": "YulFunctionCall", - "src": "21732:58:29" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "21722:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21810:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21821:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21806:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21806:19:29" - }, - { - "arguments": [ - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "21831:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21839:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21827:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21827:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21799:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21799:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21799:51:29" - }, - { - "nodeType": "YulAssignment", - "src": "21859:66:29", - "value": { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "21910:6:29" - }, - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "21918:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_storage", - "nodeType": "YulIdentifier", - "src": "21867:42:29" - }, - "nodeType": "YulFunctionCall", - "src": "21867:58:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21859:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21945:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21956:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21941:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21941:19:29" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "21962:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21934:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21934:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21934:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_uint256__to_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "21218:9:29", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "21229:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "21237:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "21245:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "21253:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "21261:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "21269:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "21277:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "21288:4:29", - "type": "" - } - ], - "src": "20840:1135:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22137:162:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22147:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22159:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22170:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22155:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "22155:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22147:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22189:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "22200:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22182:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22182:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22182:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22227:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22238:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22223:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "22223:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "22243:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22216:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22216:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22216:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22270:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22281:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22266:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "22266:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "22286:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22259:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22259:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22259:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22090:9:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "22101:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "22109:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22117:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "22128:4:29", - "type": "" - } - ], - "src": "21980:319:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22483:222:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22493:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22505:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22516:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22501:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "22501:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22493:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22536:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "22547:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22529:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22529:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22529:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22574:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22585:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22570:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "22570:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "22590:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22563:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22563:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22563:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22617:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22628:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22613:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "22613:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "22633:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22606:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22606:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22606:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22660:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22671:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22656:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "22656:18:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "22690:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "22683:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22683:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "22676:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22676:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22649:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22649:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22649:50:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_bool__to_t_uint256_t_uint256_t_uint256_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22428:9:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "22439:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "22447:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "22455:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22463:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "22474:4:29", - "type": "" - } - ], - "src": "22304:401:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22951:294:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22961:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22973:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22984:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22969:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "22969:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22961:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23004:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "23015:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22997:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22997:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22997:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23042:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23053:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23038:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23038:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "23058:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23031:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "23031:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "23031:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23085:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23096:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23081:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23081:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "23101:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23074:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "23074:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "23074:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23128:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23139:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23124:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23124:18:29" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "23144:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23117:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "23117:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "23117:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23171:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23182:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23167:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23167:19:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "23188:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23160:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "23160:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "23160:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23215:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23226:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23211:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23211:19:29" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "23232:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23204:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "23204:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "23204:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22880:9:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "22891:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "22899:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "22907:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "22915:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "22923:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22931:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "22942:4:29", - "type": "" - } - ], - "src": "22710:535:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23298:80:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "23325:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "23327:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "23327:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "23327:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "23314:1:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23321:1:29" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "23317:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23317:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "23311:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "23311:13:29" - }, - "nodeType": "YulIf", - "src": "23308:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "23356:16:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "23367:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23370:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23363:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23363:9:29" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "23356:3:29" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "23281:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "23284:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "23290:3:29", - "type": "" - } - ], - "src": "23250:128:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23429:74:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "23452:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "23454:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "23454:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "23454:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23449:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "23442:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "23442:9:29" - }, - "nodeType": "YulIf", - "src": "23439:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "23483:14:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "23492:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23495:1:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "23488:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23488:9:29" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "23483:1:29" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "23414:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "23417:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "23423:1:29", - "type": "" - } - ], - "src": "23383:120:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23560:116:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "23619:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "23621:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "23621:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "23621:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "23591:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "23584:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "23584:9:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "23577:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "23577:17:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23599:1:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23610:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "23606:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23606:6:29" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "23614:1:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "23602:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23602:14:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "23596:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "23596:21:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "23573:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23573:45:29" - }, - "nodeType": "YulIf", - "src": "23570:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "23650:20:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "23665:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23668:1:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "23661:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23661:9:29" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "23650:7:29" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "23539:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "23542:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "23548:7:29", - "type": "" - } - ], - "src": "23508:168:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23730:76:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "23752:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "23754:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "23754:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "23754:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "23746:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23749:1:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "23743:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "23743:8:29" - }, - "nodeType": "YulIf", - "src": "23740:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "23783:17:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "23795:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "23798:1:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "23791:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23791:9:29" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "23783:4:29" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "23712:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "23715:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "23721:4:29", - "type": "" - } - ], - "src": "23681:125:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23858:89:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "23885:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "23887:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "23887:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "23887:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "23878:5:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "23871:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "23871:13:29" - }, - "nodeType": "YulIf", - "src": "23868:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "23916:25:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "23927:5:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23938:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "23934:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23934:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23923:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "23923:18:29" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "23916:3:29" - } - ] - } - ] - }, - "name": "decrement_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "23840:5:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "23850:3:29", - "type": "" - } - ], - "src": "23811:136:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23999:88:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "24030:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "24032:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "24032:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24032:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "24015:5:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24026:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "24022:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "24022:6:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "24012:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "24012:17:29" - }, - "nodeType": "YulIf", - "src": "24009:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "24061:20:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "24072:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24079:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24068:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "24068:13:29" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "24061:3:29" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "23981:5:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "23991:3:29", - "type": "" - } - ], - "src": "23952:135:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24137:130:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "24147:31:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "24166:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24173:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "24162:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "24162:16:29" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "24151:7:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24208:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "24210:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "24210:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24210:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "24193:7:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24202:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "24190:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "24190:17:29" - }, - "nodeType": "YulIf", - "src": "24187:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "24239:22:29", - "value": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "24250:7:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24259:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24246:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "24246:15:29" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "24239:3:29" - } - ] - } - ] - }, - "name": "increment_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "24119:5:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "24129:3:29", - "type": "" - } - ], - "src": "24092:175:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24310:74:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "24333:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "24335:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "24335:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24335:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "24330:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "24323:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "24323:9:29" - }, - "nodeType": "YulIf", - "src": "24320:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "24364:14:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "24373:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "24376:1:29" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "24369:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "24369:9:29" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "24364:1:29" - } - ] - } - ] - }, - "name": "mod_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "24295:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "24298:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "24304:1:29", - "type": "" - } - ], - "src": "24272:112:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24421:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24438:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24441:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24431:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "24431:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24431:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24535:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24538:4:29", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24528:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "24528:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24528:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24559:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24562:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "24552:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "24552:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24552:15:29" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "24389:184:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24610:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24627:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24630:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24620:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "24620:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24620:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24724:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24727:4:29", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24717:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "24717:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24717:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24748:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24751:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "24741:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "24741:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24741:15:29" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "24578:184:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24799:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24816:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24819:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24809:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "24809:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24809:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24913:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24916:4:29", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24906:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "24906:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24906:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24937:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24940:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "24930:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "24930:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "24930:15:29" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "24767:184:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25003:109:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "25090:16:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25099:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25102:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "25092:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "25092:12:29" - }, - "nodeType": "YulExpressionStatement", - "src": "25092:12:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "25026:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "25037:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25044:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "25033:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "25033:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "25023:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "25023:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "25016:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "25016:73:29" - }, - "nodeType": "YulIf", - "src": "25013:2:29" - } - ] - }, - "name": "validator_revert_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "24992:5:29", - "type": "" - } - ], - "src": "24956:156:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n function abi_decode_t_array$_t_uint256_$dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let _3 := 0xffffffffffffffff\n if gt(_1, _3) { panic_error_0x41() }\n let _4 := mul(_1, _2)\n let memPtr := mload(64)\n let newFreePtr := add(add(memPtr, _4), _2)\n if or(gt(newFreePtr, _3), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n let dst := memPtr\n mstore(memPtr, _1)\n dst := add(memPtr, _2)\n let src := add(offset, _2)\n if gt(add(add(offset, _4), _2), end) { revert(array, array) }\n let i := array\n for { } lt(i, _1) { i := add(i, 1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _2)\n src := add(src, _2)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_addresst_addresst_addresst_address(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(value0, value0) }\n let value := calldataload(headStart)\n validator_revert_t_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_t_address(value_1)\n value1 := value_1\n let value_2 := calldataload(add(headStart, 64))\n validator_revert_t_address(value_2)\n value2 := value_2\n let value_3 := calldataload(add(headStart, 96))\n validator_revert_t_address(value_3)\n value3 := value_3\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_t_address(value)\n value1 := value\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Staker_$5594_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 256\n if slt(sub(dataEnd, headStart), _1) { revert(value0, value0) }\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, _1)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, mload(headStart))\n mstore(add(memPtr, 32), abi_decode_t_address_fromMemory(add(headStart, 32)))\n mstore(add(memPtr, 64), mload(add(headStart, 64)))\n mstore(add(memPtr, 96), mload(add(headStart, 96)))\n mstore(add(memPtr, 128), mload(add(headStart, 128)))\n mstore(add(memPtr, 160), mload(add(headStart, 160)))\n mstore(add(memPtr, 192), mload(add(headStart, 192)))\n mstore(add(memPtr, 224), mload(add(headStart, 224)))\n value0 := memPtr\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_t_address(value)\n value1 := value\n }\n function abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 224) { revert(value4, value4) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(value4, value4) }\n value1 := abi_decode_t_array$_t_uint256_$dyn(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(value4, value4) }\n value2 := abi_decode_t_array$_t_uint256_$dyn(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(value4, value4) }\n value3 := abi_decode_t_array$_t_uint256_$dyn(add(headStart, offset_2), dataEnd)\n let offset_3 := calldataload(add(headStart, 128))\n if gt(offset_3, _1) { revert(value4, value4) }\n value4 := abi_decode_t_array$_t_uint256_$dyn(add(headStart, offset_3), dataEnd)\n value5 := calldataload(add(headStart, 160))\n value6 := calldataload(add(headStart, 192))\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_uint256t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(value2, value2) }\n value2 := abi_decode_t_array$_t_uint256_$dyn(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, 0xff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_t_array$_t_uint256_$dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := end\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_t_array$_t_uint256_$dyn_storage(value, pos) -> end\n {\n let length := sload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n mstore(end, value)\n let srcPtr := keccak256(end, _1)\n let i := end\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, 1)\n }\n end := pos\n }\n function abi_encode_t_bool(value, pos)\n {\n mstore(pos, iszero(iszero(value)))\n }\n function abi_encode_t_struct$_Block(value, pos) -> end\n {\n let _1 := 0x0100\n mstore(pos, mload(value))\n let memberValue0 := mload(add(value, 0x20))\n mstore(add(pos, 0x20), _1)\n let tail := abi_encode_t_array$_t_uint256_$dyn(memberValue0, add(pos, _1))\n let memberValue0_1 := mload(add(value, 0x40))\n mstore(add(pos, 0x40), sub(tail, pos))\n let tail_1 := abi_encode_t_array$_t_uint256_$dyn(memberValue0_1, tail)\n let memberValue0_2 := mload(add(value, 0x60))\n mstore(add(pos, 0x60), sub(tail_1, pos))\n let tail_2 := abi_encode_t_array$_t_uint256_$dyn(memberValue0_2, tail_1)\n let memberValue0_3 := mload(add(value, 0x80))\n mstore(add(pos, 0x80), sub(tail_2, pos))\n let tail_3 := abi_encode_t_array$_t_uint256_$dyn(memberValue0_3, tail_2)\n mstore(add(pos, 0xa0), mload(add(value, 0xa0)))\n mstore(add(pos, 0xc0), mload(add(value, 0xc0)))\n let memberValue0_4 := mload(add(value, 0xe0))\n abi_encode_t_bool(memberValue0_4, add(pos, 0xe0))\n end := tail_3\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_t_array$_t_uint256_$dyn(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_contract$_IJobManager_$4716__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IStakeManager_$4809__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IStateManager_$4822__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IVoteManager_$4903__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_rational_10_by_1_t_bytes32__to_t_uint8_t_bytes32__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xff))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_rational_10_by_1_t_uint256_t_bytes32__to_t_uint8_t_uint256_t_bytes32__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, and(value0, 0xff))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_1ec6875020a1d7aab0ee87c86d27f1e233ed357292ee2698d9d8c4f8dc8faf8f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"sorted[i] is not greater than la\")\n mstore(add(headStart, 96), \"stVisited\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3a53d0d6126438ff1f7ac8601076ce122aa0d007e64b2d6f4fd42962b5d21f79__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 11)\n mstore(add(headStart, 64), \"not elected\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"Initializable: contract is alrea\")\n mstore(add(headStart, 96), \"dy initialized\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7c4117488a466ed9cd19e8a36d161b8aec71671a9c9bd8fc5f630bc91a173f84__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 30)\n mstore(add(headStart, 64), \"Contract should be initialized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect epoch\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"ACL: sender not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_caba54141c8302d91fc582341a896e0618c7585ad35d02d6bc357749c156dc4f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Median can't be zero\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_d8502787b53e287151708a5e7afa0877b07e01519c554f40b2a5921a6d13c115__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"AssetId not matching\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e0caad04d64eaccf0f1520337c6a454830add2cfcac5d358ae30ee8051ad8105__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 55)\n mstore(add(headStart, 64), \"Proposed Alternate block is iden\")\n mstore(add(headStart, 96), \"tical to proposed block\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_e207c79d2d176c883fa78b2700e15a84ccf7c71d444ce3f422160c532fe0bb38__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"stake below minimum stake\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ecd7c03dd4fefcf0b1a7bf52abee3e5ee96cf728822576b5a1ea0511bb7da846__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"Total stake revealed doesnt matc\")\n mstore(add(headStart, 96), \"h\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_struct$_Block_$5615_memory_ptr__to_t_struct$_Block_$5615_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_t_struct$_Block(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_struct$_Block_$5615_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_struct$_Block_$5615_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 128)\n let tail_1 := abi_encode_t_struct$_Block(value0, add(headStart, 128))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_array$_t_uint256_$dyn(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n let tail_3 := abi_encode_t_array$_t_uint256_$dyn(value2, tail_2)\n mstore(add(headStart, 96), sub(tail_3, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn(value3, tail_3)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 288\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_t_array$_t_uint256_$dyn(value2, add(headStart, _1))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_array$_t_uint256_$dyn(value3, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n let tail_3 := abi_encode_t_array$_t_uint256_$dyn(value4, tail_2)\n mstore(add(headStart, 160), sub(tail_3, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn(value5, tail_3)\n mstore(add(headStart, 192), value6)\n mstore(add(headStart, 224), value7)\n mstore(add(headStart, 256), value8)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_array$_t_uint256_$dyn_storage_t_uint256__to_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 224)\n let tail_1 := abi_encode_t_array$_t_uint256_$dyn_storage(value2, add(headStart, 224))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_array$_t_uint256_$dyn_storage(value3, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n let tail_3 := abi_encode_t_array$_t_uint256_$dyn_storage(value4, tail_2)\n mstore(add(headStart, 160), sub(tail_3, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_storage(value5, tail_3)\n mstore(add(headStart, 192), value6)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_bool__to_t_uint256_t_uint256_t_uint256_t_bool__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), iszero(iszero(value3)))\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 192)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function decrement_t_uint256(value) -> ret\n {\n if iszero(value) { panic_error_0x11() }\n ret := add(value, not(0))\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function increment_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if eq(value_1, 0xff) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x12()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function validator_revert_t_address(value)\n {\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1774 - }, - { - "length": 20, - "start": 2260 - }, - { - "length": 20, - "start": 4193 - }, - { - "length": 20, - "start": 5654 - }, - { - "length": 20, - "start": 7481 - }, - { - "length": 20, - "start": 8112 - }, - { - "length": 20, - "start": 12408 - } - ] - }, - "contracts/lib/Random.sol": { - "Random": [ - { - "length": 20, - "start": 2871 - }, - { - "length": 20, - "start": 3208 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50600436106101c45760003560e01c80637542ff95116100f9578063d1a4a43d11610097578063e38c7c4211610071578063e38c7c42146103cd578063f25b3f99146103e0578063f8c8765e146103f3578063fae4425d14610406576101c4565b8063d1a4a43d14610394578063d2a4669a146103a7578063d547741f146103ba576101c4565b806392b48411116100d357806392b484111461033e5780639b87f64414610361578063a217fddf14610369578063a27ce1ef14610371576101c4565b80637542ff95146102fe578063828496d61461030657806391d148541461032b576101c4565b806336568abe116101665780633df395a3116101405780633df395a3146102c857806342c1e587146102d05780634e6753b7146102d85780635ce8772f146102eb576101c4565b806336568abe14610282578063378ab9a9146102955780633cd32fd4146102b5576101c4565b80631d69ff9b116101a25780631d69ff9b14610227578063248a9ca31461023a5780632e716fb11461025a5780632f2ff15d1461026f576101c4565b806301ffc9a7146101c957806304c07569146101f257806317d99c0414610212575b600080fd5b6101dc6101d7366004613519565b610419565b6040516101e991906138a7565b60405180910390f35b6102056102003660046134ba565b610477565b6040516101e99190613d2c565b6102256102203660046135ef565b610627565b005b6101dc610235366004613723565b610b11565b61024d6102483660046134ba565b610e99565b6040516101e991906138b2565b610262610eaf565b6040516101e99190613880565b61022561027d3660046134ea565b610ebe565b6102256102903660046134ea565b610efc565b6102a86102a33660046134ba565b610f3e565b6040516101e99190613894565b6102256102c33660046136b4565b610fa3565b61026261153a565b610262611549565b6102256102e63660046136d5565b611558565b6102256102f93660046134ba565b611c7b565b610262611eca565b6103196103143660046134ea565b611ed9565b6040516101e996959493929190613ee4565b6101dc6103393660046134ea565b611f18565b61035161034c3660046136b4565b611f43565b6040516101e99493929190613ec7565b610225611f8c565b61024d61269c565b61038461037f3660046136b4565b6126a1565b6040516101e99493929190613d3f565b6102a86103a23660046136b4565b6128a9565b6102a86103b53660046134ba565b612943565b6102256103c83660046134ea565b6129a6565b61024d6103db3660046134ba565b6129ce565b6103516103ee3660046134ba565b6129e0565b61022561040136600461345f565b612a0a565b6102a86104143660046134ba565b612b0e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061046f575061046f82612b71565b90505b919050565b61047f6132bb565b60008281526004602090815260409182902082516101008101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156104ec57602002820191906000526020600020905b8154815260200190600101908083116104d8575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561054457602002820191906000526020600020905b815481526020019060010190808311610530575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561059c57602002820191906000526020600020905b815481526020019060010190808311610588575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156105f457602002820191906000526020600020905b8154815260200190600101908083116105e0575b5050509183525050600582015460208201526006820154604082015260079091015460ff16151560609091015292915050565b60005460ff166106525760405162461bcd60e51b815260040161064990613a94565b60405180910390fd5b60065460408051630eaf323560e31b8152905189926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561069657600080fd5b505afa1580156106aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ce91906134d2565b81146106ec5760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63c198f8ba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561073057600080fd5b505af4158015610744573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610768919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b957600080fd5b505afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f191906134d2565b811461080f5760405162461bcd60e51b815260040161064990613c98565b6005546040517f6022a4850000000000000000000000000000000000000000000000000000000081526000916001600160a01b031690636022a48590610859903390600401613880565b60206040518083038186803b15801561087157600080fd5b505afa158015610885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a991906134d2565b90506108b6858583610b11565b6108d25760405162461bcd60e51b8152600401610649906139a3565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561091657600080fd5b505af415801561092a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094e91906134d2565b6005546040516371e4cc7f60e11b81526001600160a01b039091169063e3c998fe9061097e9085906004016138b2565b6101006040518083038186803b15801561099757600080fd5b505afa1580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf9190613559565b6040015110156109f15760405162461bcd60e51b815260040161064990613c04565b6040805161010081018252828152602081018b90528082018a9052606081018990526080810188905260a0810187905260055491516371e4cc7f60e11b8152610abe928d929160c08301916001600160a01b03169063e3c998fe90610a5a908b906004016138b2565b6101006040518083038186803b158015610a7357600080fd5b505afa158015610a87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aab9190613559565b6040015181526001602090910152612bbb565b7fee036cc96c88163f353feaa4d497e88baaebeb631f40ad9b8a6d51bb6fad40768a828b8b8b8b8b8b42604051610afd99989796959493929190613dc4565b60405180910390a150505050505050505050565b6000805460ff16610b345760405162461bcd60e51b815260040161064990613a94565b8173__$3b76b38140ea5d8f6a5a565441556589de$__635075dbfb600a600560009054906101000a90046001600160a01b03166001600160a01b031663bc788d466040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9f57600080fd5b505afa158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd791906134d2565b88604051602001610be891906138b2565b604051602081830303815290604052805190602001206040518463ffffffff1660e01b8152600401610c1c939291906138ce565b60206040518083038186803b158015610c3457600080fd5b505af4158015610c48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6c91906134d2565b610c77906001613f0c565b14610c8457506000610e92565b600073__$3b76b38140ea5d8f6a5a565441556589de$__63b07ceab8600a8588604051602001610cb5929190613db6565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610ce89291906138bb565b60206040518083038186803b158015610d0057600080fd5b505af4158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3891906134d2565b90506000610d4b64010000000083613fc0565b6005546040516371e4cc7f60e11b81529192506000916001600160a01b039091169063e3c998fe90610d819089906004016138b2565b6101006040518083038186803b158015610d9a57600080fd5b505afa158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd29190613559565b60409081015160055491516371e4cc7f60e11b81529092506001600160a01b039091169063e3c998fe90610e0a9088906004016138b2565b6101006040518083038186803b158015610e2357600080fd5b505afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b9190613559565b60400151610e6e90640100000000613f38565b610e788284613f38565b1115610e8a5760009350505050610e92565b600193505050505b9392505050565b6000908152600160208190526040909120015490565b6006546001600160a01b031681565b610ed2610eca83610e99565b6103396131aa565b610eee5760405162461bcd60e51b8152600401610649906138e9565b610ef882826131ae565b5050565b610f046131aa565b6001600160a01b0316816001600160a01b031614610f345760405162461bcd60e51b815260040161064990613ccf565b610ef88282613236565b600081815260046020908152604091829020600201805483518184028101840190945280845260609392830182828015610f9757602002820191906000526020600020905b815481526020019060010190808311610f83575b50505050509050919050565b60005460ff16610fc55760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561100957600080fd5b505afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906134d2565b811461105f5760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a357600080fd5b505af41580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561112c57600080fd5b505afa158015611140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116491906134d2565b81146111825760405162461bcd60e51b815260040161064990613c98565b60008481526002602090815260408083203384529091529081902060050154600754915163a6a145d960e01b815290916001600160a01b03169063a6a145d9906111d29088908590600401613db6565b60206040518083038186803b1580156111ea57600080fd5b505afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122291906134d2565b6000868152600260209081526040808320338452909152902054146112595760405162461bcd60e51b815260040161064990613c3b565b600085815260026020818152604080842033855282528084206001810154938101546003918201548b875291909352908420805493949293919291899081106112b257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600001549050600084116112e65760405162461bcd60e51b815260040161064990613b39565b600089815260036020526040902080548591908a90811061131757634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201868154811061134757634e487b7160e01b600052603260045260246000fd5b90600052602060002001541415806113c95750600089815260036020526040902080548491908a90811061138b57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160030186815481106113bb57634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b8061143e5750600089815260036020526040902080548391908a90811061140057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600401868154811061143057634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b1561151757600089815260036020526040812080548a90811061147157634e487b7160e01b600052603260045260246000fd5b60009182526020909120600890910201600701805460ff19169115159190911790556005546040517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630f91ce19906114e090849033908e90600401613d97565b600060405180830381600087803b1580156114fa57600080fd5b505af115801561150e573d6000803e3d6000fd5b5050505061152f565b60405162461bcd60e51b815260040161064990613ba7565b505050505050505050565b6008546001600160a01b031681565b6007546001600160a01b031681565b60005460ff1661157a5760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905185926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156115be57600080fd5b505afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f691906134d2565b81146116145760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b15801561165857600080fd5b505af415801561166c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611690919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116e157600080fd5b505afa1580156116f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171991906134d2565b81146117375760405162461bcd60e51b815260040161064990613c98565b60075460405163a6a145d960e01b81526000916002916001600160a01b039091169063a6a145d99061176f908a908a90600401613db6565b60206040518083038186803b15801561178757600080fd5b505afa15801561179b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bf91906134d2565b6117c99190613f24565b60075460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611801908b908b908601613db6565b60206040518083038186803b15801561181957600080fd5b505afa15801561182d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185191906134d2565b61185b9190613f24565b60075460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611893908c908c908601613db6565b60206040518083038186803b1580156118ab57600080fd5b505afa1580156118bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e391906134d2565b6118ee906003613f38565b6118f89190613f24565b60008981526002602090815260408083203384529091529020805460049091015491925090816119465760008a81526002602090815260408083203384529091529020600501899055611981565b60008a815260026020908152604080832033845290915290206005015489146119815760405162461bcd60e51b815260040161064990613b70565b60005b8851811015611c4c57818982815181106119ae57634e487b7160e01b600052603260045260246000fd5b6020026020010151116119d35760405162461bcd60e51b815260040161064990613946565b8881815181106119f357634e487b7160e01b600052603260045260246000fd5b60200260200101519150600760009054906101000a90046001600160a01b03166001600160a01b0316639c66556f8c8c8c8581518110611a4357634e487b7160e01b600052603260045260246000fd5b60200260200101516040518463ffffffff1660e01b8152600401611a6993929190613eb1565b60206040518083038186803b158015611a8157600080fd5b505afa158015611a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab991906134d2565b611ac39084613f0c565b60008c81526002602081815260408084203385529091529091200154909350158015611aef5750848310155b15611b3d57888181518110611b1457634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028084526040808320338452909452929020909101555b60008b8152600260209081526040808320338452909152902060010154158015611b6657508583115b15611bb457888181518110611b8b57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028352604080822033835290935291909120600101555b60008b8152600260209081526040808320338452909152902060030154158015611bdd57508383115b15611c2b57888181518110611c0257634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028352604080822033835290935291909120600301555b6127105a1015611c3a57611c4c565b80611c4481613f85565b915050611984565b506000998a52600260209081526040808c20338d52909152909920600481019990995590975550505050505050565b60005460ff16611c9d5760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015611ce157600080fd5b505afa158015611cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1991906134d2565b8114611d375760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b158015611d7b57600080fd5b505af4158015611d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db3919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e0457600080fd5b505afa158015611e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3c91906134d2565b8114611e5a5760405162461bcd60e51b815260040161064990613c98565b50506040805160c08101825260008082526020808301828152838501838152606085018481526080860185815260a0870186815298865260028086528887203388529095529690942094518555905160018501555190830155516003820155905160048201559051600590910155565b6005546001600160a01b031681565b60026020818152600093845260408085209091529183529120805460018201549282015460038301546004840154600590940154929493919290919086565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60036020528160005260406000208181548110611f5f57600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60005460ff16611fae5760405162461bcd60e51b815260040161064990613a94565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63d98b3ced6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff257600080fd5b505af4158015612006573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202a91906134d2565b6120348133611f18565b6120505760405162461bcd60e51b815260040161064990613b02565b60065460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561209557600080fd5b505afa1580156120a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd91906134d2565b905060005b600360006120e1600185613f57565b815260208101919091526040016000205460ff82161015612696576003600061210b600185613f57565b81526020019081526020016000208160ff168154811061213b57634e487b7160e01b600052603260045260246000fd5b600091825260209091206007600890920201015460ff16156126845760036000612166600185613f57565b81526020019081526020016000208160ff168154811061219657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600460006001856121b59190613f57565b8152602081019190915260400160002081548155600180830180546121dd9284019190613302565b50600282810180546121f29284019190613302565b50600382810180546122079284019190613302565b506004828101805461221c9284019190613302565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff9092161515919091179055600060038161225c600186613f57565b81526020019081526020016000208260ff168154811061228c57634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102015490507f5ef264ae9101b91bd7117350c5e85901297fa0569e7a3e07eb7ec0a6281529f06122cb600185613f57565b82600360006122db600189613f57565b81526020019081526020016000208560ff168154811061230b57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002016003600060018961232d9190613f57565b81526020019081526020016000208660ff168154811061235d57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016003016003600060018a61237f9190613f57565b81526020019081526020016000208760ff16815481106123af57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016004016003600060018b6123d19190613f57565b81526020019081526020016000208860ff168154811061240157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101426040516124269796959493929190613e43565b60405180910390a160005b60036000612440600187613f57565b81526020019081526020016000208360ff168154811061247057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101805490508160ff1610156125fe576008546001600160a01b03166356350bdf600360006124af600189613f57565b81526020019081526020016000208560ff16815481106124df57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016001018360ff168154811061251257634e487b7160e01b600052603260045260246000fd5b90600052602060002001546003600060018961252e9190613f57565b81526020019081526020016000208660ff168154811061255e57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018460ff168154811061259157634e487b7160e01b600052603260045260246000fd5b90600052602060002001546040518363ffffffff1660e01b81526004016125b9929190613db6565b600060405180830381600087803b1580156125d357600080fd5b505af11580156125e7573d6000803e3d6000fd5b5050505080806125f690613fa0565b915050612431565b506005546040517f746c8b650000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063746c8b659061264a9084908790600401613db6565b600060405180830381600087803b15801561266457600080fd5b505af1158015612678573d6000803e3d6000fd5b50505050505050612699565b8061268e81613fa0565b9150506120d2565b50505b50565b600081565b6126a96132bb565b60608060606003600087815260200190815260200160002085815481106126e057634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160405180610100016040529081600082015481526020016001820180548060200260200160405190810160405280929190818152602001828054801561275357602002820191906000526020600020905b81548152602001906001019080831161273f575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156127ab57602002820191906000526020600020905b815481526020019060010190808311612797575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561280357602002820191906000526020600020905b8154815260200190600101908083116127ef575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561285b57602002820191906000526020600020905b815481526020019060010190808311612847575b505050918352505060058201546020820152600682015460408083019190915260079092015460ff161515606091820152908201519082015160808301519299919850965090945092505050565b6000828152600360205260409020805460609190839081106128db57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160020180548060200260200160405190810160405280929190818152602001828054801561293657602002820191906000526020600020905b815481526020019060010190808311612922575b5050505050905092915050565b600081815260046020908152604091829020600301805483518184028101840190945280845260609392830182828015610f975760200282019190600052602060002090815481526020019060010190808311610f835750505050509050919050565b6129b2610eca83610e99565b610f345760405162461bcd60e51b8152600401610649906139da565b60009081526003602052604090205490565b60046020526000908152604090208054600582015460068301546007909301549192909160ff1684565b600054610100900460ff1680612a23575060005460ff16155b612a3f5760405162461bcd60e51b815260040161064990613a37565b600054610100900460ff16158015612a6a576000805460ff1961ff0019909116610100171660011790555b6000612a768133611f18565b612a925760405162461bcd60e51b815260040161064990613b02565b50600580546001600160a01b038088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255600680548784169083161790556007805486841690831617905560088054928516929091169190911790558015612b07576000805461ff00191690555b5050505050565b600081815260046020818152604092839020909101805483518184028101840190945280845260609392830182828015610f975760200282019190600052602060002090815481526020019060010190808311610f835750505050509050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600082815260036020526040902054612c985760008281526003602090815260408220805460018181018355918452928290208451600890940201928355838201518051859493612c10938501920190613352565b5060408201518051612c2c916002840191602090910190613352565b5060608201518051612c48916003840191602090910190613352565b5060808201518051612c64916004840191602090910190613352565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055610ef8565b600082815260036020526040812054905b600084815260036020526040902054811015612d775760c08301516000858152600360205260409020805483908110612cf257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600601541015612d1257809150612d77565b60a08301516000858152600360205260409020805483908110612d4557634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600501541115612d6557809150612d77565b80612d6f81613f85565b915050612ca9565b5060008381526003602090815260408220805460018181018355918452928290208551600890940201928355848201518051869493612dba938501920190613352565b5060408201518051612dd6916002840191602090910190613352565b5060608201518051612df2916003840191602090910190613352565b5060808201518051612e0e916004840191602090910190613352565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055600083815260036020526040812054612e5890600190613f57565b90505b81811115612f84576000848152600360205260409020612e7c600183613f57565b81548110612e9a57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600360008681526020019081526020016000208281548110612eda57634e487b7160e01b600052603260045260246000fd5b60009182526020909120825460089092020190815560018083018054612f039284019190613302565b5060028281018054612f189284019190613302565b5060038281018054612f2d9284019190613302565b5060048281018054612f429284019190613302565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905580612f7c81613f6e565b915050612e5b565b506000838152600360205260409020805483919083908110612fb657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600082015181600001556020820151816001019080519060200190612fea929190613352565b5060408201518051613006916002840191602090910190613352565b5060608201518051613022916003840191602090910190613352565b506080820151805161303e916004840191602090910190613352565b5060a0820151816005015560c0820151816006015560e08201518160070160006101000a81548160ff02191690831515021790555090505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63379597e06040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ba57600080fd5b505af41580156130ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130f291906134d2565b6000848152600360205260409020541115612696576000838152600360205260409020805461312390600190613f57565b8154811061314157634e487b7160e01b600052603260045260246000fd5b60009182526020822060089091020181815590613161600183018261338d565b61316f60028301600061338d565b61317d60038301600061338d565b61318b60048301600061338d565b506000600582018190556006820155600701805460ff19169055505050565b3390565b6131b88282611f18565b610ef85760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556131f26131aa565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6132408282611f18565b15610ef85760008281526001602090815260408083206001600160a01b03851684529091529020805460ff191690556132776131aa565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806101000160405280600081526020016060815260200160608152602001606081526020016060815260200160008152602001600081526020016000151581525090565b8280548282559060005260206000209081019282156133425760005260206000209182015b82811115613342578254825591600101919060010190613327565b5061334e9291506133a7565b5090565b828054828255906000526020600020908101928215613342579160200282015b82811115613342578251825591602001919060010190613372565b508054600082559060005260206000209081019061269991905b5b8082111561334e57600081556001016133a8565b805161047281614016565b600082601f8301126133d7578081fd5b8135602067ffffffffffffffff808311156133f4576133f4614000565b8183026040518382820101818110848211171561341357613413614000565b60405284815283810192508684018288018501891015613431578687fd5b8692505b85831015613453578035845292840192600192909201918401613435565b50979650505050505050565b60008060008060808587031215613474578384fd5b843561347f81614016565b9350602085013561348f81614016565b9250604085013561349f81614016565b915060608501356134af81614016565b939692955090935050565b6000602082840312156134cb578081fd5b5035919050565b6000602082840312156134e3578081fd5b5051919050565b600080604083850312156134fc578182fd5b82359150602083013561350e81614016565b809150509250929050565b60006020828403121561352a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e92578182fd5b600061010080838503121561356c578182fd5b6040519081019067ffffffffffffffff8211818310171561358f5761358f614000565b81604052835181526135a3602085016133bc565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600080600080600080600060e0888a031215613609578283fd5b87359650602088013567ffffffffffffffff80821115613627578485fd5b6136338b838c016133c7565b975060408a0135915080821115613648578485fd5b6136548b838c016133c7565b965060608a0135915080821115613669578485fd5b6136758b838c016133c7565b955060808a013591508082111561368a578485fd5b506136978a828b016133c7565b93505060a0880135915060c0880135905092959891949750929550565b600080604083850312156136c6578182fd5b50508035926020909101359150565b6000806000606084860312156136e9578081fd5b8335925060208401359150604084013567ffffffffffffffff81111561370d578182fd5b613719868287016133c7565b9150509250925092565b600080600060608486031215613737578081fd5b505081359360208301359350604090920135919050565b60006020828403121561375f578081fd5b815160ff81168114610e92578182fd5b6000815180845260208085019450808401835b8381101561379e57815187529582019590820190600101613782565b509495945050505050565b6000815480845260208085019450838352808320835b8381101561379e578154875295820195600191820191016137bf565b15159052565b60006101008251845260208301518160208601526138018286018261376f565b9150506040830151848203604086015261381b828261376f565b91505060608301518482036060860152613835828261376f565b9150506080830151848203608086015261384f828261376f565b91505060a083015160a085015260c083015160c085015260e083015161387860e08601826137db565b509392505050565b6001600160a01b0391909116815260200190565b600060208252610e92602083018461376f565b901515815260200190565b90815260200190565b60ff929092168252602082015260400190565b60ff9390931683526020830191909152604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526029908201527f736f727465645b695d206973206e6f742067726561746572207468616e206c6160408201527f7374566973697465640000000000000000000000000000000000000000000000606082015260800190565b6020808252600b908201527f6e6f7420656c6563746564000000000000000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526014908201527f4d656469616e2063616e2774206265207a65726f000000000000000000000000604082015260600190565b60208082526014908201527f41737365744964206e6f74206d61746368696e67000000000000000000000000604082015260600190565b60208082526037908201527f50726f706f73656420416c7465726e61746520626c6f636b206973206964656e60408201527f746963616c20746f2070726f706f73656420626c6f636b000000000000000000606082015260800190565b60208082526019908201527f7374616b652062656c6f77206d696e696d756d207374616b6500000000000000604082015260600190565b60208082526021908201527f546f74616c207374616b652072657665616c656420646f65736e74206d61746360408201527f6800000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b600060208252610e9260208301846137e1565b600060808252613d5260808301876137e1565b8281036020840152613d64818761376f565b90508281036040840152613d78818661376f565b90508281036060840152613d8c818561376f565b979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b918252602082015260400190565b60006101208b83528a6020840152806040840152613de48184018b61376f565b90508281036060840152613df8818a61376f565b90508281036080840152613e0c818961376f565b905082810360a0840152613e20818861376f565b60c0840196909652505060e0810192909252610100909101529695505050505050565b600088825287602083015260e06040830152613e6260e08301886137a9565b8281036060840152613e7481886137a9565b90508281036080840152613e8881876137a9565b905082810360a0840152613e9c81866137a9565b9150508260c083015298975050505050505050565b9283526020830191909152604082015260600190565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b60008219821115613f1f57613f1f613fd4565b500190565b600082613f3357613f33613fea565b500490565b6000816000190483118215151615613f5257613f52613fd4565b500290565b600082821015613f6957613f69613fd4565b500390565b600081613f7d57613f7d613fd4565b506000190190565b6000600019821415613f9957613f99613fd4565b5060010190565b600060ff821660ff811415613fb757613fb7613fd4565b60010192915050565b600082613fcf57613fcf613fea565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461269957600080fdfea26469706673582212208ad1f4b919fd879e21da0d4ad963596fa341d46780215d324caaf430028716c964736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1C4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7542FF95 GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0xD1A4A43D GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xE38C7C42 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xE38C7C42 EQ PUSH2 0x3CD JUMPI DUP1 PUSH4 0xF25B3F99 EQ PUSH2 0x3E0 JUMPI DUP1 PUSH4 0xF8C8765E EQ PUSH2 0x3F3 JUMPI DUP1 PUSH4 0xFAE4425D EQ PUSH2 0x406 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0xD1A4A43D EQ PUSH2 0x394 JUMPI DUP1 PUSH4 0xD2A4669A EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3BA JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x92B48411 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x92B48411 EQ PUSH2 0x33E JUMPI DUP1 PUSH4 0x9B87F644 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x369 JUMPI DUP1 PUSH4 0xA27CE1EF EQ PUSH2 0x371 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x7542FF95 EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0x828496D6 EQ PUSH2 0x306 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x32B JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x36568ABE GT PUSH2 0x166 JUMPI DUP1 PUSH4 0x3DF395A3 GT PUSH2 0x140 JUMPI DUP1 PUSH4 0x3DF395A3 EQ PUSH2 0x2C8 JUMPI DUP1 PUSH4 0x42C1E587 EQ PUSH2 0x2D0 JUMPI DUP1 PUSH4 0x4E6753B7 EQ PUSH2 0x2D8 JUMPI DUP1 PUSH4 0x5CE8772F EQ PUSH2 0x2EB JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x36568ABE EQ PUSH2 0x282 JUMPI DUP1 PUSH4 0x378AB9A9 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x3CD32FD4 EQ PUSH2 0x2B5 JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x1D69FF9B GT PUSH2 0x1A2 JUMPI DUP1 PUSH4 0x1D69FF9B EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x25A JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x26F JUMPI PUSH2 0x1C4 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1C9 JUMPI DUP1 PUSH4 0x4C07569 EQ PUSH2 0x1F2 JUMPI DUP1 PUSH4 0x17D99C04 EQ PUSH2 0x212 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1DC PUSH2 0x1D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3519 JUMP JUMPDEST PUSH2 0x419 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x38A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x205 PUSH2 0x200 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x477 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3D2C JUMP JUMPDEST PUSH2 0x225 PUSH2 0x220 CALLDATASIZE PUSH1 0x4 PUSH2 0x35EF JUMP JUMPDEST PUSH2 0x627 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1DC PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x3723 JUMP JUMPDEST PUSH2 0xB11 JUMP JUMPDEST PUSH2 0x24D PUSH2 0x248 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0xE99 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x38B2 JUMP JUMPDEST PUSH2 0x262 PUSH2 0xEAF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3880 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x27D CALLDATASIZE PUSH1 0x4 PUSH2 0x34EA JUMP JUMPDEST PUSH2 0xEBE JUMP JUMPDEST PUSH2 0x225 PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x34EA JUMP JUMPDEST PUSH2 0xEFC JUMP JUMPDEST PUSH2 0x2A8 PUSH2 0x2A3 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0xF3E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x3894 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x36B4 JUMP JUMPDEST PUSH2 0xFA3 JUMP JUMPDEST PUSH2 0x262 PUSH2 0x153A JUMP JUMPDEST PUSH2 0x262 PUSH2 0x1549 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2E6 CALLDATASIZE PUSH1 0x4 PUSH2 0x36D5 JUMP JUMPDEST PUSH2 0x1558 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x2F9 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x1C7B JUMP JUMPDEST PUSH2 0x262 PUSH2 0x1ECA JUMP JUMPDEST PUSH2 0x319 PUSH2 0x314 CALLDATASIZE PUSH1 0x4 PUSH2 0x34EA JUMP JUMPDEST PUSH2 0x1ED9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3EE4 JUMP JUMPDEST PUSH2 0x1DC PUSH2 0x339 CALLDATASIZE PUSH1 0x4 PUSH2 0x34EA JUMP JUMPDEST PUSH2 0x1F18 JUMP JUMPDEST PUSH2 0x351 PUSH2 0x34C CALLDATASIZE PUSH1 0x4 PUSH2 0x36B4 JUMP JUMPDEST PUSH2 0x1F43 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3EC7 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x1F8C JUMP JUMPDEST PUSH2 0x24D PUSH2 0x269C JUMP JUMPDEST PUSH2 0x384 PUSH2 0x37F CALLDATASIZE PUSH1 0x4 PUSH2 0x36B4 JUMP JUMPDEST PUSH2 0x26A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3D3F JUMP JUMPDEST PUSH2 0x2A8 PUSH2 0x3A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x36B4 JUMP JUMPDEST PUSH2 0x28A9 JUMP JUMPDEST PUSH2 0x2A8 PUSH2 0x3B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x2943 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x3C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x34EA JUMP JUMPDEST PUSH2 0x29A6 JUMP JUMPDEST PUSH2 0x24D PUSH2 0x3DB CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x29CE JUMP JUMPDEST PUSH2 0x351 PUSH2 0x3EE CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x29E0 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x401 CALLDATASIZE PUSH1 0x4 PUSH2 0x345F JUMP JUMPDEST PUSH2 0x2A0A JUMP JUMPDEST PUSH2 0x2A8 PUSH2 0x414 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BA JUMP JUMPDEST PUSH2 0x2B0E JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x46F JUMPI POP PUSH2 0x46F DUP3 PUSH2 0x2B71 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x47F PUSH2 0x32BB JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD DUP5 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP6 MLOAD DUP2 DUP7 MUL DUP2 ADD DUP7 ADD SWAP1 SWAP7 MSTORE DUP1 DUP7 MSTORE SWAP2 SWAP5 SWAP3 SWAP4 DUP6 DUP2 ADD SWAP4 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x4EC JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x4D8 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x544 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x530 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x59C JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x588 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x5F4 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x5E0 JUMPI JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x6 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x7 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x652 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP10 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x696 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6CE SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x6EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3ACB JUMP JUMPDEST PUSH20 0x0 PUSH4 0xC198F8BA PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x730 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x744 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x768 SWAP2 SWAP1 PUSH2 0x374E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7CD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7F1 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x80F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C98 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH32 0x6022A48500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6022A485 SWAP1 PUSH2 0x859 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x3880 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x885 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8A9 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST SWAP1 POP PUSH2 0x8B6 DUP6 DUP6 DUP4 PUSH2 0xB11 JUMP JUMPDEST PUSH2 0x8D2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x39A3 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x916 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x92A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x94E SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0x97E SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x38B2 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x997 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9AB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9CF SWAP2 SWAP1 PUSH2 0x3559 JUMP JUMPDEST PUSH1 0x40 ADD MLOAD LT ISZERO PUSH2 0x9F1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C04 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH2 0x100 DUP2 ADD DUP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP12 SWAP1 MSTORE DUP1 DUP3 ADD DUP11 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0xA0 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x5 SLOAD SWAP2 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH2 0xABE SWAP3 DUP14 SWAP3 SWAP2 PUSH1 0xC0 DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0xA5A SWAP1 DUP12 SWAP1 PUSH1 0x4 ADD PUSH2 0x38B2 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA87 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAAB SWAP2 SWAP1 PUSH2 0x3559 JUMP JUMPDEST PUSH1 0x40 ADD MLOAD DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE PUSH2 0x2BBB JUMP JUMPDEST PUSH32 0xEE036CC96C88163F353FEAA4D497E88BAAEBEB631F40AD9B8A6D51BB6FAD4076 DUP11 DUP3 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0xAFD SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3DC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF AND PUSH2 0xB34 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST DUP2 PUSH20 0x0 PUSH4 0x5075DBFB PUSH1 0xA PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBC788D46 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBB3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xBD7 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBE8 SWAP2 SWAP1 PUSH2 0x38B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC1C SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x38CE JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xC48 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC6C SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0xC77 SWAP1 PUSH1 0x1 PUSH2 0x3F0C JUMP JUMPDEST EQ PUSH2 0xC84 JUMPI POP PUSH1 0x0 PUSH2 0xE92 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xB07CEAB8 PUSH1 0xA DUP6 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCB5 SWAP3 SWAP2 SWAP1 PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCE8 SWAP3 SWAP2 SWAP1 PUSH2 0x38BB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xD14 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD38 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xD4B PUSH5 0x100000000 DUP4 PUSH2 0x3FC0 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0xD81 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x38B2 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xDAE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xDD2 SWAP2 SWAP1 PUSH2 0x3559 JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 ADD MLOAD PUSH1 0x5 SLOAD SWAP2 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0xE0A SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x38B2 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE37 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE5B SWAP2 SWAP1 PUSH2 0x3559 JUMP JUMPDEST PUSH1 0x40 ADD MLOAD PUSH2 0xE6E SWAP1 PUSH5 0x100000000 PUSH2 0x3F38 JUMP JUMPDEST PUSH2 0xE78 DUP3 DUP5 PUSH2 0x3F38 JUMP JUMPDEST GT ISZERO PUSH2 0xE8A JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0xE92 JUMP JUMPDEST PUSH1 0x1 SWAP4 POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0xED2 PUSH2 0xECA DUP4 PUSH2 0xE99 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x31AA JUMP JUMPDEST PUSH2 0xEEE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x38E9 JUMP JUMPDEST PUSH2 0xEF8 DUP3 DUP3 PUSH2 0x31AE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xF04 PUSH2 0x31AA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF34 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3CCF JUMP JUMPDEST PUSH2 0xEF8 DUP3 DUP3 PUSH2 0x3236 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xF97 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xF83 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0xFC5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x101D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1041 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x105F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3ACB JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x10B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10DB SWAP2 SWAP1 PUSH2 0x374E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x112C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1140 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1164 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1182 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C98 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0x7 SLOAD SWAP2 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x11D2 SWAP1 DUP9 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1222 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD EQ PUSH2 0x1259 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C3B JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 CALLER DUP6 MSTORE DUP3 MSTORE DUP1 DUP5 KECCAK256 PUSH1 0x1 DUP2 ADD SLOAD SWAP4 DUP2 ADD SLOAD PUSH1 0x3 SWAP2 DUP3 ADD SLOAD DUP12 DUP8 MSTORE SWAP2 SWAP1 SWAP4 MSTORE SWAP1 DUP5 KECCAK256 DUP1 SLOAD SWAP4 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP2 DUP10 SWAP1 DUP2 LT PUSH2 0x12B2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP PUSH1 0x0 DUP5 GT PUSH2 0x12E6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3B39 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP6 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x1317 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x1347 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO DUP1 PUSH2 0x13C9 JUMPI POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP5 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x138B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x13BB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO JUMPDEST DUP1 PUSH2 0x143E JUMPI POP PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 DUP11 SWAP1 DUP2 LT PUSH2 0x1400 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x4 ADD DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x1430 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD EQ ISZERO JUMPDEST ISZERO PUSH2 0x1517 JUMPI PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP11 SWAP1 DUP2 LT PUSH2 0x1471 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD PUSH1 0x7 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH32 0xF91CE1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xF91CE19 SWAP1 PUSH2 0x14E0 SWAP1 DUP5 SWAP1 CALLER SWAP1 DUP15 SWAP1 PUSH1 0x4 ADD PUSH2 0x3D97 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x150E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x152F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3BA7 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x157A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP6 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15D2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15F6 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1614 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3ACB JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1658 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x166C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1690 SWAP2 SWAP1 PUSH2 0x374E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16F5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1719 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1737 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C98 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x2 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x176F SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1787 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x179B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17BF SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0x17C9 SWAP2 SWAP1 PUSH2 0x3F24 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x1801 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP7 ADD PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1819 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x182D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1851 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0x185B SWAP2 SWAP1 PUSH2 0x3F24 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA6A145D9 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA6A145D9 SWAP1 PUSH2 0x1893 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP7 ADD PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x18AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x18BF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x18E3 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0x18EE SWAP1 PUSH1 0x3 PUSH2 0x3F38 JUMP JUMPDEST PUSH2 0x18F8 SWAP2 SWAP1 PUSH2 0x3F24 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD SWAP2 SWAP3 POP SWAP1 DUP2 PUSH2 0x1946 JUMPI PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x5 ADD DUP10 SWAP1 SSTORE PUSH2 0x1981 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP10 EQ PUSH2 0x1981 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3B70 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP9 MLOAD DUP2 LT ISZERO PUSH2 0x1C4C JUMPI DUP2 DUP10 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x19AE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT PUSH2 0x19D3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3946 JUMP JUMPDEST DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x19F3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP2 POP PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9C66556F DUP13 DUP13 DUP13 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x1A43 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A69 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3EB1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A95 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1AB9 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0x1AC3 SWAP1 DUP5 PUSH2 0x3F0C JUMP JUMPDEST PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 CALLER DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 SWAP4 POP ISZERO DUP1 ISZERO PUSH2 0x1AEF JUMPI POP DUP5 DUP4 LT ISZERO JUMPDEST ISZERO PUSH2 0x1B3D JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1B14 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x2 DUP1 DUP5 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP5 MSTORE SWAP3 SWAP1 KECCAK256 SWAP1 SWAP2 ADD SSTORE JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD ISZERO DUP1 ISZERO PUSH2 0x1B66 JUMPI POP DUP6 DUP4 GT JUMPDEST ISZERO PUSH2 0x1BB4 JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1B8B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x2 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 CALLER DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 ADD SSTORE JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD ISZERO DUP1 ISZERO PUSH2 0x1BDD JUMPI POP DUP4 DUP4 GT JUMPDEST ISZERO PUSH2 0x1C2B JUMPI DUP9 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1C02 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x0 DUP14 DUP2 MSTORE PUSH1 0x2 DUP4 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 CALLER DUP4 MSTORE SWAP1 SWAP4 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 ADD SSTORE JUMPDEST PUSH2 0x2710 GAS LT ISZERO PUSH2 0x1C3A JUMPI PUSH2 0x1C4C JUMP JUMPDEST DUP1 PUSH2 0x1C44 DUP2 PUSH2 0x3F85 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1984 JUMP JUMPDEST POP PUSH1 0x0 SWAP10 DUP11 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP13 KECCAK256 CALLER DUP14 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP10 KECCAK256 PUSH1 0x4 DUP2 ADD SWAP10 SWAP1 SWAP10 SSTORE SWAP1 SWAP8 SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1C9D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1CE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1CF5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1D19 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1D37 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3ACB JUMP JUMPDEST PUSH20 0x0 PUSH4 0xF240F7C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1D8F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DB3 SWAP2 SWAP1 PUSH2 0x374E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1E04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E18 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1E3C SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1E5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3C98 JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP3 DUP2 MSTORE DUP4 DUP6 ADD DUP4 DUP2 MSTORE PUSH1 0x60 DUP6 ADD DUP5 DUP2 MSTORE PUSH1 0x80 DUP7 ADD DUP6 DUP2 MSTORE PUSH1 0xA0 DUP8 ADD DUP7 DUP2 MSTORE SWAP9 DUP7 MSTORE PUSH1 0x2 DUP1 DUP7 MSTORE DUP9 DUP8 KECCAK256 CALLER DUP9 MSTORE SWAP1 SWAP6 MSTORE SWAP7 SWAP1 SWAP5 KECCAK256 SWAP5 MLOAD DUP6 SSTORE SWAP1 MLOAD PUSH1 0x1 DUP6 ADD SSTORE MLOAD SWAP1 DUP4 ADD SSTORE MLOAD PUSH1 0x3 DUP3 ADD SSTORE SWAP1 MLOAD PUSH1 0x4 DUP3 ADD SSTORE SWAP1 MLOAD PUSH1 0x5 SWAP1 SWAP2 ADD SSTORE JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP1 SWAP2 MSTORE SWAP2 DUP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD SWAP3 DUP3 ADD SLOAD PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x4 DUP5 ADD SLOAD PUSH1 0x5 SWAP1 SWAP5 ADD SLOAD SWAP3 SWAP5 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1F5F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1FAE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A94 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xD98B3CED PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1FF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2006 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x202A SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH2 0x2034 DUP2 CALLER PUSH2 0x1F18 JUMP JUMPDEST PUSH2 0x2050 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3B02 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2095 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x20A9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x20CD SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x3 PUSH1 0x0 PUSH2 0x20E1 PUSH1 0x1 DUP6 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0xFF DUP3 AND LT ISZERO PUSH2 0x2696 JUMPI PUSH1 0x3 PUSH1 0x0 PUSH2 0x210B PUSH1 0x1 DUP6 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x213B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x7 PUSH1 0x8 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x2684 JUMPI PUSH1 0x3 PUSH1 0x0 PUSH2 0x2166 PUSH1 0x1 DUP6 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2196 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x4 PUSH1 0x0 PUSH1 0x1 DUP6 PUSH2 0x21B5 SWAP2 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 DUP2 SLOAD DUP2 SSTORE PUSH1 0x1 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x21DD SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x2 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x21F2 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2207 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x221C SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x5 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x6 DUP1 DUP4 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x7 SWAP2 DUP3 ADD SLOAD SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 PUSH1 0x3 DUP2 PUSH2 0x225C PUSH1 0x1 DUP7 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x228C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD SLOAD SWAP1 POP PUSH32 0x5EF264AE9101B91BD7117350C5E85901297FA0569E7A3E07EB7EC0A6281529F0 PUSH2 0x22CB PUSH1 0x1 DUP6 PUSH2 0x3F57 JUMP JUMPDEST DUP3 PUSH1 0x3 PUSH1 0x0 PUSH2 0x22DB PUSH1 0x1 DUP10 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x230B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD PUSH1 0x3 PUSH1 0x0 PUSH1 0x1 DUP10 PUSH2 0x232D SWAP2 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP7 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x235D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 ADD PUSH1 0x3 PUSH1 0x0 PUSH1 0x1 DUP11 PUSH2 0x237F SWAP2 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP8 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x23AF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x4 ADD PUSH1 0x3 PUSH1 0x0 PUSH1 0x1 DUP12 PUSH2 0x23D1 SWAP2 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP9 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2401 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x2426 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3E43 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 JUMPDEST PUSH1 0x3 PUSH1 0x0 PUSH2 0x2440 PUSH1 0x1 DUP8 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP4 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2470 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD DUP1 SLOAD SWAP1 POP DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x25FE JUMPI PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x56350BDF PUSH1 0x3 PUSH1 0x0 PUSH2 0x24AF PUSH1 0x1 DUP10 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x24DF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x1 ADD DUP4 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2512 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0x3 PUSH1 0x0 PUSH1 0x1 DUP10 PUSH2 0x252E SWAP2 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP7 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x255E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP5 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2591 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x25B9 SWAP3 SWAP2 SWAP1 PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x25D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP1 DUP1 PUSH2 0x25F6 SWAP1 PUSH2 0x3FA0 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2431 JUMP JUMPDEST POP PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH32 0x746C8B6500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x746C8B65 SWAP1 PUSH2 0x264A SWAP1 DUP5 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3DB6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2664 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2678 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH2 0x2699 JUMP JUMPDEST DUP1 PUSH2 0x268E DUP2 PUSH2 0x3FA0 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x20D2 JUMP JUMPDEST POP POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x26A9 PUSH2 0x32BB JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x60 PUSH1 0x3 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x26E0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x2753 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x273F JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x27AB JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x2797 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x2803 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x27EF JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x285B JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x2847 JUMPI JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x6 DUP3 ADD SLOAD PUSH1 0x40 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x7 SWAP1 SWAP3 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x60 SWAP2 DUP3 ADD MSTORE SWAP1 DUP3 ADD MLOAD SWAP1 DUP3 ADD MLOAD PUSH1 0x80 DUP4 ADD MLOAD SWAP3 SWAP10 SWAP2 SWAP9 POP SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x28DB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x2 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x2936 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x2922 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xF97 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xF83 JUMPI POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x29B2 PUSH2 0xECA DUP4 PUSH2 0xE99 JUMP JUMPDEST PUSH2 0xF34 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x39DA JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x2A23 JUMPI POP PUSH1 0x0 SLOAD PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0x2A3F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3A37 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO DUP1 ISZERO PUSH2 0x2A6A JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT PUSH2 0xFF00 NOT SWAP1 SWAP2 AND PUSH2 0x100 OR AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 PUSH2 0x2A76 DUP2 CALLER PUSH2 0x1F18 JUMP JUMPDEST PUSH2 0x2A92 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x649 SWAP1 PUSH2 0x3B02 JUMP JUMPDEST POP PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP1 SLOAD DUP8 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x7 DUP1 SLOAD DUP7 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x8 DUP1 SLOAD SWAP3 DUP6 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 ISZERO PUSH2 0x2B07 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND SWAP1 SSTORE JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 SWAP1 SWAP2 ADD DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xF97 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xF83 JUMPI POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x2C98 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP5 MSTORE SWAP3 DUP3 SWAP1 KECCAK256 DUP5 MLOAD PUSH1 0x8 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP4 DUP3 ADD MLOAD DUP1 MLOAD DUP6 SWAP5 SWAP4 PUSH2 0x2C10 SWAP4 DUP6 ADD SWAP3 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2C2C SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2C48 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2C64 SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0xE0 SWAP1 SWAP2 ADD MLOAD PUSH1 0x7 SWAP1 SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0xEF8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 LT ISZERO PUSH2 0x2D77 JUMPI PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 DUP2 LT PUSH2 0x2CF2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x6 ADD SLOAD LT ISZERO PUSH2 0x2D12 JUMPI DUP1 SWAP2 POP PUSH2 0x2D77 JUMP JUMPDEST PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 DUP2 LT PUSH2 0x2D45 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x5 ADD SLOAD GT ISZERO PUSH2 0x2D65 JUMPI DUP1 SWAP2 POP PUSH2 0x2D77 JUMP JUMPDEST DUP1 PUSH2 0x2D6F DUP2 PUSH2 0x3F85 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CA9 JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE SWAP2 DUP5 MSTORE SWAP3 DUP3 SWAP1 KECCAK256 DUP6 MLOAD PUSH1 0x8 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP5 DUP3 ADD MLOAD DUP1 MLOAD DUP7 SWAP5 SWAP4 PUSH2 0x2DBA SWAP4 DUP6 ADD SWAP3 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2DD6 SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2DF2 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x2E0E SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0xE0 SWAP1 SWAP2 ADD MLOAD PUSH1 0x7 SWAP1 SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x2E58 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2F84 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x2E7C PUSH1 0x1 DUP4 PUSH2 0x3F57 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2E9A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x3 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2EDA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 DUP3 SLOAD PUSH1 0x8 SWAP1 SWAP3 MUL ADD SWAP1 DUP2 SSTORE PUSH1 0x1 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x2F03 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x2 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2F18 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2F2D SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD DUP1 SLOAD PUSH2 0x2F42 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x3302 JUMP JUMPDEST POP PUSH1 0x5 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x6 DUP1 DUP4 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x7 SWAP2 DUP3 ADD SLOAD SWAP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 PUSH2 0x2F7C DUP2 PUSH2 0x3F6E JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2E5B JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x2FB6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 MUL ADD PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2FEA SWAP3 SWAP2 SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x3006 SWAP2 PUSH1 0x2 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x3022 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x303E SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x3352 JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x5 ADD SSTORE PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x6 ADD SSTORE PUSH1 0xE0 DUP3 ADD MLOAD DUP2 PUSH1 0x7 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP1 POP POP PUSH20 0x0 PUSH4 0x379597E0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x30BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x30CE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x30F2 SWAP2 SWAP1 PUSH2 0x34D2 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD GT ISZERO PUSH2 0x2696 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x3123 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3F57 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x3141 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP2 DUP2 SSTORE SWAP1 PUSH2 0x3161 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x338D JUMP JUMPDEST PUSH2 0x316F PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x338D JUMP JUMPDEST PUSH2 0x317D PUSH1 0x3 DUP4 ADD PUSH1 0x0 PUSH2 0x338D JUMP JUMPDEST PUSH2 0x318B PUSH1 0x4 DUP4 ADD PUSH1 0x0 PUSH2 0x338D JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x5 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x6 DUP3 ADD SSTORE PUSH1 0x7 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP POP POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x31B8 DUP3 DUP3 PUSH2 0x1F18 JUMP JUMPDEST PUSH2 0xEF8 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x31F2 PUSH2 0x31AA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x3240 DUP3 DUP3 PUSH2 0x1F18 JUMP JUMPDEST ISZERO PUSH2 0xEF8 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x3277 PUSH2 0x31AA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x3342 JUMPI PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3342 JUMPI DUP3 SLOAD DUP3 SSTORE SWAP2 PUSH1 0x1 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3327 JUMP JUMPDEST POP PUSH2 0x334E SWAP3 SWAP2 POP PUSH2 0x33A7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x3342 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3342 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3372 JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2699 SWAP2 SWAP1 JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x334E JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x33A8 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x472 DUP2 PUSH2 0x4016 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x33D7 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 GT ISZERO PUSH2 0x33F4 JUMPI PUSH2 0x33F4 PUSH2 0x4000 JUMP JUMPDEST DUP2 DUP4 MUL PUSH1 0x40 MLOAD DUP4 DUP3 DUP3 ADD ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH2 0x3413 JUMPI PUSH2 0x3413 PUSH2 0x4000 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP5 DUP2 MSTORE DUP4 DUP2 ADD SWAP3 POP DUP7 DUP5 ADD DUP3 DUP9 ADD DUP6 ADD DUP10 LT ISZERO PUSH2 0x3431 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP7 SWAP3 POP JUMPDEST DUP6 DUP4 LT ISZERO PUSH2 0x3453 JUMPI DUP1 CALLDATALOAD DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 DUP5 ADD PUSH2 0x3435 JUMP JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3474 JUMPI DUP4 DUP5 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x347F DUP2 PUSH2 0x4016 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x348F DUP2 PUSH2 0x4016 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x349F DUP2 PUSH2 0x4016 JUMP JUMPDEST SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x34AF DUP2 PUSH2 0x4016 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x34CB JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x34E3 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x34FC JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x350E DUP2 PUSH2 0x4016 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x352A JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0xE92 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x356C JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x358F JUMPI PUSH2 0x358F PUSH2 0x4000 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 MLOAD DUP2 MSTORE PUSH2 0x35A3 PUSH1 0x20 DUP6 ADD PUSH2 0x33BC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP5 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0xE0 DUP3 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x3609 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP8 CALLDATALOAD SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3627 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x3633 DUP12 DUP4 DUP13 ADD PUSH2 0x33C7 JUMP JUMPDEST SWAP8 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3648 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x3654 DUP12 DUP4 DUP13 ADD PUSH2 0x33C7 JUMP JUMPDEST SWAP7 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3669 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x3675 DUP12 DUP4 DUP13 ADD PUSH2 0x33C7 JUMP JUMPDEST SWAP6 POP PUSH1 0x80 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x368A JUMPI DUP5 DUP6 REVERT JUMPDEST POP PUSH2 0x3697 DUP11 DUP3 DUP12 ADD PUSH2 0x33C7 JUMP JUMPDEST SWAP4 POP POP PUSH1 0xA0 DUP9 ADD CALLDATALOAD SWAP2 POP PUSH1 0xC0 DUP9 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x36C6 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x36E9 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x370D JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x3719 DUP7 DUP3 DUP8 ADD PUSH2 0x33C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3737 JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x375F JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xE92 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD DUP4 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x379E JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3782 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP4 DUP4 MSTORE DUP1 DUP4 KECCAK256 DUP4 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x379E JUMPI DUP2 SLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 PUSH1 0x1 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x37BF JUMP JUMPDEST ISZERO ISZERO SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 MLOAD DUP5 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP2 PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x3801 DUP3 DUP7 ADD DUP3 PUSH2 0x376F JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x381B DUP3 DUP3 PUSH2 0x376F JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x3835 DUP3 DUP3 PUSH2 0x376F JUMP JUMPDEST SWAP2 POP POP PUSH1 0x80 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x80 DUP7 ADD MSTORE PUSH2 0x384F DUP3 DUP3 PUSH2 0x376F JUMP JUMPDEST SWAP2 POP POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP4 ADD MLOAD PUSH2 0x3878 PUSH1 0xE0 DUP7 ADD DUP3 PUSH2 0x37DB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xE92 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x376F JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP4 SWAP1 SWAP4 AND DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x29 SWAP1 DUP3 ADD MSTORE PUSH32 0x736F727465645B695D206973206E6F742067726561746572207468616E206C61 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7374566973697465640000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xB SWAP1 DUP3 ADD MSTORE PUSH32 0x6E6F7420656C6563746564000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x647920696E697469616C697A6564000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1E SWAP1 DUP3 ADD MSTORE PUSH32 0x436F6E74726163742073686F756C6420626520696E697469616C697A65640000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x4D656469616E2063616E2774206265207A65726F000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x41737365744964206E6F74206D61746368696E67000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x37 SWAP1 DUP3 ADD MSTORE PUSH32 0x50726F706F73656420416C7465726E61746520626C6F636B206973206964656E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x746963616C20746F2070726F706F73656420626C6F636B000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x19 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B652062656C6F77206D696E696D756D207374616B6500000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x21 SWAP1 DUP3 ADD MSTORE PUSH32 0x546F74616C207374616B652072657665616C656420646F65736E74206D617463 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6800000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0xE92 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x37E1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 MSTORE PUSH2 0x3D52 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x37E1 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3D64 DUP2 DUP8 PUSH2 0x376F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3D78 DUP2 DUP7 PUSH2 0x376F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3D8C DUP2 DUP6 PUSH2 0x376F JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP12 DUP4 MSTORE DUP11 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3DE4 DUP2 DUP5 ADD DUP12 PUSH2 0x376F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3DF8 DUP2 DUP11 PUSH2 0x376F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3E0C DUP2 DUP10 PUSH2 0x376F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x3E20 DUP2 DUP9 PUSH2 0x376F JUMP JUMPDEST PUSH1 0xC0 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0xE0 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH2 0x100 SWAP1 SWAP2 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP9 DUP3 MSTORE DUP8 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0xE0 PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x3E62 PUSH1 0xE0 DUP4 ADD DUP9 PUSH2 0x37A9 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x3E74 DUP2 DUP9 PUSH2 0x37A9 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x3E88 DUP2 DUP8 PUSH2 0x37A9 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x3E9C DUP2 DUP7 PUSH2 0x37A9 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xC0 DUP4 ADD MSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x40 DUP6 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x3F1F JUMPI PUSH2 0x3F1F PUSH2 0x3FD4 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3F33 JUMPI PUSH2 0x3F33 PUSH2 0x3FEA JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x3F52 JUMPI PUSH2 0x3F52 PUSH2 0x3FD4 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x3F69 JUMPI PUSH2 0x3F69 PUSH2 0x3FD4 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x3F7D JUMPI PUSH2 0x3F7D PUSH2 0x3FD4 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x3F99 JUMPI PUSH2 0x3F99 PUSH2 0x3FD4 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 EQ ISZERO PUSH2 0x3FB7 JUMPI PUSH2 0x3FB7 PUSH2 0x3FD4 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3FCF JUMPI PUSH2 0x3FCF PUSH2 0x3FEA JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2699 JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 0xD1 DELEGATECALL 0xB9 NOT REVERT DUP8 SWAP15 0x21 0xDA 0xD 0x4A 0xD9 PUSH4 0x596FA341 0xD4 PUSH8 0x80215D324CAAF430 MUL DUP8 AND 0xC9 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "370:11602:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1828:122:8;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4031:1241::-;;;;;;:::i;:::-;;:::i;:::-;;10062:853;;;;;;:::i;:::-;;:::i;4185:121:0:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;476:33:8:-;;;:::i;:::-;;;;;;;:::i;4556:228:0:-;;;;;;:::i;:::-;;:::i;5740:214::-;;;;;;:::i;:::-;;:::i;1956:179:8:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7593:1190::-;;;;;;:::i;:::-;;:::i;552:29::-;;;:::i;515:31::-;;;:::i;5341:1940::-;;;;;;:::i;:::-;;:::i;7383:204::-;;;;;;:::i;:::-;;:::i;437:33::-;;;:::i;171:73:18:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;3867:137:0:-;;;;;;:::i;:::-;;:::i;289:58:18:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;8789:1267:8:-;;;:::i;2363:49:0:-;;;:::i;2545:467:8:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;3018:237::-;;;;;;:::i;:::-;;:::i;2141:184::-;;;;;;:::i;:::-;;:::i;5018:231:0:-;;;;;;:::i;:::-;;:::i;3261:133:8:-;;;;;;:::i;:::-;;:::i;353:48:18:-;;;;;;:::i;:::-;;:::i;1362:460:8:-;;;;;;:::i;:::-;;:::i;2331:208::-;;;;;;:::i;:::-;;:::i;3566:214:0:-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;;3566:214;;;;:::o;1828:122:8:-;1883:27;;:::i;:::-;1929:13;;;;:6;:13;;;;;;;;;1922:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1929:13;;1922:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1922:21:8;;;-1:-1:-1;;1922:21:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1828:122;-1:-1:-1;;1828:122:8:o;4031:1241::-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;;;;;;;;;1165:12:8::1;::::0;:23:::1;::::0;;-1:-1:-1;;;1165:23:8;;;;4313:5;;-1:-1:-1;;;;;1165:12:8::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1156:5;:32;1148:60;;;;-1:-1:-1::0;;;1148:60:8::1;;;;;;;:::i;:::-;4331:9:::2;:17;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1232:124;;1295:12;;;;;;;;;-1:-1:-1::0;;;;;1295:12:8::2;-1:-1:-1::0;;;;;1295:21:8::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1286:5;:32;1278:60;;;;-1:-1:-1::0;;;1278:60:8::2;;;;;;;:::i;:::-;4388:12:::3;::::0;:36:::3;::::0;;;;4367:18:::3;::::0;-1:-1:-1;;;;;4388:12:8::3;::::0;:24:::3;::::0;:36:::3;::::0;4413:10:::3;::::0;4388:36:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4367:57;;4442;4460:9;4471:15;4488:10;4442:17;:57::i;:::-;4434:81;;;;-1:-1:-1::0;;;4434:81:8::3;;;;;;;:::i;:::-;4590:9;:18;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4546:12;::::0;:34:::3;::::0;-1:-1:-1;;;4546:34:8;;-1:-1:-1;;;;;4546:12:8;;::::3;::::0;:22:::3;::::0;:34:::3;::::0;4569:10;;4546:34:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;;;:64;;4525:136;;;;-1:-1:-1::0;;;4525:136:8::3;;;;;;;:::i;:::-;4726:277;::::0;;::::3;::::0;::::3;::::0;;;;;::::3;::::0;::::3;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;;4922:12:::3;::::0;:39;;-1:-1:-1;;;4922:39:8;;4672:341:::3;::::0;4706:5;;4726:277;;;;;-1:-1:-1;;;;;4922:12:8::3;::::0;:22:::3;::::0;:39:::3;::::0;4945:15;;4922:39:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;::::0;4726:277;;4985:4:::3;4726:277;::::0;;::::3;::::0;4672:20:::3;:341::i;:::-;5029:236;5051:5;5070:10;5094:6;5114:7;5135:12;5161:13;5188:9;5211:15;5240;5029:236;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1348:1;1218::::2;2057::24::1;4031:1241:8::0;;;;;;;:::o;10062:853::-;10246:4;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;10524:8:8::1;10436:6;:11;10448:2;10452:12;;;;;;;;;-1:-1:-1::0;;;;;10452:12:8::1;-1:-1:-1::0;;;;;10452:26:8::1;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10503:9;10492:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;10482:32;;;;;;10436:79;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;::::0;10517:1:::1;10436:83;:::i;:::-;10435:97;10431:140;;-1:-1:-1::0;10555:5:8::1;10548:12;;10431:140;10580:16;10599:6;:15;10615:2;10640:8;10650:9;10629:31;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10619:42;;;;;;10599:63;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10580:82:::0;-1:-1:-1;10672:12:8::1;10687:25;10706:5;10580:82:::0;10687:25:::1;:::i;:::-;10745:12;::::0;:39:::1;::::0;-1:-1:-1;;;10745:39:8;;10672:40;;-1:-1:-1;10722:20:8::1;::::0;-1:-1:-1;;;;;10745:12:8;;::::1;::::0;:22:::1;::::0;:39:::1;::::0;10768:15;;10745:39:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;::::0;;::::1;::::0;10826:12:::1;::::0;:32;;-1:-1:-1;;;10826:32:8;;10745:45;;-1:-1:-1;;;;;;10826:12:8;;::::1;::::0;:22:::1;::::0;:32:::1;::::0;10849:8;;10826:32:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:38;;::::0;:46:::1;::::0;10866:5:::1;10826:46;:::i;:::-;10804:19;10810:12:::0;10804:4;:19:::1;:::i;:::-;:68;10800:87;;;10881:5;10874:13;;;;;;;10800:87;10904:4;10897:11;;;;;2057:1:24;10062:853:8::0;;;;;:::o;4185:121:0:-;4251:7;4277:12;;;:6;:12;;;;;;;;:22;;;4185:121::o;476:33:8:-;;;-1:-1:-1;;;;;476:33:8;;:::o;4556:228:0:-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;5740:214::-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;1956:179:8:-;2076:13;;;;:6;:13;;;;;;;;;:21;;2060:37;;;;;;;;;;;;;;;;;2018:30;;2060:37;;;2076:21;2060:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1956:179;;;:::o;7593:1190::-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;1165:12:8::1;::::0;:23:::1;::::0;;-1:-1:-1;;;1165:23:8;;;;7685:5;;-1:-1:-1;;;;;1165:12:8::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1156:5;:32;1148:60;;;;-1:-1:-1::0;;;1148:60:8::1;;;;;;;:::i;:::-;7703:9:::2;:17;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1232:124;;1295:12;;;;;;;;;-1:-1:-1::0;;;;;1295:12:8::2;-1:-1:-1::0;;;;;1295:21:8::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1286:5;:32;1278:60;;;;-1:-1:-1::0;;;1278:60:8::2;;;;;;;:::i;:::-;7734:15:::3;7752::::0;;;:8:::3;:15;::::0;;;;;;;7768:10:::3;7752:27:::0;;;;;;;;;:35:::3;;::::0;7859:11:::3;::::0;:49;;-1:-1:-1;;;7859:49:8;;7752:35;;-1:-1:-1;;;;;7859:11:8::3;::::0;:33:::3;::::0;:49:::3;::::0;7761:5;;7752:35;;7859:49:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7818:15;::::0;;;:8:::3;:15;::::0;;;;;;;7834:10:::3;7818:27:::0;;;;;;;:37;:90:::3;7797:170;;;;-1:-1:-1::0;;;7797:170:8::3;;;;;;;:::i;:::-;7977:14;7994:15:::0;;;:8:::3;:15;::::0;;;;;;;8010:10:::3;7994:27:::0;;;;;;;:34:::3;::::0;::::3;::::0;8060:39;;::::3;::::0;8132:40:::3;::::0;;::::3;::::0;8203:21;;;;;;;;;;:30;;7994:34;;8060:39;;8132:40;;7977:14;8225:7;;8203:30;::::3;;;-1:-1:-1::0;;;8203:30:8::3;;;;;;;;;;;;;;;;;;;:41;;;8182:62;;8282:1;8273:6;:10;8265:43;;;;-1:-1:-1::0;;;8265:43:8::3;;;;;;;:::i;:::-;8322:21;::::0;;;:14:::3;:21;::::0;;;;:30;;8373:6;;8322:21;8344:7;;8322:30;::::3;;;-1:-1:-1::0;;;8322:30:8::3;;;;;;;;;;;;;;;;;;;:38;;8361:7;8322:47;;;;;;-1:-1:-1::0;;;8322:47:8::3;;;;;;;;;;;;;;;;;:57;;:140;;;-1:-1:-1::0;8395:21:8::3;::::0;;;:14:::3;:21;::::0;;;;:30;;8451:11;;8395:21;8417:7;;8395:30;::::3;;;-1:-1:-1::0;;;8395:30:8::3;;;;;;;;;;;;;;;;;;;:43;;8439:7;8395:52;;;;;;-1:-1:-1::0;;;8395:52:8::3;;;;;;;;;;;;;;;;;:67;;8322:140;:225;;;-1:-1:-1::0;8478:21:8::3;::::0;;;:14:::3;:21;::::0;;;;:30;;8535:12;;8478:21;8500:7;;8478:30;::::3;;;-1:-1:-1::0;;;8478:30:8::3;;;;;;;;;;;;;;;;;;;:44;;8523:7;8478:53;;;;;;-1:-1:-1::0;;;8478:53:8::3;;;;;;;;;;;;;;;;;:69;;8322:225;8318:459;;;8602:5;8563:21:::0;;;:14:::3;:21;::::0;;;;:30;;8585:7;;8563:30;::::3;;;-1:-1:-1::0;;;8563:30:8::3;;;;;;;;;;::::0;;;::::3;::::0;;;::::3;::::0;;::::3;;:36;;:44:::0;;-1:-1:-1;;8563:44:8::3;::::0;::::3;;::::0;;;::::3;::::0;;8621:12:::3;::::0;:49:::3;::::0;;;;-1:-1:-1;;;;;8621:12:8;;::::3;::::0;:18:::3;::::0;:49:::3;::::0;8640:10;;8652::::3;::::0;8664:5;;8621:49:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;8318:459;;;8701:65;;-1:-1:-1::0;;;8701:65:8::3;;;;;;;:::i;8318:459::-;1348:1;;;;;1218::::2;2057::24::1;7593:1190:8::0;;:::o;552:29::-;;;-1:-1:-1;;;;;552:29:8;;:::o;515:31::-;;;-1:-1:-1;;;;;515:31:8;;:::o;5341:1940::-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;1165:12:8::1;::::0;:23:::1;::::0;;-1:-1:-1;;;1165:23:8;;;;5503:5;;-1:-1:-1;;;;;1165:12:8::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1156:5;:32;1148:60;;;;-1:-1:-1::0;;;1148:60:8::1;;;;;;;:::i;:::-;5529:9:::2;:17;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1232:124;;1295:12;;;;;;;;;-1:-1:-1::0;;;;;1295:12:8::2;-1:-1:-1::0;;;;;1295:21:8::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1286:5;:32;1278:60;;;;-1:-1:-1::0;;;1278:60:8::2;;;;;;;:::i;:::-;5588:11:::3;::::0;:49:::3;::::0;-1:-1:-1;;;5588:49:8;;5565:20:::3;::::0;5639:1:::3;::::0;-1:-1:-1;;;;;5588:11:8;;::::3;::::0;:33:::3;::::0;:49:::3;::::0;5622:5;;5629:7;;5588:49:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;;;:::i;:::-;5679:11;::::0;:49:::3;::::0;-1:-1:-1;;;5679:49:8;;5565:76;;-1:-1:-1;5651:25:8::3;::::0;5730:1:::3;::::0;-1:-1:-1;;;;;5679:11:8::3;::::0;:33:::3;::::0;:49:::3;::::0;5713:5;;5720:7;;5679:49;::::3;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;;;:::i;:::-;5772:11;::::0;:49:::3;::::0;-1:-1:-1;;;5772:49:8;;5651:81;;-1:-1:-1;5742:26:8::3;::::0;5828:1:::3;::::0;-1:-1:-1;;;;;5772:11:8::3;::::0;:33:::3;::::0;:49:::3;::::0;5806:5;;5813:7;;5772:49;::::3;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;::::0;5823:1:::3;5772:53;:::i;:::-;5771:59;;;;:::i;:::-;5840:17;5860:15:::0;;;:8:::3;:15;::::0;;;;;;;5876:10:::3;5860:27:::0;;;;;;;:37;;5929:39:::3;::::0;;::::3;::::0;5742:88;;-1:-1:-1;5860:37:8;;5978:228:::3;;6040:15;::::0;;;:8:::3;:15;::::0;;;;;;;6056:10:::3;6040:27:::0;;;;;;;:35:::3;;:45:::0;;;5978:228:::3;;;6124:15;::::0;;;:8:::3;:15;::::0;;;;;;;6140:10:::3;6124:27:::0;;;;;;;:35:::3;;::::0;:46;::::3;6116:79;;;;-1:-1:-1::0;;;6116:79:8::3;;;;;;;:::i;:::-;6220:9;6215:938;6239:6;:13;6235:1;:17;6215:938;;;6293:11;6281:6;6288:1;6281:9;;;;;;-1:-1:-1::0;;;6281:9:8::3;;;;;;;;;;;;;;;:23;6273:77;;;;-1:-1:-1::0;;;6273:77:8::3;;;;;;;:::i;:::-;6378:6;6385:1;6378:9;;;;;;-1:-1:-1::0;;;6378:9:8::3;;;;;;;;;;;;;;;6364:23;;6426:11;;;;;;;;;-1:-1:-1::0;;;;;6426:11:8::3;-1:-1:-1::0;;;;;6426:25:8::3;;6452:5;6459:7;6468:6;6475:1;6468:9;;;;;;-1:-1:-1::0;;;6468:9:8::3;;;;;;;;;;;;;;;6426:52;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6413:66;::::0;:9;:66:::3;:::i;:::-;6498:15;::::0;;;:8:::3;:15;::::0;;;;;;;6514:10:::3;6498:27:::0;;;;;;;;:39:::3;::::0;6401:78;;-1:-1:-1;6498:44:8;:78;::::3;;;;6559:17;6546:9;:30;;6498:78;6494:168;;;6638:6;6645:1;6638:9;;;;;;-1:-1:-1::0;;;6638:9:8::3;;;;;;;;;;::::0;;::::3;::::0;;;;;;;6596:15:::3;::::0;;;:8:::3;:15:::0;;;;;;;6612:10:::3;6596:27:::0;;;;;;;;:39;;::::3;:51:::0;6494:168:::3;6679:15;::::0;;;:8:::3;:15;::::0;;;;;;;6695:10:::3;6679:27:::0;;;;;;;:34:::3;;::::0;:39;:67;::::3;;;;6734:12;6722:9;:24;6679:67;6675:152;;;6803:6;6810:1;6803:9;;;;;;-1:-1:-1::0;;;6803:9:8::3;;;;;;;;;;::::0;;::::3;::::0;;;;;;;6766:15:::3;::::0;;;:8:::3;:15:::0;;;;;;6782:10:::3;6766:27:::0;;;;;;;;;:34:::3;;:46:::0;6675:152:::3;6844:15;::::0;;;:8:::3;:15;::::0;;;;;;;6860:10:::3;6844:27:::0;;;;;;;:40:::3;;::::0;:45;:79;::::3;;;;6905:18;6893:9;:30;6844:79;6840:170;;;6986:6;6993:1;6986:9;;;;;;-1:-1:-1::0;;;6986:9:8::3;;;;;;;;;;::::0;;::::3;::::0;;;;;;;6943:15:::3;::::0;;;:8:::3;:15:::0;;;;;;6959:10:::3;6943:27:::0;;;;;;;;;:40:::3;;:52:::0;6840:170:::3;7130:5;7118:9;:17;7114:28;;;7137:5;;7114:28;6254:3:::0;::::3;::::0;::::3;:::i;:::-;;;;6215:938;;;-1:-1:-1::0;7162:15:8::3;::::0;;;:8:::3;:15;::::0;;;;;;;7178:10:::3;7162:27:::0;;;;;;;;:39:::3;::::0;::::3;:53:::0;;;;7225:49;;;-1:-1:-1;;;;;;;5341:1940:8:o;7383:204::-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;1165:12:8::1;::::0;:23:::1;::::0;;-1:-1:-1;;;1165:23:8;;;;7464:5;;-1:-1:-1;;;;;1165:12:8::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1156:5;:32;1148:60;;;;-1:-1:-1::0;;;1148:60:8::1;;;;;;;:::i;:::-;7482:9:::2;:17;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1232:124;;1295:12;;;;;;;;;-1:-1:-1::0;;;;;1295:12:8::2;-1:-1:-1::0;;;;;1295:21:8::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1286:5;:32;1278:60;;;;-1:-1:-1::0;;;1278:60:8::2;;;;;;;:::i;:::-;-1:-1:-1::0;;7547:33:8::3;::::0;;::::3;::::0;::::3;::::0;;-1:-1:-1;7547:33:8;;;::::3;::::0;;::::3;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;;7517:15;;;:8:::3;:15:::0;;;;;;7533:10:::3;7517:27:::0;;;;;;;;;:63;;;;;;::::3;::::0;::::3;::::0;;;;::::3;::::0;;::::3;::::0;::::3;::::0;;;::::3;::::0;::::3;::::0;;;::::3;::::0;;::::3;::::0;7383:204::o;437:33::-;;;-1:-1:-1;;;;;437:33:8;;:::o;171:73:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3867:137:0:-;3945:4;3968:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;289:58:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;289:58:18;-1:-1:-1;289:58:18;;;:::o;8789:1267:8:-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;8841:9:8::1;:31;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1::0;;;314:65:7::1;;;;;;;:::i;:::-;8902:12:8::2;::::0;:23:::2;::::0;;-1:-1:-1;;;8902:23:8;;;;8886:13:::2;::::0;-1:-1:-1;;;;;8902:12:8::2;::::0;:21:::2;::::0;:23:::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;:12;:23;::::2;;::::0;::::2;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8886:39;;8949:7;8944:1097;8964:14;:25;8979:9;8987:1;8979:5:::0;:9:::2;:::i;:::-;8964:25:::0;;::::2;::::0;::::2;::::0;;;;;;-1:-1:-1;8964:25:8;:32;8960:36:::2;::::0;::::2;;8944:1097;;;9021:14;:25;9036:9;9044:1;9036:5:::0;:9:::2;:::i;:::-;9021:25;;;;;;;;;;;9047:1;9021:28;;;;;;;;-1:-1:-1::0;;;9021:28:8::2;;;;;;;;;;::::0;;;::::2;::::0;;;:34:::2;:28;::::0;;::::2;;:34;::::0;::::2;;9017:1014;;;9095:14;:25;9110:9;9118:1;9110:5:::0;:9:::2;:::i;:::-;9095:25;;;;;;;;;;;9121:1;9095:28;;;;;;;;-1:-1:-1::0;;;9095:28:8::2;;;;;;;;;;;;;;;;;;;9075:6;:17;9090:1;9082:5;:9;;;;:::i;:::-;9075:17:::0;;::::2;::::0;::::2;::::0;;;;;;-1:-1:-1;9075:17:8;:48;;;;::::2;::::0;;::::2;::::0;;::::2;::::0;;::::2;::::0;;::::2;:::i;:::-;-1:-1:-1::0;9075:48:8::2;::::0;;::::2;::::0;;::::2;::::0;;::::2;::::0;;::::2;:::i;:::-;-1:-1:-1::0;9075:48:8::2;::::0;;::::2;::::0;;::::2;::::0;;::::2;::::0;;::::2;:::i;:::-;-1:-1:-1::0;9075:48:8::2;::::0;;::::2;::::0;;::::2;::::0;;::::2;::::0;;::::2;:::i;:::-;-1:-1:-1::0;9075:48:8::2;::::0;;::::2;::::0;;;::::2;::::0;::::2;::::0;;::::2;::::0;;;::::2;::::0;::::2;::::0;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;9075:48:8::2;;::::0;;::::2;;;::::0;;;::::2;::::0;;-1:-1:-1;9162:14:8::2;-1:-1:-1::0;9177:9:8::2;-1:-1:-1::0;9177:5:8;:9:::2;:::i;:::-;9162:25;;;;;;;;;;;9188:1;9162:28;;;;;;;;-1:-1:-1::0;;;9162:28:8::2;;;;;;;;;;::::0;;;::::2;::::0;;;::::2;::::0;;::::2;;:39:::0;;-1:-1:-1;9224:432:8::2;9239:9;9247:1;9239:5:::0;:9:::2;:::i;:::-;9286:10:::0;9334:14:::2;:25;9349:9;9357:1;9349:5:::0;:9:::2;:::i;:::-;9334:25;;;;;;;;;;;9360:1;9334:28;;;;;;;;-1:-1:-1::0;;;9334:28:8::2;;;;;;;;;;;;;;;;;;;:36;;9408:14;:25;9431:1;9423:5;:9;;;;:::i;:::-;9408:25;;;;;;;;;;;9434:1;9408:28;;;;;;;;-1:-1:-1::0;;;9408:28:8::2;;;;;;;;;;;;;;;;;;;:41;;9487:14;:25;9510:1;9502:5;:9;;;;:::i;:::-;9487:25;;;;;;;;;;;9513:1;9487:28;;;;;;;;-1:-1:-1::0;;;9487:28:8::2;;;;;;;;;;;;;;;;;;;:42;;9567:14;:25;9590:1;9582:5;:9;;;;:::i;:::-;9567:25;;;;;;;;;;;9593:1;9567:28;;;;;;;;-1:-1:-1::0;;;9567:28:8::2;;;;;;;;;;;;;;;;;;;:35;;9640:15;9224:432;;;;;;;;;;;;:::i;:::-;;;;;;;;9679:7;9674:254;9696:14;:25;9711:9;9719:1;9711:5:::0;:9:::2;:::i;:::-;9696:25;;;;;;;;;;;9722:1;9696:28;;;;;;;;-1:-1:-1::0;;;9696:28:8::2;;;;;;;;;;;;;;;;;;;:35;;:42;;;;9692:1;:46;;;9674:254;;;9767:10;::::0;-1:-1:-1;;;;;9767:10:8::2;:21;9789:14;9767:10;9804:9;9767:10:::0;9804:5;:9:::2;:::i;:::-;9789:25;;;;;;;;;;;9815:1;9789:28;;;;;;;;-1:-1:-1::0;;;9789:28:8::2;;;;;;;;;;;;;;;;;;;:35;;9825:1;9789:38;;;;;;;;-1:-1:-1::0;;;9789:38:8::2;;;;;;;;;;;;;;;;;9869:14;:25;9892:1;9884:5;:9;;;;:::i;:::-;9869:25;;;;;;;;;;;9895:1;9869:28;;;;;;;;-1:-1:-1::0;;;9869:28:8::2;;;;;;;;;;;;;;;;;;;:36;;9906:1;9869:39;;;;;;;;-1:-1:-1::0;;;9869:39:8::2;;;;;;;;;;;;;;;;;9767:142;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;9740:3;;;;;:::i;:::-;;;;9674:254;;;-1:-1:-1::0;9945:12:8::2;::::0;:47:::2;::::0;;;;-1:-1:-1;;;;;9945:12:8;;::::2;::::0;:28:::2;::::0;:47:::2;::::0;9974:10;;9986:5;;9945:47:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;10010:7;;;;;9017:1014;8998:3:::0;::::2;::::0;::::2;:::i;:::-;;;;8944:1097;;;;389:1:7;;2057::24::1;8789:1267:8:o:0;2363:49:0:-;2408:4;2363:49;:::o;2545:467:8:-;2691:27;;:::i;:::-;2732:30;2776;2820:31;2886:14;:21;2901:5;2886:21;;;;;;;;;;;2908:13;2886:36;;;;;;-1:-1:-1;;;2886:36:8;;;;;;;;;;;;;;;;;;;2877:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2877:45:8;;;-1:-1:-1;;2877:45:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2947:14;;;;2963:19;;;;2984:20;;;;2947:14;;;;-1:-1:-1;2963:19:8;-1:-1:-1;2984:20:8;;-1:-1:-1;2545:467:8;-1:-1:-1;;;2545:467:8:o;3018:237::-;3173:21;;;;:14;:21;;;;;:36;;3115:30;;3173:21;3195:13;;3173:36;;;;-1:-1:-1;;;3173:36:8;;;;;;;;;;;;;;;;;;;:44;;3157:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:237;;;;:::o;2141:184::-;2261:13;;;;:6;:13;;;;;;;;;:26;;2245:42;;;;;;;;;;;;;;;;;2203:30;;2245:42;;;2261:26;2245:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2141:184;;;:::o;5018:231:0:-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;3261:133:8:-;3332:7;3358:21;;;:14;:21;;;;;:28;;3261:133::o;353:48:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1362:460:8:-;1623:13:24;;;;;;;;:30;;-1:-1:-1;1641:12:24;;;;1640:13;1623:30;1615:89;;;;-1:-1:-1;;;1615:89:24;;;;;;;:::i;:::-;1715:19;1738:13;;;;;;1737:14;1761:98;;;;1795:13;:20;;-1:-1:-1;;;;1795:20:24;;;;;1829:19;1811:4;1829:19;;;1761:98;2408:4:0::1;322:26:7;2408:4:0::0;337:10:7::1;322:7;:26::i;:::-;314:65;;;;-1:-1:-1::0;;;314:65:7::1;;;;;;;:::i;:::-;-1:-1:-1::0;1598:12:8::2;:49:::0;;-1:-1:-1;;;;;1598:49:8;;::::2;::::0;;;::::2;;::::0;;;1657:12:::2;:49:::0;;;;::::2;::::0;;::::2;;::::0;;1716:11:::2;:46:::0;;;;::::2;::::0;;::::2;;::::0;;1772:10:::2;:43:::0;;;;::::2;::::0;;;::::2;::::0;;;::::2;::::0;;1881:66:24;;;;1931:5;1915:21;;-1:-1:-1;;1915:21:24;;;1881:66;1362:460:8;;;;;:::o;2331:208::-;2473:13;;;;:6;:13;;;;;;;;;:27;;;2456:44;;;;;;;;;;;;;;;;;2408:31;;2456:44;;;2473:27;2456:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:208;;;:::o;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;10921:1047:8:-;11018:21;;;;:14;:21;;;;;:28;11014:118;;11067:21;;;;:14;:21;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11094:6;;11067:34;;;;;;;;;:::i;:::-;-1:-1:-1;11067:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11067:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11067:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11067:34:8;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11067:34:8;;;;;;;;;;11115:7;;11014:118;11142:14;11159:21;;;:14;:21;;;;;:28;;11197:352;11221:21;;;;:14;:21;;;;;:28;11217:32;;11197:352;;;11314:19;;;;11274:21;;;;:14;:21;;;;;:24;;11296:1;;11274:24;;;;-1:-1:-1;;;11274:24:8;;;;;;;;;;;;;;;;;;;:37;;;:59;11270:131;;;11362:1;11353:10;;11381:5;;11270:131;11455:16;;;;11418:21;;;;:14;:21;;;;;:24;;11440:1;;11418:24;;;;-1:-1:-1;;;11418:24:8;;;;;;;;;;;;;;;;;;;:34;;;:53;11414:125;;;11500:1;11491:10;;11519:5;;11414:125;11251:3;;;;:::i;:::-;;;;11197:352;;;-1:-1:-1;11559:21:8;;;;:14;:21;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11586:6;;11559:34;;;;;;;;;:::i;:::-;-1:-1:-1;11559:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11559:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11559:34:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11559:34:8;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11559:34:8;;;;;;;;;;-1:-1:-1;11620:21:8;;;:14;:21;;;;;:28;:32;;-1:-1:-1;;11620:32:8;:::i;:::-;11608:44;;11603:150;11659:6;11654:1;:12;11603:150;;;11714:21;;;;:14;:21;;;;;11736:5;11740:1;11736;:5;:::i;:::-;11714:28;;;;;;-1:-1:-1;;;11714:28:8;;;;;;;;;;;;;;;;;;;11687:14;:21;11702:5;11687:21;;;;;;;;;;;11709:1;11687:24;;;;;;-1:-1:-1;;;11687:24:8;;;;;;;;;;;;;;;;;:55;;:24;;;;;:55;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11687:55:8;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11687:55:8;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11687:55:8;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11687:55:8;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11687:55:8;;;;;;;;;;;;;11668:3;;;;:::i;:::-;;;;11603:150;;;-1:-1:-1;11763:21:8;;;;:14;:21;;;;;:29;;11795:6;;11763:21;11785:6;;11763:29;;;;-1:-1:-1;;;11763:29:8;;;;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11763:38:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11763:38:8;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11763:38:8;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11847:9;:22;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11816:21;;;;:14;:21;;;;;:28;:55;11812:150;;;11895:21;;;;:14;:21;;;;;11917:28;;:32;;11948:1;;11917:32;:::i;:::-;11895:55;;;;;;-1:-1:-1;;;11895:55:8;;;;;;;;;;;;;;;;;;;;;11887:64;;;11895:55;11887:64;;;;11895:55;11887:64;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;11887:64:8;;;;;;;;;;;;;;;-1:-1:-1;;11887:64:8;;;10921:1047;;;:::o;586:96:3:-;665:10;586:96;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:12;;;;7096:4;7064:12;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;;;;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:142:29;95:13;;117:33;95:13;117:33;:::i;161:926::-;;274:3;267:4;259:6;255:17;251:27;241:2;;296:5;289;282:20;241:2;336:6;323:20;362:4;385:18;422:2;418;415:10;412:2;;;428:18;;:::i;:::-;475:2;471;467:11;507:2;501:9;558:2;553;545:6;541:15;537:24;611:6;599:10;596:22;591:2;579:10;576:18;573:46;570:2;;;622:18;;:::i;:::-;658:2;651:22;708:18;;;742:15;;;;-1:-1:-1;777:15:29;;;811;;;807:24;;804:33;-1:-1:-1;801:2:29;;;854:5;847;840:20;801:2;880:5;871:14;;894:163;908:2;905:1;902:9;894:163;;;965:17;;953:30;;1003:12;;;;926:1;919:9;;;;;1035:12;;894:163;;;-1:-1:-1;1075:6:29;231:856;-1:-1:-1;;;;;;;231:856:29:o;1092:689::-;;;;;1255:3;1243:9;1234:7;1230:23;1226:33;1223:2;;;1277:6;1269;1262:22;1223:2;1321:9;1308:23;1340:33;1367:5;1340:33;:::i;:::-;1392:5;-1:-1:-1;1449:2:29;1434:18;;1421:32;1462:35;1421:32;1462:35;:::i;:::-;1516:7;-1:-1:-1;1575:2:29;1560:18;;1547:32;1588:35;1547:32;1588:35;:::i;:::-;1642:7;-1:-1:-1;1701:2:29;1686:18;;1673:32;1714:35;1673:32;1714:35;:::i;:::-;1213:568;;;;-1:-1:-1;1213:568:29;;-1:-1:-1;;1213:568:29:o;1786:190::-;;1898:2;1886:9;1877:7;1873:23;1869:32;1866:2;;;1919:6;1911;1904:22;1866:2;-1:-1:-1;1947:23:29;;1856:120;-1:-1:-1;1856:120:29:o;1981:194::-;;2104:2;2092:9;2083:7;2079:23;2075:32;2072:2;;;2125:6;2117;2110:22;2072:2;-1:-1:-1;2153:16:29;;2062:113;-1:-1:-1;2062:113:29:o;2180:327::-;;;2309:2;2297:9;2288:7;2284:23;2280:32;2277:2;;;2330:6;2322;2315:22;2277:2;2371:9;2358:23;2348:33;;2431:2;2420:9;2416:18;2403:32;2444:33;2471:5;2444:33;:::i;:::-;2496:5;2486:15;;;2267:240;;;;;:::o;2512:352::-;;2623:2;2611:9;2602:7;2598:23;2594:32;2591:2;;;2644:6;2636;2629:22;2591:2;2688:9;2675:23;2738:66;2731:5;2727:78;2720:5;2717:89;2707:2;;2825:6;2817;2810:22;2869:920;;2994:3;3038:2;3026:9;3017:7;3013:23;3009:32;3006:2;;;3059:6;3051;3044:22;3006:2;3097;3091:9;3127:15;;;;3172:18;3157:34;;3193:22;;;3154:62;3151:2;;;3219:18;;:::i;:::-;3259:10;3255:2;3248:22;3300:9;3294:16;3286:6;3279:32;3344:51;3391:2;3380:9;3376:18;3344:51;:::i;:::-;3339:2;3331:6;3327:15;3320:76;3450:2;3439:9;3435:18;3429:25;3424:2;3416:6;3412:15;3405:50;3509:2;3498:9;3494:18;3488:25;3483:2;3475:6;3471:15;3464:50;3569:3;3558:9;3554:19;3548:26;3542:3;3534:6;3530:16;3523:52;3630:3;3619:9;3615:19;3609:26;3603:3;3595:6;3591:16;3584:52;3691:3;3680:9;3676:19;3670:26;3664:3;3656:6;3652:16;3645:52;3752:3;3741:9;3737:19;3731:26;3725:3;3717:6;3713:16;3706:52;3777:6;3767:16;;;;2974:815;;;;:::o;4520:1329::-;;;;;;;;4834:3;4822:9;4813:7;4809:23;4805:33;4802:2;;;4856:6;4848;4841:22;4802:2;4897:9;4884:23;4874:33;;4958:2;4947:9;4943:18;4930:32;4981:18;5022:2;5014:6;5011:14;5008:2;;;5043:6;5035;5028:22;5008:2;5071:67;5130:7;5121:6;5110:9;5106:22;5071:67;:::i;:::-;5061:77;;5191:2;5180:9;5176:18;5163:32;5147:48;;5220:2;5210:8;5207:16;5204:2;;;5241:6;5233;5226:22;5204:2;5269:69;5330:7;5319:8;5308:9;5304:24;5269:69;:::i;:::-;5259:79;;5391:2;5380:9;5376:18;5363:32;5347:48;;5420:2;5410:8;5407:16;5404:2;;;5441:6;5433;5426:22;5404:2;5469:69;5530:7;5519:8;5508:9;5504:24;5469:69;:::i;:::-;5459:79;;5591:3;5580:9;5576:19;5563:33;5547:49;;5621:2;5611:8;5608:16;5605:2;;;5642:6;5634;5627:22;5605:2;;5670:69;5731:7;5720:8;5709:9;5705:24;5670:69;:::i;:::-;5660:79;;;5786:3;5775:9;5771:19;5758:33;5748:43;;5838:3;5827:9;5823:19;5810:33;5800:43;;4792:1057;;;;;;;;;;:::o;5854:258::-;;;5983:2;5971:9;5962:7;5958:23;5954:32;5951:2;;;6004:6;5996;5989:22;5951:2;-1:-1:-1;;6032:23:29;;;6102:2;6087:18;;;6074:32;;-1:-1:-1;5941:171:29:o;6117:510::-;;;;6288:2;6276:9;6267:7;6263:23;6259:32;6256:2;;;6309:6;6301;6294:22;6256:2;6350:9;6337:23;6327:33;;6407:2;6396:9;6392:18;6379:32;6369:42;;6462:2;6451:9;6447:18;6434:32;6489:18;6481:6;6478:30;6475:2;;;6526:6;6518;6511:22;6475:2;6554:67;6613:7;6604:6;6593:9;6589:22;6554:67;:::i;:::-;6544:77;;;6246:381;;;;;:::o;6632:326::-;;;;6778:2;6766:9;6757:7;6753:23;6749:32;6746:2;;;6799:6;6791;6784:22;6746:2;-1:-1:-1;;6827:23:29;;;6897:2;6882:18;;6869:32;;-1:-1:-1;6948:2:29;6933:18;;;6920:32;;6736:222;-1:-1:-1;6736:222:29:o;6963:293::-;;7084:2;7072:9;7063:7;7059:23;7055:32;7052:2;;;7105:6;7097;7090:22;7052:2;7142:9;7136:16;7192:4;7185:5;7181:16;7174:5;7171:27;7161:2;;7217:6;7209;7202:22;7261:443;;7358:5;7352:12;7385:6;7380:3;7373:19;7411:4;7440:2;7435:3;7431:12;7424:19;;7477:2;7470:5;7466:14;7498:3;7510:169;7524:6;7521:1;7518:13;7510:169;;;7585:13;;7573:26;;7619:12;;;;7654:15;;;;7546:1;7539:9;7510:169;;;-1:-1:-1;7695:3:29;;7328:376;-1:-1:-1;;;;;7328:376:29:o;7709:481::-;;7814:5;7808:12;7841:6;7836:3;7829:19;7867:4;7896:2;7891:3;7887:12;7880:19;;7920:5;7915:3;7908:18;7964:2;7959:3;7949:18;7985:3;7997:168;8011:6;8008:1;8005:13;7997:168;;;8072:13;;8060:26;;8106:12;;;;8153:1;8141:14;;;;8026:9;7997:168;;8195:93;8267:13;8260:21;8248:34;;8238:50::o;8293:1089::-;;8372:6;8405:5;8399:12;8394:3;8387:25;8458:4;8451:5;8447:16;8441:23;8496:2;8489:4;8484:3;8480:14;8473:26;8520:62;8578:2;8573:3;8569:12;8555;8520:62;:::i;:::-;8508:74;;;8630:4;8623:5;8619:16;8613:23;8678:3;8672:4;8668:14;8661:4;8656:3;8652:14;8645:38;8706:56;8757:4;8741:14;8706:56;:::i;:::-;8692:70;;;8810:4;8803:5;8799:16;8793:23;8860:3;8852:6;8848:16;8841:4;8836:3;8832:14;8825:40;8888:58;8939:6;8923:14;8888:58;:::i;:::-;8874:72;;;8994:4;8987:5;8983:16;8977:23;9044:3;9036:6;9032:16;9025:4;9020:3;9016:14;9009:40;9072:58;9123:6;9107:14;9072:58;:::i;:::-;9058:72;;;9179:4;9172:5;9168:16;9162:23;9155:4;9150:3;9146:14;9139:47;9235:4;9228:5;9224:16;9218:23;9211:4;9206:3;9202:14;9195:47;9290:4;9283:5;9279:16;9273:23;9305:49;9348:4;9343:3;9339:14;9323;9305:49;:::i;:::-;-1:-1:-1;9370:6:29;8352:1030;-1:-1:-1;;;8352:1030:29:o;9387:226::-;-1:-1:-1;;;;;9551:55:29;;;;9533:74;;9521:2;9506:18;;9488:125::o;9618:267::-;;9797:2;9786:9;9779:21;9817:62;9875:2;9864:9;9860:18;9852:6;9817:62;:::i;9890:187::-;10055:14;;10048:22;10030:41;;10018:2;10003:18;;9985:92::o;10082:177::-;10228:25;;;10216:2;10201:18;;10183:76::o;11273:274::-;11492:4;11480:17;;;;11462:36;;11529:2;11514:18;;11507:34;11450:2;11435:18;;11417:130::o;11552:345::-;11799:4;11787:17;;;;11769:36;;11836:2;11821:18;;11814:34;;;;11879:2;11864:18;;11857:34;11757:2;11742:18;;11724:173::o;11902:411::-;12104:2;12086:21;;;12143:2;12123:18;;;12116:30;12182:34;12177:2;12162:18;;12155:62;12253:17;12248:2;12233:18;;12226:45;12303:3;12288:19;;12076:237::o;12318:405::-;12520:2;12502:21;;;12559:2;12539:18;;;12532:30;12598:34;12593:2;12578:18;;12571:62;12669:11;12664:2;12649:18;;12642:39;12713:3;12698:19;;12492:231::o;12728:335::-;12930:2;12912:21;;;12969:2;12949:18;;;12942:30;13008:13;13003:2;12988:18;;12981:41;13054:2;13039:18;;12902:161::o;13068:412::-;13270:2;13252:21;;;13309:2;13289:18;;;13282:30;13348:34;13343:2;13328:18;;13321:62;13419:18;13414:2;13399:18;;13392:46;13470:3;13455:19;;13242:238::o;13485:410::-;13687:2;13669:21;;;13726:2;13706:18;;;13699:30;13765:34;13760:2;13745:18;;13738:62;13836:16;13831:2;13816:18;;13809:44;13885:3;13870:19;;13659:236::o;13900:354::-;14102:2;14084:21;;;14141:2;14121:18;;;14114:30;14180:32;14175:2;14160:18;;14153:60;14245:2;14230:18;;14074:180::o;14259:339::-;14461:2;14443:21;;;14500:2;14480:18;;;14473:30;14539:17;14534:2;14519:18;;14512:45;14589:2;14574:18;;14433:165::o;14603:350::-;14805:2;14787:21;;;14844:2;14824:18;;;14817:30;14883:28;14878:2;14863:18;;14856:56;14944:2;14929:18;;14777:176::o;14958:344::-;15160:2;15142:21;;;15199:2;15179:18;;;15172:30;15238:22;15233:2;15218:18;;15211:50;15293:2;15278:18;;15132:170::o;15307:344::-;15509:2;15491:21;;;15548:2;15528:18;;;15521:30;15587:22;15582:2;15567:18;;15560:50;15642:2;15627:18;;15481:170::o;15656:419::-;15858:2;15840:21;;;15897:2;15877:18;;;15870:30;15936:34;15931:2;15916:18;;15909:62;16007:25;16002:2;15987:18;;15980:53;16065:3;16050:19;;15830:245::o;16080:349::-;16282:2;16264:21;;;16321:2;16301:18;;;16294:30;16360:27;16355:2;16340:18;;16333:55;16420:2;16405:18;;16254:175::o;16434:397::-;16636:2;16618:21;;;16675:2;16655:18;;;16648:30;16714:34;16709:2;16694:18;;16687:62;16785:3;16780:2;16765:18;;16758:31;16821:3;16806:19;;16608:223::o;16836:339::-;17038:2;17020:21;;;17077:2;17057:18;;;17050:30;17116:17;17111:2;17096:18;;17089:45;17166:2;17151:18;;17010:165::o;17180:411::-;17382:2;17364:21;;;17421:2;17401:18;;;17394:30;17460:34;17455:2;17440:18;;17433:62;17531:17;17526:2;17511:18;;17504:45;17581:3;17566:19;;17354:237::o;17596:255::-;;17771:2;17760:9;17753:21;17791:54;17841:2;17830:9;17826:18;17818:6;17791:54;:::i;17856:887::-;;18265:3;18254:9;18247:22;18292:55;18342:3;18331:9;18327:19;18319:6;18292:55;:::i;:::-;18395:9;18387:6;18383:22;18378:2;18367:9;18363:18;18356:50;18429;18472:6;18464;18429:50;:::i;:::-;18415:64;;18527:9;18519:6;18515:22;18510:2;18499:9;18495:18;18488:50;18561;18604:6;18596;18561:50;:::i;:::-;18547:64;;18659:9;18651:6;18647:22;18642:2;18631:9;18627:18;18620:50;18687;18730:6;18722;18687:50;:::i;:::-;18679:58;18237:506;-1:-1:-1;;;;;;;18237:506:29:o;18930:368::-;19132:25;;;-1:-1:-1;;;;;19193:55:29;;;;19188:2;19173:18;;19166:83;19280:2;19265:18;;19258:34;19120:2;19105:18;;19087:211::o;19303:248::-;19477:25;;;19533:2;19518:18;;19511:34;19465:2;19450:18;;19432:119::o;19556:1279::-;;20101:3;20131:6;20120:9;20113:25;20174:6;20169:2;20158:9;20154:18;20147:34;20217:2;20212;20201:9;20197:18;20190:30;20243:62;20301:2;20290:9;20286:18;20278:6;20243:62;:::i;:::-;20229:76;;20353:9;20345:6;20341:22;20336:2;20325:9;20321:18;20314:50;20387;20430:6;20422;20387:50;:::i;:::-;20373:64;;20486:9;20478:6;20474:22;20468:3;20457:9;20453:19;20446:51;20520:50;20563:6;20555;20520:50;:::i;:::-;20506:64;;20619:9;20611:6;20607:22;20601:3;20590:9;20586:19;20579:51;20647:50;20690:6;20682;20647:50;:::i;:::-;20728:3;20713:19;;20706:35;;;;-1:-1:-1;;20772:3:29;20757:19;;20750:35;;;;20816:3;20801:19;;;20794:35;20639:58;20081:754;-1:-1:-1;;;;;;20081:754:29:o;20840:1135::-;;21325:6;21314:9;21307:25;21368:6;21363:2;21352:9;21348:18;21341:34;21411:3;21406:2;21395:9;21391:18;21384:31;21438:71;21504:3;21493:9;21489:19;21481:6;21438:71;:::i;:::-;21557:9;21549:6;21545:22;21540:2;21529:9;21525:18;21518:50;21591:58;21642:6;21634;21591:58;:::i;:::-;21577:72;;21698:9;21690:6;21686:22;21680:3;21669:9;21665:19;21658:51;21732:58;21783:6;21775;21732:58;:::i;:::-;21718:72;;21839:9;21831:6;21827:22;21821:3;21810:9;21806:19;21799:51;21867:58;21918:6;21910;21867:58;:::i;:::-;21859:66;;;21962:6;21956:3;21945:9;21941:19;21934:35;21297:678;;;;;;;;;;:::o;21980:319::-;22182:25;;;22238:2;22223:18;;22216:34;;;;22281:2;22266:18;;22259:34;22170:2;22155:18;;22137:162::o;22304:401::-;22529:25;;;22585:2;22570:18;;22563:34;;;;22628:2;22613:18;;22606:34;22683:14;22676:22;22671:2;22656:18;;22649:50;22516:3;22501:19;;22483:222::o;22710:535::-;22997:25;;;23053:2;23038:18;;23031:34;;;;23096:2;23081:18;;23074:34;;;;23139:2;23124:18;;23117:34;23182:3;23167:19;;23160:35;23226:3;23211:19;;23204:35;22984:3;22969:19;;22951:294::o;23250:128::-;;23321:1;23317:6;23314:1;23311:13;23308:2;;;23327:18;;:::i;:::-;-1:-1:-1;23363:9:29;;23298:80::o;23383:120::-;;23449:1;23439:2;;23454:18;;:::i;:::-;-1:-1:-1;23488:9:29;;23429:74::o;23508:168::-;;23614:1;23610;23606:6;23602:14;23599:1;23596:21;23591:1;23584:9;23577:17;23573:45;23570:2;;;23621:18;;:::i;:::-;-1:-1:-1;23661:9:29;;23560:116::o;23681:125::-;;23749:1;23746;23743:8;23740:2;;;23754:18;;:::i;:::-;-1:-1:-1;23791:9:29;;23730:76::o;23811:136::-;;23878:5;23868:2;;23887:18;;:::i;:::-;-1:-1:-1;;;23923:18:29;;23858:89::o;23952:135::-;;-1:-1:-1;;24012:17:29;;24009:2;;;24032:18;;:::i;:::-;-1:-1:-1;24079:1:29;24068:13;;23999:88::o;24092:175::-;;24173:4;24166:5;24162:16;24202:4;24193:7;24190:17;24187:2;;;24210:18;;:::i;:::-;24259:1;24246:15;;24137:130;-1:-1:-1;;24137:130:29:o;24272:112::-;;24330:1;24320:2;;24335:18;;:::i;:::-;-1:-1:-1;24369:9:29;;24310:74::o;24389:184::-;-1:-1:-1;;;24438:1:29;24431:88;24538:4;24535:1;24528:15;24562:4;24559:1;24552:15;24578:184;-1:-1:-1;;;24627:1:29;24620:88;24727:4;24724:1;24717:15;24751:4;24748:1;24741:15;24767:184;-1:-1:-1;;;24816:1:29;24809:88;24916:4;24913:1;24906:15;24940:4;24937:1;24930:15;24956:156;-1:-1:-1;;;;;25037:5:29;25033:54;25026:5;25023:65;25013:2;;25102:1;25099;25092:12" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "blocks(uint256)": "f25b3f99", - "confirmBlock()": "9b87f644", - "disputes(uint256,address)": "828496d6", - "finalizeDispute(uint256,uint256)": "3cd32fd4", - "getBlock(uint256)": "04c07569", - "getBlockMedians(uint256)": "378ab9a9", - "getHigherCutoffs(uint256)": "fae4425d", - "getLowerCutoffs(uint256)": "d2a4669a", - "getNumProposedBlocks(uint256)": "e38c7c42", - "getProposedBlock(uint256,uint256)": "a27ce1ef", - "getProposedBlockMedians(uint256,uint256)": "d1a4a43d", - "getRoleAdmin(bytes32)": "248a9ca3", - "giveSorted(uint256,uint256,uint256[])": "4e6753b7", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "initialize(address,address,address,address)": "f8c8765e", - "isElectedProposer(uint256,uint256,uint256)": "1d69ff9b", - "jobManager()": "3df395a3", - "propose(uint256,uint256[],uint256[],uint256[],uint256[],uint256,uint256)": "17d99c04", - "proposedBlocks(uint256,uint256)": "92b48411", - "renounceRole(bytes32,address)": "36568abe", - "resetDispute(uint256)": "5ce8772f", - "revokeRole(bytes32,address)": "d547741f", - "stakeManager()": "7542ff95", - "stateManager()": "2e716fb1", - "supportsInterface(bytes4)": "01ffc9a7", - "voteManager()": "42c1e587" - } - } - } - }, - "contracts/Core/JobManager.sol": { - "JobManager": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "stateManagerAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "JobCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "JobReported", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - } - ], - "name": "createJob", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "jobId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "fulfillJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNumJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "jobs", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:326:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "95:229:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "141:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "150:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "158:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "143:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "143:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "143:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "116:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "125:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "112:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "112:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "137:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "108:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "108:32:29" - }, - "nodeType": "YulIf", - "src": "105:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "176:29:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "195:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "189:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "189:16:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "180:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "268:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "277:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "285:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "270:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "270:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "270:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "227:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "238:5:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "253:3:29", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "258:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "249:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "249:11:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "262:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "245:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "245:19:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "234:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "234:31:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "224:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "224:42:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "217:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "217:50:29" - }, - "nodeType": "YulIf", - "src": "214:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "303:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "313:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "303:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "61:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "72:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "84:6:29", - "type": "" - } - ], - "src": "14:310:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(value0, value0) }\n value0 := value\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1887 - } - ] - } - }, - "object": "60806040523480156200001157600080fd5b50604051620017a4380380620017a483398101604081905262000034916200012e565b6200004160003362000067565b600380546001600160a01b0319166001600160a01b03929092169190911790556200015e565b62000073828262000077565b5050565b62000083828262000101565b62000073576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000bd6200012a565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b60006020828403121562000140578081fd5b81516001600160a01b038116811462000157578182fd5b9392505050565b611636806200016e6000396000f3fe6080604052600436106100e85760003560e01c8063628aff1d1161008a578063995e433911610059578063995e433914610267578063a217fddf14610287578063bf22c4571461029c578063d547741f146102cd576100e8565b8063628aff1d1461020a5780637e0c00ed1461021d57806391d14854146102325780639212051c14610252576100e8565b80632e716fb1116100c65780632e716fb1146101865780632f2ff15d146101a857806336568abe146101ca57806356350bdf146101ea576100e8565b806301ffc9a7146100ed578063180aedf314610123578063248a9ca314610159575b600080fd5b3480156100f957600080fd5b5061010d610108366004611016565b6102ed565b60405161011a9190611242565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004610fac565b610349565b60405161011a9a99989796959493929190611487565b34801561016557600080fd5b50610179610174366004610fac565b610542565b60405161011a919061124d565b34801561019257600080fd5b5061019b610557565b60405161011a9190611256565b3480156101b457600080fd5b506101c86101c3366004610fdc565b610566565b005b3480156101d657600080fd5b506101c86101e5366004610fdc565b6105ad565b3480156101f657600080fd5b506101c861020536600461110b565b6105ef565b6101c861021836600461105d565b6107bf565b34801561022957600080fd5b50610179610a8d565b34801561023e57600080fd5b5061010d61024d366004610fdc565b610a93565b34801561025e57600080fd5b50610179610abc565b34801561027357600080fd5b50610179610282366004610fac565b610ac2565b34801561029357600080fd5b50610179610ad7565b3480156102a857600080fd5b506102bc6102b7366004610fac565b610adc565b60405161011a95949392919061126a565b3480156102d957600080fd5b506101c86102e8366004610fdc565b610d4e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610343575061034382610d76565b92915050565b600260208190526000918252604090912080546001820154928201805491939291610373906115c5565b80601f016020809104026020016040519081016040528092919081815260200182805461039f906115c5565b80156103ec5780601f106103c1576101008083540402835291602001916103ec565b820191906000526020600020905b8154815290600101906020018083116103cf57829003601f168201915b505050505090806003018054610401906115c5565b80601f016020809104026020016040519081016040528092919081815260200182805461042d906115c5565b801561047a5780601f1061044f5761010080835404028352916020019161047a565b820191906000526020600020905b81548152906001019060200180831161045d57829003601f168201915b50505050509080600401805461048f906115c5565b80601f01602080910402602001604051908101604052809291908181526020018280546104bb906115c5565b80156105085780601f106104dd57610100808354040283529160200191610508565b820191906000526020600020905b8154815290600101906020018083116104eb57829003601f168201915b50505050600583015460068401546007850154600890950154939460ff808416956101009094046001600160a01b0316945091929116908a565b60009081526020819052604090206001015490565b6003546001600160a01b031681565b61057a61057283610542565b61024d610dc0565b61059f5760405162461bcd60e51b8152600401610596906112b8565b60405180910390fd5b6105a98282610dc4565b5050565b6105b5610dc0565b6001600160a01b0316816001600160a01b0316146105e55760405162461bcd60e51b8152600401610596906113a9565b6105a98282610e49565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__637f890b116040518163ffffffff1660e01b815260040160206040518083038186803b15801561063357600080fd5b505af4158015610647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066b9190610fc4565b6106758133610a93565b6106915760405162461bcd60e51b815260040161059690611372565b60008381526002602090815260408083206003548251630eaf323560e31b815292519194936001600160a01b039091169263757991a89260048083019392829003018186803b1580156106e357600080fd5b505afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190610fc4565b600583015490915060ff1661073a5760078201805460ff191660011790555b6008820184905581546005830154600684015460078501546040517f9028bea5bfa7ed26c48df402d89085a995447dc8c1fb167cb92a3c7411b54480946107b09490938a93889360028b019360038c019360048d019360ff808416946101009094046001600160a01b031693911690429061150a565b60405180910390a15050505050565b600180546107cc916115a1565b60015560035460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561081457600080fd5b505afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190610fc4565b9050600060405180610140016040528060015481526020018381526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a9081908401838280828437600092019190915250505090825250604080516020601f8901819004810282018101909252878152918101919088908890819084018382808284376000920182905250938552505050851515602080840191909152336040808501919091523460608501526080840183905260a0909301829052600180548352600280835292849020855181558583015191810191909155928401518051949550859461097d938501929190910190610ecc565b5060608201518051610999916003840191602090910190610ecc565b50608082015180516109b5916004840191602090910190610ecc565b5060a082015160058201805460c085015160ff19918216931515939093177fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0390941684021790915560e0840151600684015590830151600783018054909216901515179055610120909101516008909101556001546040517fd4ae17fdeb78e69409330361e8f8475f8027928c6f28eae2195e5ae56570aba091610a7a9185908d908d908d908d908d908d908d90339034904290611406565b60405180910390a1505050505050505050565b60015490565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60015481565b60009081526002602052604090206008015490565b600081565b6060806060600080600060026000888152602001908152602001600020604051806101400160405290816000820154815260200160018201548152602001600282018054610b29906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610b55906115c5565b8015610ba25780601f10610b7757610100808354040283529160200191610ba2565b820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b50505050508152602001600382018054610bbb906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610be7906115c5565b8015610c345780601f10610c0957610100808354040283529160200191610c34565b820191906000526020600020905b815481529060010190602001808311610c1757829003601f168201915b50505050508152602001600482018054610c4d906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610c79906115c5565b8015610cc65780601f10610c9b57610100808354040283529160200191610cc6565b820191906000526020600020905b815481529060010190602001808311610ca957829003601f168201915b5050509183525050600582015460ff808216151560208401526101009091046001600160a01b031660408084019190915260068401546060808501919091526007850154909216151560808085019190915260089094015460a09384015284015190840151928401519184015161012090940151909b929a5090985091965090945092505050565b610d5a61057283610542565b6105e55760405162461bcd60e51b815260040161059690611315565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b610dce8282610a93565b6105a9576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610e05610dc0565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610e538282610a93565b156105a9576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055610e88610dc0565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b828054610ed8906115c5565b90600052602060002090601f016020900481019282610efa5760008555610f40565b82601f10610f1357805160ff1916838001178555610f40565b82800160010185558215610f40579182015b82811115610f40578251825591602001919060010190610f25565b50610f4c929150610f50565b5090565b5b80821115610f4c5760008155600101610f51565b60008083601f840112610f76578182fd5b50813567ffffffffffffffff811115610f8d578182fd5b602083019150836020828501011115610fa557600080fd5b9250929050565b600060208284031215610fbd578081fd5b5035919050565b600060208284031215610fd5578081fd5b5051919050565b60008060408385031215610fee578081fd5b8235915060208301356001600160a01b038116811461100b578182fd5b809150509250929050565b600060208284031215611027578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611056578182fd5b9392505050565b60008060008060008060006080888a031215611077578283fd5b873567ffffffffffffffff8082111561108e578485fd5b61109a8b838c01610f65565b909950975060208a01359150808211156110b2578485fd5b6110be8b838c01610f65565b909750955060408a01359150808211156110d6578485fd5b506110e38a828b01610f65565b909450925050606088013580151581146110fb578182fd5b8091505092959891949750929550565b6000806040838503121561111d578182fd5b50508035926020909101359150565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b8181101561117b5760208185018101518683018201520161115f565b8181111561118c5782602083870101525b50601f01601f19169290920160200192915050565b8054600090600281046001808316806111bb57607f831692505b60208084108214156111db57634e487b7160e01b86526022600452602486fd5b6111e5848961124d565b8280156111f9576001811461120a57611235565b60ff19871682528282019750611235565b61121389611595565b60005b8781101561122f57815484820152908601908401611216565b83019850505b5050505050505092915050565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b600060a0825261127d60a0830188611156565b828103602084015261128f8188611156565b905082810360408401526112a38187611156565b94151560608401525050608001529392505050565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60006101208e83528d60208401528060408401526114278184018d8f61112c565b9050828103606084015261143c818b8d61112c565b9050828103608084015261145181898b61112c565b96151560a084015250506001600160a01b039390931660c084015260e08301919091526101009091015298975050505050505050565b60006101408c83528b60208401528060408401526114a78184018c611156565b905082810360608401526114bb818b611156565b905082810360808401526114cf818a611156565b97151560a084015250506001600160a01b039490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60006101608d83528c60208401528b60408401528060608401526115308184018c6111a1565b90508281036080840152611544818b6111a1565b905082810360a0840152611558818a6111a1565b97151560c084015250506001600160a01b039490941660e08501526101008401929092521515610120830152610140909101529695505050505050565b60009081526020902090565b600082198211156115c057634e487b7160e01b81526011600452602481fd5b500190565b6002810460018216806115d957607f821691505b602082108114156115fa57634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220f608c0c25fd3f06a9e50ee840aefd76562ddb8ef3e2832bd16fea2d898fcac5a64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x17A4 CODESIZE SUB DUP1 PUSH3 0x17A4 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x12E JUMP JUMPDEST PUSH3 0x41 PUSH1 0x0 CALLER PUSH3 0x67 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH3 0x15E JUMP JUMPDEST PUSH3 0x73 DUP3 DUP3 PUSH3 0x77 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0x83 DUP3 DUP3 PUSH3 0x101 JUMP JUMPDEST PUSH3 0x73 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0xBD PUSH3 0x12A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x140 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x157 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1636 DUP1 PUSH3 0x16E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xE8 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x628AFF1D GT PUSH2 0x8A JUMPI DUP1 PUSH4 0x995E4339 GT PUSH2 0x59 JUMPI DUP1 PUSH4 0x995E4339 EQ PUSH2 0x267 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0xBF22C457 EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x2CD JUMPI PUSH2 0xE8 JUMP JUMPDEST DUP1 PUSH4 0x628AFF1D EQ PUSH2 0x20A JUMPI DUP1 PUSH4 0x7E0C00ED EQ PUSH2 0x21D JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x232 JUMPI DUP1 PUSH4 0x9212051C EQ PUSH2 0x252 JUMPI PUSH2 0xE8 JUMP JUMPDEST DUP1 PUSH4 0x2E716FB1 GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0x56350BDF EQ PUSH2 0x1EA JUMPI PUSH2 0xE8 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x180AEDF3 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x159 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x108 CALLDATASIZE PUSH1 0x4 PUSH2 0x1016 JUMP JUMPDEST PUSH2 0x2ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x1242 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x143 PUSH2 0x13E CALLDATASIZE PUSH1 0x4 PUSH2 0xFAC JUMP JUMPDEST PUSH2 0x349 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1487 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x165 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0x174 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAC JUMP JUMPDEST PUSH2 0x542 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x124D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19B PUSH2 0x557 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x1256 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0xFDC JUMP JUMPDEST PUSH2 0x566 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x1E5 CALLDATASIZE PUSH1 0x4 PUSH2 0xFDC JUMP JUMPDEST PUSH2 0x5AD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x205 CALLDATASIZE PUSH1 0x4 PUSH2 0x110B JUMP JUMPDEST PUSH2 0x5EF JUMP JUMPDEST PUSH2 0x1C8 PUSH2 0x218 CALLDATASIZE PUSH1 0x4 PUSH2 0x105D JUMP JUMPDEST PUSH2 0x7BF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x229 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0xA8D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x23E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x24D CALLDATASIZE PUSH1 0x4 PUSH2 0xFDC JUMP JUMPDEST PUSH2 0xA93 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0xABC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAC JUMP JUMPDEST PUSH2 0xAC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0xAD7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BC PUSH2 0x2B7 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAC JUMP JUMPDEST PUSH2 0xADC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x126A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x2E8 CALLDATASIZE PUSH1 0x4 PUSH2 0xFDC JUMP JUMPDEST PUSH2 0xD4E JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x343 JUMPI POP PUSH2 0x343 DUP3 PUSH2 0xD76 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD SWAP3 DUP3 ADD DUP1 SLOAD SWAP2 SWAP4 SWAP3 SWAP2 PUSH2 0x373 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x39F SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3EC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3C1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3EC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3CF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x401 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x42D SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x47A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x44F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x47A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x45D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x48F SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4BB SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x508 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4DD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x508 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4EB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x8 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0xFF DUP1 DUP5 AND SWAP6 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP5 POP SWAP2 SWAP3 SWAP2 AND SWAP1 DUP11 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x57A PUSH2 0x572 DUP4 PUSH2 0x542 JUMP JUMPDEST PUSH2 0x24D PUSH2 0xDC0 JUMP JUMPDEST PUSH2 0x59F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x596 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5A9 DUP3 DUP3 PUSH2 0xDC4 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5B5 PUSH2 0xDC0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x5E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x596 SWAP1 PUSH2 0x13A9 JUMP JUMPDEST PUSH2 0x5A9 DUP3 DUP3 PUSH2 0xE49 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x7F890B11 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x633 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x647 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x66B SWAP2 SWAP1 PUSH2 0xFC4 JUMP JUMPDEST PUSH2 0x675 DUP2 CALLER PUSH2 0xA93 JUMP JUMPDEST PUSH2 0x691 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x596 SWAP1 PUSH2 0x1372 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x3 SLOAD DUP3 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP3 MLOAD SWAP2 SWAP5 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 PUSH4 0x757991A8 SWAP3 PUSH1 0x4 DUP1 DUP4 ADD SWAP4 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6F7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x71B SWAP2 SWAP1 PUSH2 0xFC4 JUMP JUMPDEST PUSH1 0x5 DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH2 0x73A JUMPI PUSH1 0x7 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x8 DUP3 ADD DUP5 SWAP1 SSTORE DUP2 SLOAD PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x9028BEA5BFA7ED26C48DF402D89085A995447DC8C1FB167CB92A3C7411B54480 SWAP5 PUSH2 0x7B0 SWAP5 SWAP1 SWAP4 DUP11 SWAP4 DUP9 SWAP4 PUSH1 0x2 DUP12 ADD SWAP4 PUSH1 0x3 DUP13 ADD SWAP4 PUSH1 0x4 DUP14 ADD SWAP4 PUSH1 0xFF DUP1 DUP5 AND SWAP5 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 SWAP2 AND SWAP1 TIMESTAMP SWAP1 PUSH2 0x150A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x7CC SWAP2 PUSH2 0x15A1 JUMP JUMPDEST PUSH1 0x1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x814 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x828 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x84C SWAP2 SWAP1 PUSH2 0xFC4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP11 DUP11 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP SWAP1 DUP3 MSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP12 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP10 DUP2 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP SWAP1 DUP3 MSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP10 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP8 DUP2 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD DUP3 SWAP1 MSTORE POP SWAP4 DUP6 MSTORE POP POP POP DUP6 ISZERO ISZERO PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE CALLER PUSH1 0x40 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE CALLVALUE PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x80 DUP5 ADD DUP4 SWAP1 MSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD DUP3 SWAP1 MSTORE PUSH1 0x1 DUP1 SLOAD DUP4 MSTORE PUSH1 0x2 DUP1 DUP4 MSTORE SWAP3 DUP5 SWAP1 KECCAK256 DUP6 MLOAD DUP2 SSTORE DUP6 DUP4 ADD MLOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP3 DUP5 ADD MLOAD DUP1 MLOAD SWAP5 SWAP6 POP DUP6 SWAP5 PUSH2 0x97D SWAP4 DUP6 ADD SWAP3 SWAP2 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xECC JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x999 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xECC JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x9B5 SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xECC JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0xFF NOT SWAP2 DUP3 AND SWAP4 ISZERO ISZERO SWAP4 SWAP1 SWAP4 OR PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FF AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND DUP5 MUL OR SWAP1 SWAP2 SSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0x6 DUP5 ADD SSTORE SWAP1 DUP4 ADD MLOAD PUSH1 0x7 DUP4 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 ISZERO ISZERO OR SWAP1 SSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MLOAD PUSH1 0x8 SWAP1 SWAP2 ADD SSTORE PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH32 0xD4AE17FDEB78E69409330361E8F8475F8027928C6F28EAE2195E5AE56570ABA0 SWAP2 PUSH2 0xA7A SWAP2 DUP6 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 CALLER SWAP1 CALLVALUE SWAP1 TIMESTAMP SWAP1 PUSH2 0x1406 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x8 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x60 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0xB29 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xB55 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xBA2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xB77 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBA2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xB85 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0xBBB SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xBE7 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xC34 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xC09 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xC34 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xC17 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD PUSH2 0xC4D SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xC79 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xCC6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xC9B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xCC6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xCA9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x60 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x7 DUP6 ADD SLOAD SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x80 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x8 SWAP1 SWAP5 ADD SLOAD PUSH1 0xA0 SWAP4 DUP5 ADD MSTORE DUP5 ADD MLOAD SWAP1 DUP5 ADD MLOAD SWAP3 DUP5 ADD MLOAD SWAP2 DUP5 ADD MLOAD PUSH2 0x120 SWAP1 SWAP5 ADD MLOAD SWAP1 SWAP12 SWAP3 SWAP11 POP SWAP1 SWAP9 POP SWAP2 SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xD5A PUSH2 0x572 DUP4 PUSH2 0x542 JUMP JUMPDEST PUSH2 0x5E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x596 SWAP1 PUSH2 0x1315 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0xDCE DUP3 DUP3 PUSH2 0xA93 JUMP JUMPDEST PUSH2 0x5A9 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xE05 PUSH2 0xDC0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xE53 DUP3 DUP3 PUSH2 0xA93 JUMP JUMPDEST ISZERO PUSH2 0x5A9 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0xE88 PUSH2 0xDC0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xED8 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xEFA JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xF40 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xF13 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xF40 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xF40 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xF40 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xF25 JUMP JUMPDEST POP PUSH2 0xF4C SWAP3 SWAP2 POP PUSH2 0xF50 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xF4C JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xF51 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF76 JUMPI DUP2 DUP3 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF8D JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0xFA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFBD JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFD5 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFEE JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x100B JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1027 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x1056 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1077 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x108E JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x109A DUP12 DUP4 DUP13 ADD PUSH2 0xF65 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x10B2 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x10BE DUP12 DUP4 DUP13 ADD PUSH2 0xF65 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x10D6 JUMPI DUP5 DUP6 REVERT JUMPDEST POP PUSH2 0x10E3 DUP11 DUP3 DUP12 ADD PUSH2 0xF65 JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x10FB JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x111D JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 MSTORE DUP3 DUP3 PUSH1 0x20 DUP7 ADD CALLDATACOPY DUP1 PUSH1 0x20 DUP5 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP6 ADD AND DUP6 ADD ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE DUP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x117B JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x115F JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x118C JUMPI DUP3 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP1 DUP4 AND DUP1 PUSH2 0x11BB JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST PUSH1 0x20 DUP1 DUP5 LT DUP3 EQ ISZERO PUSH2 0x11DB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP7 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 DUP7 REVERT JUMPDEST PUSH2 0x11E5 DUP5 DUP10 PUSH2 0x124D JUMP JUMPDEST DUP3 DUP1 ISZERO PUSH2 0x11F9 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x120A JUMPI PUSH2 0x1235 JUMP JUMPDEST PUSH1 0xFF NOT DUP8 AND DUP3 MSTORE DUP3 DUP3 ADD SWAP8 POP PUSH2 0x1235 JUMP JUMPDEST PUSH2 0x1213 DUP10 PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x122F JUMPI DUP2 SLOAD DUP5 DUP3 ADD MSTORE SWAP1 DUP7 ADD SWAP1 DUP5 ADD PUSH2 0x1216 JUMP JUMPDEST DUP4 ADD SWAP9 POP POP JUMPDEST POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 MSTORE PUSH2 0x127D PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x1156 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x128F DUP2 DUP9 PUSH2 0x1156 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x12A3 DUP2 DUP8 PUSH2 0x1156 JUMP JUMPDEST SWAP5 ISZERO ISZERO PUSH1 0x60 DUP5 ADD MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP15 DUP4 MSTORE DUP14 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x1427 DUP2 DUP5 ADD DUP14 DUP16 PUSH2 0x112C JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x143C DUP2 DUP12 DUP14 PUSH2 0x112C JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x1451 DUP2 DUP10 DUP12 PUSH2 0x112C JUMP JUMPDEST SWAP7 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xE0 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x100 SWAP1 SWAP2 ADD MSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP13 DUP4 MSTORE DUP12 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x14A7 DUP2 DUP5 ADD DUP13 PUSH2 0x1156 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x14BB DUP2 DUP12 PUSH2 0x1156 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x14CF DUP2 DUP11 PUSH2 0x1156 JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x160 DUP14 DUP4 MSTORE DUP13 PUSH1 0x20 DUP5 ADD MSTORE DUP12 PUSH1 0x40 DUP5 ADD MSTORE DUP1 PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x1530 DUP2 DUP5 ADD DUP13 PUSH2 0x11A1 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x1544 DUP2 DUP12 PUSH2 0x11A1 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x1558 DUP2 DUP11 PUSH2 0x11A1 JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xC0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND PUSH1 0xE0 DUP6 ADD MSTORE PUSH2 0x100 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x120 DUP4 ADD MSTORE PUSH2 0x140 SWAP1 SWAP2 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x15C0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x15D9 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x15FA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF6 ADDMOD 0xC0 0xC2 0x5F 0xD3 CREATE PUSH11 0x9E50EE840AEFD76562DDB8 0xEF RETURNDATACOPY 0x28 ORIGIN 0xBD AND INVALID LOG2 0xD8 SWAP9 0xFC 0xAC GAS PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "192:2719:9:-:0;;;796:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;216:42:7;2408:4:0;247:10:7;216;:42::i;:::-;847:12:9;:49;;-1:-1:-1;;;;;;847:49:9;-1:-1:-1;;;;;847:49:9;;;;;;;;;;192:2719;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;6952:224::-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;3867:137::-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;586:96:3:-;665:10;586:96;:::o;14:310:29:-;;137:2;125:9;116:7;112:23;108:32;105:2;;;158:6;150;143:22;105:2;189:16;;-1:-1:-1;;;;;234:31:29;;224:42;;214:2;;285:6;277;270:22;214:2;313:5;95:229;-1:-1:-1;;;95:229:29:o;:::-;192:2719:9;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:13005:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "89:303:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "138:30:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "147:8:29" - }, - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "157:8:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "140:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "140:26:29" - }, - "nodeType": "YulExpressionStatement", - "src": "140:26:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "117:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "125:4:29", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "113:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "113:17:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "132:3:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "109:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "109:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "102:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "102:35:29" - }, - "nodeType": "YulIf", - "src": "99:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "177:30:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "200:6:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "187:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "187:20:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "177:6:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "250:30:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "259:8:29" - }, - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "269:8:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "252:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "252:26:29" - }, - "nodeType": "YulExpressionStatement", - "src": "252:26:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "222:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "230:18:29", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "219:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "219:30:29" - }, - "nodeType": "YulIf", - "src": "216:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "289:29:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "305:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "313:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "301:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "301:17:29" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "289:8:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "370:16:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "379:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "382:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "372:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "372:12:29" - }, - "nodeType": "YulExpressionStatement", - "src": "372:12:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "341:6:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "349:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "337:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "337:19:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "358:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "333:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "333:30:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "365:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "330:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "330:39:29" - }, - "nodeType": "YulIf", - "src": "327:2:29" - } - ] - }, - "name": "abi_decode_t_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "52:6:29", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "60:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "68:8:29", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "78:6:29", - "type": "" - } - ], - "src": "14:378:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "467:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "513:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "522:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "530:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "515:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "515:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "515:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "488:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "497:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "484:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "484:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "509:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "480:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "480:32:29" - }, - "nodeType": "YulIf", - "src": "477:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "548:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "571:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "558:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "558:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "548:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "433:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "444:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "456:6:29", - "type": "" - } - ], - "src": "397:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "673:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "719:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "728:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "736:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "721:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "721:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "721:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "694:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "703:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "690:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "690:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "715:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "686:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "686:32:29" - }, - "nodeType": "YulIf", - "src": "683:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "754:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "770:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "764:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "764:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "754:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "639:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "650:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "662:6:29", - "type": "" - } - ], - "src": "592:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "878:310:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "924:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "933:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "941:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "926:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "926:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "926:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "899:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "908:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "895:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "895:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "920:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "891:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "891:32:29" - }, - "nodeType": "YulIf", - "src": "888:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "959:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "982:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "969:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "969:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "959:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1001:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1031:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1042:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1027:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1027:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1014:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1014:32:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1005:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1132:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1141:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1149:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1134:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1134:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1134:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1068:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1079:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1086:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1075:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1075:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1065:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1065:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1058:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1058:73:29" - }, - "nodeType": "YulIf", - "src": "1055:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1167:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1177:5:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1167:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "836:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "847:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "859:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "867:6:29", - "type": "" - } - ], - "src": "791:397:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1262:283:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1308:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1317:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1325:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1310:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1310:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1310:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1283:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1292:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1279:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1279:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1304:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1275:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1275:32:29" - }, - "nodeType": "YulIf", - "src": "1272:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1343:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1369:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1356:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1356:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1347:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1489:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1498:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1506:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1491:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1491:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1491:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1401:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1412:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1419:66:29", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1408:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1408:78:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1398:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1398:89:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1391:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1391:97:29" - }, - "nodeType": "YulIf", - "src": "1388:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1524:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1534:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1524:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1228:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1239:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1251:6:29", - "type": "" - } - ], - "src": "1193:352:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1728:1050:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1775:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1784:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1792:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1777:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1777:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1777:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1749:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1758:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1745:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1745:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1770:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1741:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1741:33:29" - }, - "nodeType": "YulIf", - "src": "1738:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1810:37:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1837:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1824:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1824:23:29" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1814:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1856:28:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1866:18:29", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1860:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1911:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1920:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1928:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1913:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1913:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1913:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1899:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1907:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1896:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1896:14:29" - }, - "nodeType": "YulIf", - "src": "1893:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1946:87:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2005:9:29" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2016:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2001:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2001:22:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2025:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "1972:28:29" - }, - "nodeType": "YulFunctionCall", - "src": "1972:61:29" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "1950:8:29", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "1960:8:29", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2042:18:29", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "2052:8:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2042:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2069:18:29", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "2079:8:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2069:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2096:48:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2129:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2140:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2125:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2125:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2112:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2112:32:29" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "2100:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2173:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2182:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2190:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2175:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2175:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2175:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "2159:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2169:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2156:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2156:16:29" - }, - "nodeType": "YulIf", - "src": "2153:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2208:89:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2267:9:29" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "2278:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2263:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2263:24:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2289:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "2234:28:29" - }, - "nodeType": "YulFunctionCall", - "src": "2234:63:29" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "2212:8:29", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "2222:8:29", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2306:18:29", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "2316:8:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2306:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2333:18:29", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "2343:8:29" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "2333:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2360:48:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2393:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2404:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2389:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2389:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2376:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2376:32:29" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "2364:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2437:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2446:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2454:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2439:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2439:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2439:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "2423:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2433:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2420:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2420:16:29" - }, - "nodeType": "YulIf", - "src": "2417:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2472:89:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2531:9:29" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "2542:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2527:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2527:24:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2553:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "2498:28:29" - }, - "nodeType": "YulFunctionCall", - "src": "2498:63:29" - }, - "variables": [ - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "2476:8:29", - "type": "" - }, - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "2486:8:29", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2570:18:29", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "2580:8:29" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2570:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2597:18:29", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "2607:8:29" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "2597:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2624:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2654:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2665:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2650:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2650:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2637:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2637:32:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2628:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2722:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "2731:6:29" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "2739:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2724:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2724:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2724:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2691:5:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2712:5:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2705:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2705:13:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2698:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2698:21:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2688:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2688:32:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2681:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2681:40:29" - }, - "nodeType": "YulIf", - "src": "2678:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2757:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2767:5:29" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "2757:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_string_calldata_ptrt_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1646:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1657:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1669:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1677:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1685:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1693:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "1701:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "1709:6:29", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "1717:6:29", - "type": "" - } - ], - "src": "1550:1228:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2853:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2899:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2908:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2916:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2901:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2901:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2901:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2874:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2883:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2870:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2870:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2895:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2866:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2866:32:29" - }, - "nodeType": "YulIf", - "src": "2863:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2934:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2957:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2944:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2944:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2934:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2819:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2830:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2842:6:29", - "type": "" - } - ], - "src": "2783:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3059:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3105:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3114:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3122:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3107:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3107:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3107:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3080:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3089:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3076:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3076:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3101:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3072:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3072:32:29" - }, - "nodeType": "YulIf", - "src": "3069:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "3140:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3156:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3150:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3150:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3140:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3025:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3036:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3048:6:29", - "type": "" - } - ], - "src": "2978:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3264:171:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3310:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3319:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3327:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3312:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3312:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3312:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3285:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3294:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3281:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3281:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3306:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3277:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3277:32:29" - }, - "nodeType": "YulIf", - "src": "3274:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "3345:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3368:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3355:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "3355:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3345:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3387:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3414:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3425:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3410:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3410:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3397:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "3397:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3387:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3222:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3233:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3245:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3253:6:29", - "type": "" - } - ], - "src": "3177:258:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3509:202:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3526:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3531:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3519:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3519:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3519:19:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3564:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3569:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3560:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3560:14:29" - }, - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "3576:5:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3583:6:29" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "3547:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "3547:43:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3547:43:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3614:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3619:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3610:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3610:16:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3628:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3606:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3606:27:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3635:3:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3599:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3599:40:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3599:40:29" - }, - { - "nodeType": "YulAssignment", - "src": "3648:57:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3663:3:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3676:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3684:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3672:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3672:15:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3693:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3689:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3689:7:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3668:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3668:29:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3659:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3659:39:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3700:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3655:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3655:50:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3648:3:29" - } - ] - } - ] - }, - "name": "abi_encode_t_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "3478:5:29", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "3485:6:29", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "3493:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3501:3:29", - "type": "" - } - ], - "src": "3440:271:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3768:426:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3778:26:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3798:5:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3792:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3792:12:29" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "3782:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3820:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3825:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3813:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3813:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3813:19:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3841:12:29", - "value": { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3850:3:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "3845:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3914:110:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3928:14:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3938:4:29", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3932:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3970:3:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3975:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3966:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3966:11:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3979:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3962:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3962:20:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3998:5:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4005:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3994:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3994:13:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4009:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3990:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3990:22:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3984:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3984:29:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3955:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3955:59:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3955:59:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3873:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3876:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3870:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "3870:13:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "3884:21:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3886:17:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3895:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3898:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3891:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3891:12:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3886:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "3866:3:29", - "statements": [] - }, - "src": "3862:162:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4058:64:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4087:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4092:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4083:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4083:16:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4101:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4079:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4079:27:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "4108:3:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4072:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4072:40:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4072:40:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4039:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4042:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4036:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4036:13:29" - }, - "nodeType": "YulIf", - "src": "4033:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "4131:57:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4146:3:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4159:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4167:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4155:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4155:15:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4176:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4172:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4172:7:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4151:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4151:29:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4142:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4142:39:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4183:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4138:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4138:50:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "4131:3:29" - } - ] - } - ] - }, - "name": "abi_encode_t_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3745:5:29", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "3752:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3760:3:29", - "type": "" - } - ], - "src": "3716:478:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4259:1050:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4269:29:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4292:5:29" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "4286:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4286:12:29" - }, - "variables": [ - { - "name": "slotValue", - "nodeType": "YulTypedName", - "src": "4273:9:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4307:17:29", - "value": { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "4321:3:29" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "4311:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4333:27:29", - "value": { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "4347:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4358:1:29", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4343:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4343:17:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4333:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4369:11:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4379:1:29", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4373:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4389:44:29", - "value": { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "4419:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4430:2:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4415:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4415:18:29" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "4393:18:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4472:31:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4474:27:29", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4488:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4496:4:29", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4484:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4484:17:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4474:6:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "4452:18:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4445:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4445:26:29" - }, - "nodeType": "YulIf", - "src": "4442:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4512:12:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4522:2:29", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "4516:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4583:172:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "4604:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4609:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4597:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4597:90:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4597:90:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4707:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4710:4:29", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4700:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4700:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4700:15:29" - }, - { - "expression": { - "arguments": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "4735:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4740:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4728:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4728:17:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4728:17:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "4539:18:29" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4562:6:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4570:2:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4559:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4559:14:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "4536:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4536:38:29" - }, - "nodeType": "YulIf", - "src": "4533:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4764:63:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4815:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4820:6:29" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string", - "nodeType": "YulIdentifier", - "src": "4777:37:29" - }, - "nodeType": "YulFunctionCall", - "src": "4777:50:29" - }, - "variables": [ - { - "name": "pos_1", - "nodeType": "YulTypedName", - "src": "4768:5:29", - "type": "" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4877:97:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "4898:5:29" - }, - { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "4909:9:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4924:3:29", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4920:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4920:8:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4905:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4905:24:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4891:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4891:39:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4891:39:29" - }, - { - "nodeType": "YulAssignment", - "src": "4943:21:29", - "value": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "4954:5:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4961:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4950:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4950:14:29" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "4943:3:29" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "4870:104:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4875:1:29", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4990:313:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5004:53:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5051:5:29" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nodeType": "YulIdentifier", - "src": "5019:31:29" - }, - "nodeType": "YulFunctionCall", - "src": "5019:38:29" - }, - "variables": [ - { - "name": "dataPos", - "nodeType": "YulTypedName", - "src": "5008:7:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5070:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5079:1:29", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "5074:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5147:113:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "5176:5:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5183:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5172:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5172:13:29" - }, - { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "5193:7:29" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "5187:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "5187:14:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5165:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5165:37:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5165:37:29" - }, - { - "nodeType": "YulAssignment", - "src": "5219:27:29", - "value": { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "5234:7:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5243:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5230:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5230:16:29" - }, - "variableNames": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "5219:7:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5104:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5107:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5101:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5101:13:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "5115:19:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5117:15:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5126:1:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5129:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5122:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5122:10:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5117:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "5097:3:29", - "statements": [] - }, - "src": "5093:167:29" - }, - { - "nodeType": "YulAssignment", - "src": "5273:20:29", - "value": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "5284:5:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "5291:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5280:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5280:13:29" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "5273:3:29" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "4983:320:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4988:1:29", - "type": "", - "value": "1" - } - } - ], - "expression": { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "4843:18:29" - }, - "nodeType": "YulSwitch", - "src": "4836:467:29" - } - ] - }, - "name": "abi_encode_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4236:5:29", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "4243:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "4251:3:29", - "type": "" - } - ], - "src": "4199:1110:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5409:92:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5419:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5431:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5442:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5427:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5427:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5419:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5461:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5486:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5479:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5479:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5472:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5472:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5454:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5454:41:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5454:41:29" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5378:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5389:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5400:4:29", - "type": "" - } - ], - "src": "5314:187:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5607:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5617:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5629:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5640:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5625:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5625:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5617:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5659:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5670:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5652:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5652:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5652:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5576:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5587:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5598:4:29", - "type": "" - } - ], - "src": "5506:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5811:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5821:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5833:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5844:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5829:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5829:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5821:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5863:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5878:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5886:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5874:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5874:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5856:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5856:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5856:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStateManager_$4822__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5780:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5791:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5802:4:29", - "type": "" - } - ], - "src": "5688:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6208:440:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6225:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6236:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6218:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6218:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6218:22:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6249:62:29", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6283:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6295:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6306:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6291:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6291:19:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "6263:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "6263:48:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "6253:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6331:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6342:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6327:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6327:18:29" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "6351:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6359:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6347:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6347:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6320:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6320:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6320:50:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6379:49:29", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6413:6:29" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "6421:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "6393:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "6393:35:29" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "6383:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6448:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6459:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6444:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6444:18:29" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "6468:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6476:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6464:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6464:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6437:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6437:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6437:50:29" - }, - { - "nodeType": "YulAssignment", - "src": "6496:43:29", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6524:6:29" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "6532:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "6504:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "6504:35:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6496:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6559:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6570:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6555:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6555:18:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "6589:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6582:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6582:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6575:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6575:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6548:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6548:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6548:50:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6618:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6629:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6614:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6614:19:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "6635:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6607:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6607:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6607:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6145:9:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "6156:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "6164:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6172:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6180:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6188:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6199:4:29", - "type": "" - } - ], - "src": "5941:707:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6827:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6844:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6855:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6837:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6837:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6837:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6878:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6889:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6874:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6874:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6894:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6867:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6867:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6867:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6917:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6928:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6913:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6913:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "6933:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6906:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6906:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6906:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6988:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6999:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6984:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6984:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7004:17:29", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6977:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6977:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6977:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "7031:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7043:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7054:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7039:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7039:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7031:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6804:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6818:4:29", - "type": "" - } - ], - "src": "6653:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7243:238:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7260:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7271:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7253:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7253:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7253:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7294:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7305:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7290:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7290:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7310:2:29", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7283:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7283:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7283:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7333:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7344:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7329:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7329:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7349:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7322:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7322:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7322:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7404:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7415:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7400:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7400:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7420:18:29", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7393:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7393:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7393:46:29" - }, - { - "nodeType": "YulAssignment", - "src": "7448:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7460:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7471:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7456:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7456:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7448:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7220:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7234:4:29", - "type": "" - } - ], - "src": "7069:412:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7660:176:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7677:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7688:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7670:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7670:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7670:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7711:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7722:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7707:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7707:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7727:2:29", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7700:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7700:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7700:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7750:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7761:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7746:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7746:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7766:28:29", - "type": "", - "value": "ACL: sender not authorized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7739:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7739:56:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7739:56:29" - }, - { - "nodeType": "YulAssignment", - "src": "7804:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7816:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7827:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7812:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7812:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7804:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7637:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7651:4:29", - "type": "" - } - ], - "src": "7486:350:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8015:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8032:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8043:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8025:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8025:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8025:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8066:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8077:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8062:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8062:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8082:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8055:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8055:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8055:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8105:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8116:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8101:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8101:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "8121:34:29", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8094:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8094:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8094:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8176:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8187:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8172:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8172:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "8192:17:29", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8165:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8165:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8165:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "8219:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8231:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8242:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8227:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8227:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8219:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7992:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8006:4:29", - "type": "" - } - ], - "src": "7841:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8358:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8368:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8380:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8391:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8376:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8376:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8368:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8410:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8421:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8403:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8403:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8403:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8327:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8338:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8349:4:29", - "type": "" - } - ], - "src": "8257:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8850:738:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8860:13:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8870:3:29", - "type": "", - "value": "288" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "8864:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8889:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8900:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8882:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8882:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8882:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8927:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8938:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8923:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8923:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8943:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8916:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8916:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8916:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8970:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8981:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8966:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8966:18:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8986:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8959:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8959:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8959:30:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8998:78:29", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "9041:6:29" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "9049:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9061:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "9072:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9057:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9057:18:29" - } - ], - "functionName": { - "name": "abi_encode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "9012:28:29" - }, - "nodeType": "YulFunctionCall", - "src": "9012:64:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "9002:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9096:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9107:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9092:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9092:18:29" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "9116:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9124:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9112:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9112:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9085:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9085:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9085:50:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9144:66:29", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "9187:6:29" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "9195:6:29" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "9203:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "9158:28:29" - }, - "nodeType": "YulFunctionCall", - "src": "9158:52:29" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "9148:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9230:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9241:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9226:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9226:19:29" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "9251:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9259:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9247:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9247:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9219:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9219:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9219:51:29" - }, - { - "nodeType": "YulAssignment", - "src": "9279:60:29", - "value": { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "9316:6:29" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "9324:6:29" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "9332:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string_calldata", - "nodeType": "YulIdentifier", - "src": "9287:28:29" - }, - "nodeType": "YulFunctionCall", - "src": "9287:52:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9279:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9359:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9370:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9355:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9355:19:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "9390:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9383:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9383:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9376:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9376:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9348:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9348:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9348:51:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9419:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9430:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9415:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9415:19:29" - }, - { - "arguments": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "9440:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9448:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9436:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9436:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9408:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9408:84:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9408:84:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9512:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9523:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9508:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9508:19:29" - }, - { - "name": "value10", - "nodeType": "YulIdentifier", - "src": "9529:7:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9501:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9501:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9501:36:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9557:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9568:3:29", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9553:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9553:19:29" - }, - { - "name": "value11", - "nodeType": "YulIdentifier", - "src": "9574:7:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9546:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9546:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9546:36:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_calldata_ptr_t_string_calldata_ptr_t_string_calldata_ptr_t_bool_t_address_t_uint256_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8729:9:29", - "type": "" - }, - { - "name": "value11", - "nodeType": "YulTypedName", - "src": "8740:7:29", - "type": "" - }, - { - "name": "value10", - "nodeType": "YulTypedName", - "src": "8749:7:29", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "8758:6:29", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "8766:6:29", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "8774:6:29", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "8782:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "8790:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "8798:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "8806:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "8814:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8822:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8830:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8841:4:29", - "type": "" - } - ], - "src": "8439:1149:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9994:745:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10004:13:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10014:3:29", - "type": "", - "value": "320" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "10008:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10033:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10044:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10026:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10026:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10026:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10071:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10082:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10067:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10067:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10087:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10060:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10060:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10060:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10114:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10125:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10110:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10110:18:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10130:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10103:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10103:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10103:30:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10142:61:29", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "10176:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10188:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10199:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10184:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10184:18:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "10156:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "10156:47:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "10146:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10223:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10234:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10219:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10219:18:29" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "10243:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10251:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10239:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10239:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10212:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10212:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10212:50:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10271:49:29", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "10305:6:29" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "10313:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "10285:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "10285:35:29" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "10275:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10340:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10351:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10336:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10336:19:29" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "10361:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10369:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10357:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10357:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10329:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10329:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10329:51:29" - }, - { - "nodeType": "YulAssignment", - "src": "10389:43:29", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "10417:6:29" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "10425:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "10397:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "10397:35:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10389:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10452:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10463:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10448:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10448:19:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "10483:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10476:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10476:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10469:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10469:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10441:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10441:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10441:51:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10512:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10523:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10508:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10508:19:29" - }, - { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "10533:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10541:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10529:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10529:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10501:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10501:84:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10501:84:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10605:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10616:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10601:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10601:19:29" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "10622:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10594:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10594:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10594:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10649:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10660:3:29", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10645:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10645:19:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "10680:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10673:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10673:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10666:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10666:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10638:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10638:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10638:51:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10709:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10720:3:29", - "type": "", - "value": "288" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10705:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10705:19:29" - }, - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "10726:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10698:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10698:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10698:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9891:9:29", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "9902:6:29", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "9910:6:29", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "9918:6:29", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "9926:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "9934:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "9942:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "9950:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9958:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9966:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9974:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9985:4:29", - "type": "" - } - ], - "src": "9593:1146:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11165:814:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "11175:13:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11185:3:29", - "type": "", - "value": "352" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "11179:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11204:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11215:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11197:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11197:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11197:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11242:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11253:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11238:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11238:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11258:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11231:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11231:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11231:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11285:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11296:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11281:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11281:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "11301:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11274:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11274:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11274:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11328:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11339:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11324:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11324:18:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11344:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11317:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11317:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11317:30:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11356:69:29", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "11398:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11410:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11421:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11406:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11406:18:29" - } - ], - "functionName": { - "name": "abi_encode_t_string_storage", - "nodeType": "YulIdentifier", - "src": "11370:27:29" - }, - "nodeType": "YulFunctionCall", - "src": "11370:55:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "11360:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11445:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11456:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11441:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11441:19:29" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "11466:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11474:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "11462:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11462:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11434:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11434:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11434:51:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11494:57:29", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "11536:6:29" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "11544:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string_storage", - "nodeType": "YulIdentifier", - "src": "11508:27:29" - }, - "nodeType": "YulFunctionCall", - "src": "11508:43:29" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "11498:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11571:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11582:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11567:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11567:19:29" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "11592:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11600:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "11588:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11588:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11560:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11560:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11560:51:29" - }, - { - "nodeType": "YulAssignment", - "src": "11620:51:29", - "value": { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "11656:6:29" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "11664:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string_storage", - "nodeType": "YulIdentifier", - "src": "11628:27:29" - }, - "nodeType": "YulFunctionCall", - "src": "11628:43:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11620:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11691:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11702:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11687:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11687:19:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "11722:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11715:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11715:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11708:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11708:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11680:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11680:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11680:51:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11751:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11762:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11747:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11747:19:29" - }, - { - "arguments": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "11772:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11780:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11768:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11768:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11740:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11740:84:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11740:84:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11844:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11855:3:29", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11840:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11840:19:29" - }, - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "11861:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11833:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11833:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11833:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11888:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11899:3:29", - "type": "", - "value": "288" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11884:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11884:19:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "11919:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11912:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11912:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11905:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11905:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11877:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11877:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11877:51:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11948:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11959:3:29", - "type": "", - "value": "320" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11944:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11944:19:29" - }, - { - "name": "value10", - "nodeType": "YulIdentifier", - "src": "11965:7:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11937:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11937:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11937:36:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_string_storage_t_string_storage_t_string_storage_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11053:9:29", - "type": "" - }, - { - "name": "value10", - "nodeType": "YulTypedName", - "src": "11064:7:29", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "11073:6:29", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "11081:6:29", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "11089:6:29", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "11097:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "11105:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "11113:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "11121:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "11129:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11137:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11145:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11156:4:29", - "type": "" - } - ], - "src": "10744:1235:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12042:71:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12059:4:29" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "12065:3:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12052:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12052:17:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12052:17:29" - }, - { - "nodeType": "YulAssignment", - "src": "12078:29:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12096:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12102:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "12086:9:29" - }, - "nodeType": "YulFunctionCall", - "src": "12086:21:29" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12078:4:29" - } - ] - } - ] - }, - "name": "array_dataslot_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "12025:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "12033:4:29", - "type": "" - } - ], - "src": "11984:129:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12197:73:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12214:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12219:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12207:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12207:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12207:19:29" - }, - { - "nodeType": "YulAssignment", - "src": "12235:29:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12254:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12259:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12250:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12250:14:29" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "12235:11:29" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "12165:3:29", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "12170:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "12181:11:29", - "type": "" - } - ], - "src": "12118:152:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12323:238:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "12358:172:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "12379:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12384:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12372:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12372:90:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12372:90:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12482:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12485:4:29", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12475:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12475:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12475:15:29" - }, - { - "expression": { - "arguments": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "12510:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12515:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12503:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12503:17:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12503:17:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "12339:1:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "12346:1:29" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "12342:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12342:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "12336:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "12336:13:29" - }, - "nodeType": "YulIf", - "src": "12333:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "12539:16:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "12550:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "12553:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12546:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12546:9:29" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "12539:3:29" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "12306:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "12309:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "12315:3:29", - "type": "" - } - ], - "src": "12275:286:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12621:382:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12631:22:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12645:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12651:1:29", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "12641:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12641:12:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12631:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12662:38:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12692:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12698:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "12688:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12688:12:29" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "12666:18:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12739:31:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12741:27:29", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12755:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12763:4:29", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "12751:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12751:17:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12741:6:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "12719:18:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "12712:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12712:26:29" - }, - "nodeType": "YulIf", - "src": "12709:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12829:168:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12850:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12853:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12843:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12843:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12843:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12951:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12954:4:29", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12944:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12944:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12944:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12979:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12982:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12972:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12972:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12972:15:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "12785:18:29" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12808:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12816:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "12805:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "12805:14:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "12782:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "12782:38:29" - }, - "nodeType": "YulIf", - "src": "12779:2:29" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "12601:4:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "12610:6:29", - "type": "" - } - ], - "src": "12566:437:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_string_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(arrayPos, arrayPos) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(arrayPos, arrayPos) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value1, value1) }\n value1 := value\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_string_calldata_ptrt_bool(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 128) { revert(value4, value4) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(value4, value4) }\n let value0_1, value1_1 := abi_decode_t_string_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(value4, value4) }\n let value2_1, value3_1 := abi_decode_t_string_calldata(add(headStart, offset_1), dataEnd)\n value2 := value2_1\n value3 := value3_1\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(value4, value4) }\n let value4_1, value5_1 := abi_decode_t_string_calldata(add(headStart, offset_2), dataEnd)\n value4 := value4_1\n value5 := value5_1\n let value := calldataload(add(headStart, 96))\n if iszero(eq(value, iszero(iszero(value)))) { revert(value6, value6) }\n value6 := value\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_t_string_calldata(start, length, pos) -> end\n {\n mstore(pos, length)\n calldatacopy(add(pos, 0x20), start, length)\n mstore(add(add(pos, length), 0x20), end)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_t_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := end\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(pos, length), 0x20), end)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_t_string_storage(value, pos) -> ret\n {\n let slotValue := sload(value)\n let length := ret\n length := div(slotValue, 2)\n let _1 := 1\n let outOfPlaceEncoding := and(slotValue, _1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n let _2 := 32\n if eq(outOfPlaceEncoding, lt(length, _2))\n {\n mstore(ret, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(ret, 0x24)\n }\n let pos_1 := array_storeLengthForEncoding_t_string(pos, length)\n switch outOfPlaceEncoding\n case 0 {\n mstore(pos_1, and(slotValue, not(255)))\n ret := add(pos_1, _2)\n }\n case 1 {\n let dataPos := array_dataslot_t_string_storage(value)\n let i := 0\n for { } lt(i, length) { i := add(i, _2) }\n {\n mstore(add(pos_1, i), sload(dataPos))\n dataPos := add(dataPos, _1)\n }\n ret := add(pos_1, i)\n }\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_contract$_IStateManager_$4822__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 160)\n let tail_1 := abi_encode_t_string(value0, add(headStart, 160))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_t_string(value2, tail_2)\n mstore(add(headStart, 96), iszero(iszero(value3)))\n mstore(add(headStart, 128), value4)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"ACL: sender not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_calldata_ptr_t_string_calldata_ptr_t_string_calldata_ptr_t_bool_t_address_t_uint256_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value11, value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 288\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_t_string_calldata(value2, value3, add(headStart, _1))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string_calldata(value4, value5, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_t_string_calldata(value6, value7, tail_2)\n mstore(add(headStart, 160), iszero(iszero(value8)))\n mstore(add(headStart, 192), and(value9, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 224), value10)\n mstore(add(headStart, 256), value11)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed(headStart, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 320\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_t_string(value2, add(headStart, _1))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string(value3, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_t_string(value4, tail_2)\n mstore(add(headStart, 160), iszero(iszero(value5)))\n mstore(add(headStart, 192), and(value6, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 224), value7)\n mstore(add(headStart, 256), iszero(iszero(value8)))\n mstore(add(headStart, 288), value9)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_string_storage_t_string_storage_t_string_storage_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed(headStart, value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 352\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), _1)\n let tail_1 := abi_encode_t_string_storage(value3, add(headStart, _1))\n mstore(add(headStart, 128), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string_storage(value4, tail_1)\n mstore(add(headStart, 160), sub(tail_2, headStart))\n tail := abi_encode_t_string_storage(value5, tail_2)\n mstore(add(headStart, 192), iszero(iszero(value6)))\n mstore(add(headStart, 224), and(value7, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 256), value8)\n mstore(add(headStart, 288), iszero(iszero(value9)))\n mstore(add(headStart, 320), value10)\n }\n function array_dataslot_t_string_storage(ptr) -> data\n {\n mstore(data, ptr)\n data := keccak256(data, 0x20)\n }\n function array_storeLengthForEncoding_t_string(pos, length) -> updated_pos\n {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(sum, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(sum, 0x24)\n }\n sum := add(x, y)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1521 - } - ] - } - }, - "object": "6080604052600436106100e85760003560e01c8063628aff1d1161008a578063995e433911610059578063995e433914610267578063a217fddf14610287578063bf22c4571461029c578063d547741f146102cd576100e8565b8063628aff1d1461020a5780637e0c00ed1461021d57806391d14854146102325780639212051c14610252576100e8565b80632e716fb1116100c65780632e716fb1146101865780632f2ff15d146101a857806336568abe146101ca57806356350bdf146101ea576100e8565b806301ffc9a7146100ed578063180aedf314610123578063248a9ca314610159575b600080fd5b3480156100f957600080fd5b5061010d610108366004611016565b6102ed565b60405161011a9190611242565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004610fac565b610349565b60405161011a9a99989796959493929190611487565b34801561016557600080fd5b50610179610174366004610fac565b610542565b60405161011a919061124d565b34801561019257600080fd5b5061019b610557565b60405161011a9190611256565b3480156101b457600080fd5b506101c86101c3366004610fdc565b610566565b005b3480156101d657600080fd5b506101c86101e5366004610fdc565b6105ad565b3480156101f657600080fd5b506101c861020536600461110b565b6105ef565b6101c861021836600461105d565b6107bf565b34801561022957600080fd5b50610179610a8d565b34801561023e57600080fd5b5061010d61024d366004610fdc565b610a93565b34801561025e57600080fd5b50610179610abc565b34801561027357600080fd5b50610179610282366004610fac565b610ac2565b34801561029357600080fd5b50610179610ad7565b3480156102a857600080fd5b506102bc6102b7366004610fac565b610adc565b60405161011a95949392919061126a565b3480156102d957600080fd5b506101c86102e8366004610fdc565b610d4e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610343575061034382610d76565b92915050565b600260208190526000918252604090912080546001820154928201805491939291610373906115c5565b80601f016020809104026020016040519081016040528092919081815260200182805461039f906115c5565b80156103ec5780601f106103c1576101008083540402835291602001916103ec565b820191906000526020600020905b8154815290600101906020018083116103cf57829003601f168201915b505050505090806003018054610401906115c5565b80601f016020809104026020016040519081016040528092919081815260200182805461042d906115c5565b801561047a5780601f1061044f5761010080835404028352916020019161047a565b820191906000526020600020905b81548152906001019060200180831161045d57829003601f168201915b50505050509080600401805461048f906115c5565b80601f01602080910402602001604051908101604052809291908181526020018280546104bb906115c5565b80156105085780601f106104dd57610100808354040283529160200191610508565b820191906000526020600020905b8154815290600101906020018083116104eb57829003601f168201915b50505050600583015460068401546007850154600890950154939460ff808416956101009094046001600160a01b0316945091929116908a565b60009081526020819052604090206001015490565b6003546001600160a01b031681565b61057a61057283610542565b61024d610dc0565b61059f5760405162461bcd60e51b8152600401610596906112b8565b60405180910390fd5b6105a98282610dc4565b5050565b6105b5610dc0565b6001600160a01b0316816001600160a01b0316146105e55760405162461bcd60e51b8152600401610596906113a9565b6105a98282610e49565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__637f890b116040518163ffffffff1660e01b815260040160206040518083038186803b15801561063357600080fd5b505af4158015610647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066b9190610fc4565b6106758133610a93565b6106915760405162461bcd60e51b815260040161059690611372565b60008381526002602090815260408083206003548251630eaf323560e31b815292519194936001600160a01b039091169263757991a89260048083019392829003018186803b1580156106e357600080fd5b505afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190610fc4565b600583015490915060ff1661073a5760078201805460ff191660011790555b6008820184905581546005830154600684015460078501546040517f9028bea5bfa7ed26c48df402d89085a995447dc8c1fb167cb92a3c7411b54480946107b09490938a93889360028b019360038c019360048d019360ff808416946101009094046001600160a01b031693911690429061150a565b60405180910390a15050505050565b600180546107cc916115a1565b60015560035460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561081457600080fd5b505afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190610fc4565b9050600060405180610140016040528060015481526020018381526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a9081908401838280828437600092019190915250505090825250604080516020601f8901819004810282018101909252878152918101919088908890819084018382808284376000920182905250938552505050851515602080840191909152336040808501919091523460608501526080840183905260a0909301829052600180548352600280835292849020855181558583015191810191909155928401518051949550859461097d938501929190910190610ecc565b5060608201518051610999916003840191602090910190610ecc565b50608082015180516109b5916004840191602090910190610ecc565b5060a082015160058201805460c085015160ff19918216931515939093177fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0390941684021790915560e0840151600684015590830151600783018054909216901515179055610120909101516008909101556001546040517fd4ae17fdeb78e69409330361e8f8475f8027928c6f28eae2195e5ae56570aba091610a7a9185908d908d908d908d908d908d908d90339034904290611406565b60405180910390a1505050505050505050565b60015490565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60015481565b60009081526002602052604090206008015490565b600081565b6060806060600080600060026000888152602001908152602001600020604051806101400160405290816000820154815260200160018201548152602001600282018054610b29906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610b55906115c5565b8015610ba25780601f10610b7757610100808354040283529160200191610ba2565b820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b50505050508152602001600382018054610bbb906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610be7906115c5565b8015610c345780601f10610c0957610100808354040283529160200191610c34565b820191906000526020600020905b815481529060010190602001808311610c1757829003601f168201915b50505050508152602001600482018054610c4d906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610c79906115c5565b8015610cc65780601f10610c9b57610100808354040283529160200191610cc6565b820191906000526020600020905b815481529060010190602001808311610ca957829003601f168201915b5050509183525050600582015460ff808216151560208401526101009091046001600160a01b031660408084019190915260068401546060808501919091526007850154909216151560808085019190915260089094015460a09384015284015190840151928401519184015161012090940151909b929a5090985091965090945092505050565b610d5a61057283610542565b6105e55760405162461bcd60e51b815260040161059690611315565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b610dce8282610a93565b6105a9576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610e05610dc0565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610e538282610a93565b156105a9576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055610e88610dc0565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b828054610ed8906115c5565b90600052602060002090601f016020900481019282610efa5760008555610f40565b82601f10610f1357805160ff1916838001178555610f40565b82800160010185558215610f40579182015b82811115610f40578251825591602001919060010190610f25565b50610f4c929150610f50565b5090565b5b80821115610f4c5760008155600101610f51565b60008083601f840112610f76578182fd5b50813567ffffffffffffffff811115610f8d578182fd5b602083019150836020828501011115610fa557600080fd5b9250929050565b600060208284031215610fbd578081fd5b5035919050565b600060208284031215610fd5578081fd5b5051919050565b60008060408385031215610fee578081fd5b8235915060208301356001600160a01b038116811461100b578182fd5b809150509250929050565b600060208284031215611027578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611056578182fd5b9392505050565b60008060008060008060006080888a031215611077578283fd5b873567ffffffffffffffff8082111561108e578485fd5b61109a8b838c01610f65565b909950975060208a01359150808211156110b2578485fd5b6110be8b838c01610f65565b909750955060408a01359150808211156110d6578485fd5b506110e38a828b01610f65565b909450925050606088013580151581146110fb578182fd5b8091505092959891949750929550565b6000806040838503121561111d578182fd5b50508035926020909101359150565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b8181101561117b5760208185018101518683018201520161115f565b8181111561118c5782602083870101525b50601f01601f19169290920160200192915050565b8054600090600281046001808316806111bb57607f831692505b60208084108214156111db57634e487b7160e01b86526022600452602486fd5b6111e5848961124d565b8280156111f9576001811461120a57611235565b60ff19871682528282019750611235565b61121389611595565b60005b8781101561122f57815484820152908601908401611216565b83019850505b5050505050505092915050565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b600060a0825261127d60a0830188611156565b828103602084015261128f8188611156565b905082810360408401526112a38187611156565b94151560608401525050608001529392505050565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60006101208e83528d60208401528060408401526114278184018d8f61112c565b9050828103606084015261143c818b8d61112c565b9050828103608084015261145181898b61112c565b96151560a084015250506001600160a01b039390931660c084015260e08301919091526101009091015298975050505050505050565b60006101408c83528b60208401528060408401526114a78184018c611156565b905082810360608401526114bb818b611156565b905082810360808401526114cf818a611156565b97151560a084015250506001600160a01b039490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60006101608d83528c60208401528b60408401528060608401526115308184018c6111a1565b90508281036080840152611544818b6111a1565b905082810360a0840152611558818a6111a1565b97151560c084015250506001600160a01b039490941660e08501526101008401929092521515610120830152610140909101529695505050505050565b60009081526020902090565b600082198211156115c057634e487b7160e01b81526011600452602481fd5b500190565b6002810460018216806115d957607f821691505b602082108114156115fa57634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220f608c0c25fd3f06a9e50ee840aefd76562ddb8ef3e2832bd16fea2d898fcac5a64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xE8 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x628AFF1D GT PUSH2 0x8A JUMPI DUP1 PUSH4 0x995E4339 GT PUSH2 0x59 JUMPI DUP1 PUSH4 0x995E4339 EQ PUSH2 0x267 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0xBF22C457 EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x2CD JUMPI PUSH2 0xE8 JUMP JUMPDEST DUP1 PUSH4 0x628AFF1D EQ PUSH2 0x20A JUMPI DUP1 PUSH4 0x7E0C00ED EQ PUSH2 0x21D JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x232 JUMPI DUP1 PUSH4 0x9212051C EQ PUSH2 0x252 JUMPI PUSH2 0xE8 JUMP JUMPDEST DUP1 PUSH4 0x2E716FB1 GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0x56350BDF EQ PUSH2 0x1EA JUMPI PUSH2 0xE8 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x180AEDF3 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x159 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x108 CALLDATASIZE PUSH1 0x4 PUSH2 0x1016 JUMP JUMPDEST PUSH2 0x2ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x1242 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x143 PUSH2 0x13E CALLDATASIZE PUSH1 0x4 PUSH2 0xFAC JUMP JUMPDEST PUSH2 0x349 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1487 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x165 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0x174 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAC JUMP JUMPDEST PUSH2 0x542 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x124D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19B PUSH2 0x557 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x1256 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0xFDC JUMP JUMPDEST PUSH2 0x566 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x1E5 CALLDATASIZE PUSH1 0x4 PUSH2 0xFDC JUMP JUMPDEST PUSH2 0x5AD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x205 CALLDATASIZE PUSH1 0x4 PUSH2 0x110B JUMP JUMPDEST PUSH2 0x5EF JUMP JUMPDEST PUSH2 0x1C8 PUSH2 0x218 CALLDATASIZE PUSH1 0x4 PUSH2 0x105D JUMP JUMPDEST PUSH2 0x7BF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x229 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0xA8D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x23E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10D PUSH2 0x24D CALLDATASIZE PUSH1 0x4 PUSH2 0xFDC JUMP JUMPDEST PUSH2 0xA93 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0xABC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAC JUMP JUMPDEST PUSH2 0xAC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0xAD7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BC PUSH2 0x2B7 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAC JUMP JUMPDEST PUSH2 0xADC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x126A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 PUSH2 0x2E8 CALLDATASIZE PUSH1 0x4 PUSH2 0xFDC JUMP JUMPDEST PUSH2 0xD4E JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x343 JUMPI POP PUSH2 0x343 DUP3 PUSH2 0xD76 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD SWAP3 DUP3 ADD DUP1 SLOAD SWAP2 SWAP4 SWAP3 SWAP2 PUSH2 0x373 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x39F SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3EC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3C1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3EC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3CF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x401 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x42D SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x47A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x44F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x47A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x45D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x48F SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4BB SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x508 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4DD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x508 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4EB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x8 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0xFF DUP1 DUP5 AND SWAP6 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP5 POP SWAP2 SWAP3 SWAP2 AND SWAP1 DUP11 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x57A PUSH2 0x572 DUP4 PUSH2 0x542 JUMP JUMPDEST PUSH2 0x24D PUSH2 0xDC0 JUMP JUMPDEST PUSH2 0x59F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x596 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5A9 DUP3 DUP3 PUSH2 0xDC4 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5B5 PUSH2 0xDC0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x5E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x596 SWAP1 PUSH2 0x13A9 JUMP JUMPDEST PUSH2 0x5A9 DUP3 DUP3 PUSH2 0xE49 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x7F890B11 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x633 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x647 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x66B SWAP2 SWAP1 PUSH2 0xFC4 JUMP JUMPDEST PUSH2 0x675 DUP2 CALLER PUSH2 0xA93 JUMP JUMPDEST PUSH2 0x691 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x596 SWAP1 PUSH2 0x1372 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x3 SLOAD DUP3 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP3 MLOAD SWAP2 SWAP5 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 PUSH4 0x757991A8 SWAP3 PUSH1 0x4 DUP1 DUP4 ADD SWAP4 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6F7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x71B SWAP2 SWAP1 PUSH2 0xFC4 JUMP JUMPDEST PUSH1 0x5 DUP4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH2 0x73A JUMPI PUSH1 0x7 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x8 DUP3 ADD DUP5 SWAP1 SSTORE DUP2 SLOAD PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x40 MLOAD PUSH32 0x9028BEA5BFA7ED26C48DF402D89085A995447DC8C1FB167CB92A3C7411B54480 SWAP5 PUSH2 0x7B0 SWAP5 SWAP1 SWAP4 DUP11 SWAP4 DUP9 SWAP4 PUSH1 0x2 DUP12 ADD SWAP4 PUSH1 0x3 DUP13 ADD SWAP4 PUSH1 0x4 DUP14 ADD SWAP4 PUSH1 0xFF DUP1 DUP5 AND SWAP5 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 SWAP2 AND SWAP1 TIMESTAMP SWAP1 PUSH2 0x150A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x7CC SWAP2 PUSH2 0x15A1 JUMP JUMPDEST PUSH1 0x1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x814 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x828 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x84C SWAP2 SWAP1 PUSH2 0xFC4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP11 DUP11 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP SWAP1 DUP3 MSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP12 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP10 DUP2 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP SWAP1 DUP3 MSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP10 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP8 DUP2 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD DUP3 SWAP1 MSTORE POP SWAP4 DUP6 MSTORE POP POP POP DUP6 ISZERO ISZERO PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE CALLER PUSH1 0x40 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE CALLVALUE PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x80 DUP5 ADD DUP4 SWAP1 MSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD DUP3 SWAP1 MSTORE PUSH1 0x1 DUP1 SLOAD DUP4 MSTORE PUSH1 0x2 DUP1 DUP4 MSTORE SWAP3 DUP5 SWAP1 KECCAK256 DUP6 MLOAD DUP2 SSTORE DUP6 DUP4 ADD MLOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP3 DUP5 ADD MLOAD DUP1 MLOAD SWAP5 SWAP6 POP DUP6 SWAP5 PUSH2 0x97D SWAP4 DUP6 ADD SWAP3 SWAP2 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xECC JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x999 SWAP2 PUSH1 0x3 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xECC JUMP JUMPDEST POP PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD PUSH2 0x9B5 SWAP2 PUSH1 0x4 DUP5 ADD SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0xECC JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0xFF NOT SWAP2 DUP3 AND SWAP4 ISZERO ISZERO SWAP4 SWAP1 SWAP4 OR PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FF AND PUSH2 0x100 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND DUP5 MUL OR SWAP1 SWAP2 SSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0x6 DUP5 ADD SSTORE SWAP1 DUP4 ADD MLOAD PUSH1 0x7 DUP4 ADD DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 ISZERO ISZERO OR SWAP1 SSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MLOAD PUSH1 0x8 SWAP1 SWAP2 ADD SSTORE PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH32 0xD4AE17FDEB78E69409330361E8F8475F8027928C6F28EAE2195E5AE56570ABA0 SWAP2 PUSH2 0xA7A SWAP2 DUP6 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 CALLER SWAP1 CALLVALUE SWAP1 TIMESTAMP SWAP1 PUSH2 0x1406 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x8 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x60 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH2 0x140 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0xB29 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xB55 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xBA2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xB77 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBA2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xB85 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0xBBB SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xBE7 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xC34 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xC09 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xC34 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xC17 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD PUSH2 0xC4D SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xC79 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xCC6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xC9B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xCC6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xCA9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0xFF DUP1 DUP3 AND ISZERO ISZERO PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x100 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x60 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x7 DUP6 ADD SLOAD SWAP1 SWAP3 AND ISZERO ISZERO PUSH1 0x80 DUP1 DUP6 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x8 SWAP1 SWAP5 ADD SLOAD PUSH1 0xA0 SWAP4 DUP5 ADD MSTORE DUP5 ADD MLOAD SWAP1 DUP5 ADD MLOAD SWAP3 DUP5 ADD MLOAD SWAP2 DUP5 ADD MLOAD PUSH2 0x120 SWAP1 SWAP5 ADD MLOAD SWAP1 SWAP12 SWAP3 SWAP11 POP SWAP1 SWAP9 POP SWAP2 SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xD5A PUSH2 0x572 DUP4 PUSH2 0x542 JUMP JUMPDEST PUSH2 0x5E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x596 SWAP1 PUSH2 0x1315 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0xDCE DUP3 DUP3 PUSH2 0xA93 JUMP JUMPDEST PUSH2 0x5A9 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xE05 PUSH2 0xDC0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xE53 DUP3 DUP3 PUSH2 0xA93 JUMP JUMPDEST ISZERO PUSH2 0x5A9 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0xE88 PUSH2 0xDC0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xED8 SWAP1 PUSH2 0x15C5 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xEFA JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xF40 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xF13 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xF40 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xF40 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xF40 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xF25 JUMP JUMPDEST POP PUSH2 0xF4C SWAP3 SWAP2 POP PUSH2 0xF50 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xF4C JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xF51 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xF76 JUMPI DUP2 DUP3 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF8D JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0xFA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFBD JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFD5 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFEE JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x100B JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1027 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x1056 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x1077 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x108E JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x109A DUP12 DUP4 DUP13 ADD PUSH2 0xF65 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x10B2 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x10BE DUP12 DUP4 DUP13 ADD PUSH2 0xF65 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x10D6 JUMPI DUP5 DUP6 REVERT JUMPDEST POP PUSH2 0x10E3 DUP11 DUP3 DUP12 ADD PUSH2 0xF65 JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x10FB JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x111D JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP5 MSTORE DUP3 DUP3 PUSH1 0x20 DUP7 ADD CALLDATACOPY DUP1 PUSH1 0x20 DUP5 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP6 ADD AND DUP6 ADD ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE DUP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x117B JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x115F JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x118C JUMPI DUP3 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP1 DUP4 AND DUP1 PUSH2 0x11BB JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST PUSH1 0x20 DUP1 DUP5 LT DUP3 EQ ISZERO PUSH2 0x11DB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP7 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 DUP7 REVERT JUMPDEST PUSH2 0x11E5 DUP5 DUP10 PUSH2 0x124D JUMP JUMPDEST DUP3 DUP1 ISZERO PUSH2 0x11F9 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x120A JUMPI PUSH2 0x1235 JUMP JUMPDEST PUSH1 0xFF NOT DUP8 AND DUP3 MSTORE DUP3 DUP3 ADD SWAP8 POP PUSH2 0x1235 JUMP JUMPDEST PUSH2 0x1213 DUP10 PUSH2 0x1595 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x122F JUMPI DUP2 SLOAD DUP5 DUP3 ADD MSTORE SWAP1 DUP7 ADD SWAP1 DUP5 ADD PUSH2 0x1216 JUMP JUMPDEST DUP4 ADD SWAP9 POP POP JUMPDEST POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 MSTORE PUSH2 0x127D PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x1156 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x128F DUP2 DUP9 PUSH2 0x1156 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x12A3 DUP2 DUP8 PUSH2 0x1156 JUMP JUMPDEST SWAP5 ISZERO ISZERO PUSH1 0x60 DUP5 ADD MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP15 DUP4 MSTORE DUP14 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x1427 DUP2 DUP5 ADD DUP14 DUP16 PUSH2 0x112C JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x143C DUP2 DUP12 DUP14 PUSH2 0x112C JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x1451 DUP2 DUP10 DUP12 PUSH2 0x112C JUMP JUMPDEST SWAP7 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xE0 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x100 SWAP1 SWAP2 ADD MSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP13 DUP4 MSTORE DUP12 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x14A7 DUP2 DUP5 ADD DUP13 PUSH2 0x1156 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x14BB DUP2 DUP12 PUSH2 0x1156 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x14CF DUP2 DUP11 PUSH2 0x1156 JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x160 DUP14 DUP4 MSTORE DUP13 PUSH1 0x20 DUP5 ADD MSTORE DUP12 PUSH1 0x40 DUP5 ADD MSTORE DUP1 PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x1530 DUP2 DUP5 ADD DUP13 PUSH2 0x11A1 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x1544 DUP2 DUP12 PUSH2 0x11A1 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0xA0 DUP5 ADD MSTORE PUSH2 0x1558 DUP2 DUP11 PUSH2 0x11A1 JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xC0 DUP5 ADD MSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 SWAP1 SWAP5 AND PUSH1 0xE0 DUP6 ADD MSTORE PUSH2 0x100 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x120 DUP4 ADD MSTORE PUSH2 0x140 SWAP1 SWAP2 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x15C0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x15D9 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x15FA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF6 ADDMOD 0xC0 0xC2 0x5F 0xD3 CREATE PUSH11 0x9E50EE840AEFD76562DDB8 0xEF RETURNDATACOPY 0x28 ORIGIN 0xBD AND INVALID LOG2 0xD8 SWAP9 0xFC 0xAC GAS PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "192:2719:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;;;;;-1:-1:-1;3566:214:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;152:44:19;;;;;;;;;;-1:-1:-1;152:44:19;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;4185:121:0:-;;;;;;;;;;-1:-1:-1;4185:121:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;238:33:9:-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4556:228:0:-;;;;;;;;;;-1:-1:-1;4556:228:0;;;;;:::i;:::-;;:::i;:::-;;5740:214;;;;;;;;;;-1:-1:-1;5740:214:0;;;;;:::i;:::-;;:::i;1687:640:9:-;;;;;;;;;;-1:-1:-1;1687:640:9;;;;;:::i;:::-;;:::i;913:768::-;;;;;;:::i;:::-;;:::i;2825:84::-;;;;;;;;;;;;;:::i;3867:137:0:-;;;;;;;;;;-1:-1:-1;3867:137:0;;;;;:::i;:::-;;:::i;124:22:19:-;;;;;;;;;;;;;:::i;2333:101:9:-;;;;;;;;;;-1:-1:-1;2333:101:9;;;;;:::i;:::-;;:::i;2363:49:0:-;;;;;;;;;;;;;:::i;2440:379:9:-;;;;;;;;;;-1:-1:-1;2440:379:9;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;5018:231:0:-;;;;;;;;;;-1:-1:-1;5018:231:0;;;;;:::i;:::-;;:::i;3566:214::-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;3566:214;-1:-1:-1;;3566:214:0:o;152:44:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;152:44:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;152:44:19;;-1:-1:-1;152:44:19;;;;;;:::o;4185:121:0:-;4251:7;4277:12;;;;;;;;;;:22;;;;4185:121::o;238:33:9:-;;;-1:-1:-1;;;;;238:33:9;;:::o;4556:228:0:-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;;;;;;;;;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;5740:214::-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;1687:640:9:-;1794:9;:29;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;1841:23:9::1;1867:11:::0;;;:4:::1;:11;::::0;;;;;;;1904:12:::1;::::0;:23;;-1:-1:-1;;;1904:23:9;;;;1867:11;;1841:23;-1:-1:-1;;;;;1904:12:9;;::::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;1867:11;1904:23;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1943:10;::::0;::::1;::::0;1888:39;;-1:-1:-1;1943:10:9::1;;1938:62;;1969:13;::::0;::::1;:20:::0;;-1:-1:-1;;1969:20:9::1;1985:4;1969:20;::::0;;1938:62:::1;2010:10;::::0;::::1;:18:::0;;;2068:6;;2195:10:::1;::::0;::::1;::::0;2244::::1;::::0;::::1;::::0;2268:13:::1;::::0;::::1;::::0;2043:277:::1;::::0;::::1;::::0;::::1;::::0;2068:6;;2010:18;;2107:5;;2126:7:::1;::::0;::::1;::::0;2147:12:::1;::::0;::::1;::::0;2173:8:::1;::::0;::::1;::::0;2195:10:::1;::::0;;::::1;::::0;::::1;2219:11:::0;;::::1;-1:-1:-1::0;;;;;2219:11:9::1;::::0;2268:13;::::1;::::0;2295:15:::1;::::0;2043:277:::1;:::i;:::-;;;;;;;;389:1:7;;1687:640:9::0;;;:::o;913:768::-;1094:7;;;:11;;;:::i;:::-;1084:7;:21;1131:12;;:23;;;-1:-1:-1;;;1131:23:9;;;;1115:13;;-1:-1:-1;;;;;1131:12:9;;:21;;:23;;;;;;;;;;;;;;:12;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1115:39;;1164:22;1189:219;;;;;;;;1214:7;;1189:219;;;;1235:5;1189:219;;;;1254:3;;1189:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1189:219:9;;;-1:-1:-1;1189:219:9;;;;;;;;;;;;;;;;;;;;;;;;;;;1271:8;;;;;;1189:219;;1271:8;;;;1189:219;;;;;;;;;-1:-1:-1;;;1189:219:9;;;-1:-1:-1;1189:219:9;;;;;;;;;;;;;;;;;;;;;;;;;;;1293:4;;;;;;1189:219;;1293:4;;;;1189:219;;;;;;;;-1:-1:-1;1189:219:9;;;-1:-1:-1;;;1189:219:9;;;;;;;;;;;1331:10;1189:219;;;;;;;;1355:9;1189:219;;;;;;;;;;;;;;;;;;1423:7;;1418:13;;:4;:13;;;;;;;:19;;;;;;;;;;;;;;;;;;;;;1164:244;;-1:-1:-1;1164:244:9;;1418:19;;;;;;;;;;;:::i;:::-;-1:-1:-1;1418:19:9;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1418:19:9;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1418:19:9;;;;;;;;;;;;;-1:-1:-1;;1418:19:9;;;;;;;;;;;;;-1:-1:-1;;;;;1418:19:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1485:7:9;1461:213;;;;;;1506:5;;1525:3;;;;1542:8;;;;1564:4;;;;1582:6;;1602:10;;1626:9;;1649:15;;1461:213;:::i;:::-;;;;;;;;913:768;;;;;;;;;:::o;2825:84::-;2895:7;;2825:84;:::o;3867:137:0:-;3945:4;3968:12;;;;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;124:22:19:-;;;;:::o;2333:101:9:-;2386:7;2412:8;;;:4;:8;;;;;:15;;;;2333:101::o;2363:49:0:-;2408:4;2363:49;:::o;2440:379:9:-;2542:17;2573:22;2609:18;2641:11;2666:14;2706:22;2731:4;:8;2736:2;2731:8;;;;;;;;;;;2706:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2706:33:9;;;-1:-1:-1;;2706:33:9;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2706:33:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2756:7;;;2765:12;;;;2779:8;;;;2789:10;;;;2801;;;;;2756:7;;2765:12;;-1:-1:-1;2779:8:9;;-1:-1:-1;2789:10:9;;-1:-1:-1;2801:10:9;;-1:-1:-1;2440:379:9;-1:-1:-1;;;2440:379:9:o;5018:231:0:-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;586:96:3:-;665:10;586:96;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:378:29;;;132:3;125:4;117:6;113:17;109:27;99:2;;157:8;147;140:26;99:2;-1:-1:-1;187:20:29;;230:18;219:30;;216:2;;;269:8;259;252:26;216:2;313:4;305:6;301:17;289:29;;365:3;358:4;349:6;341;337:19;333:30;330:39;327:2;;;382:1;379;372:12;327:2;89:303;;;;;:::o;397:190::-;;509:2;497:9;488:7;484:23;480:32;477:2;;;530:6;522;515:22;477:2;-1:-1:-1;558:23:29;;467:120;-1:-1:-1;467:120:29:o;592:194::-;;715:2;703:9;694:7;690:23;686:32;683:2;;;736:6;728;721:22;683:2;-1:-1:-1;764:16:29;;673:113;-1:-1:-1;673:113:29:o;791:397::-;;;920:2;908:9;899:7;895:23;891:32;888:2;;;941:6;933;926:22;888:2;982:9;969:23;959:33;;1042:2;1031:9;1027:18;1014:32;-1:-1:-1;;;;;1079:5:29;1075:54;1068:5;1065:65;1055:2;;1149:6;1141;1134:22;1055:2;1177:5;1167:15;;;878:310;;;;;:::o;1193:352::-;;1304:2;1292:9;1283:7;1279:23;1275:32;1272:2;;;1325:6;1317;1310:22;1272:2;1369:9;1356:23;1419:66;1412:5;1408:78;1401:5;1398:89;1388:2;;1506:6;1498;1491:22;1388:2;1534:5;1262:283;-1:-1:-1;;;1262:283:29:o;1550:1228::-;;;;;;;;1770:3;1758:9;1749:7;1745:23;1741:33;1738:2;;;1792:6;1784;1777:22;1738:2;1837:9;1824:23;1866:18;1907:2;1899:6;1896:14;1893:2;;;1928:6;1920;1913:22;1893:2;1972:61;2025:7;2016:6;2005:9;2001:22;1972:61;:::i;:::-;2052:8;;-1:-1:-1;1946:87:29;-1:-1:-1;2140:2:29;2125:18;;2112:32;;-1:-1:-1;2156:16:29;;;2153:2;;;2190:6;2182;2175:22;2153:2;2234:63;2289:7;2278:8;2267:9;2263:24;2234:63;:::i;:::-;2316:8;;-1:-1:-1;2208:89:29;-1:-1:-1;2404:2:29;2389:18;;2376:32;;-1:-1:-1;2420:16:29;;;2417:2;;;2454:6;2446;2439:22;2417:2;;2498:63;2553:7;2542:8;2531:9;2527:24;2498:63;:::i;:::-;2580:8;;-1:-1:-1;2472:89:29;-1:-1:-1;;2665:2:29;2650:18;;2637:32;2705:13;;2698:21;2688:32;;2678:2;;2739:6;2731;2724:22;2678:2;2767:5;2757:15;;;1728:1050;;;;;;;;;;:::o;3177:258::-;;;3306:2;3294:9;3285:7;3281:23;3277:32;3274:2;;;3327:6;3319;3312:22;3274:2;-1:-1:-1;;3355:23:29;;;3425:2;3410:18;;;3397:32;;-1:-1:-1;3264:171:29:o;3440:271::-;;3531:6;3526:3;3519:19;3583:6;3576:5;3569:4;3564:3;3560:14;3547:43;3635:3;3628:4;3619:6;3614:3;3610:16;3606:27;3599:40;3700:4;3693:2;3689:7;3684:2;3676:6;3672:15;3668:29;3663:3;3659:39;3655:50;3648:57;;3509:202;;;;;:::o;3716:478::-;;3798:5;3792:12;3825:6;3820:3;3813:19;3850:3;3862:162;3876:6;3873:1;3870:13;3862:162;;;3938:4;3994:13;;;3990:22;;3984:29;3966:11;;;3962:20;;3955:59;3891:12;3862:162;;;4042:6;4039:1;4036:13;4033:2;;;4108:3;4101:4;4092:6;4087:3;4083:16;4079:27;4072:40;4033:2;-1:-1:-1;4176:2:29;4155:15;-1:-1:-1;;4151:29:29;4142:39;;;;4183:4;4138:50;;3768:426;-1:-1:-1;;3768:426:29:o;4199:1110::-;4286:12;;4199:1110;;4358:1;4343:17;;4379:1;4415:18;;;;4442:2;;4496:4;4488:6;4484:17;4474:27;;4442:2;4522;4570;4562:6;4559:14;4539:18;4536:38;4533:2;;;-1:-1:-1;;;4604:3:29;4597:90;4710:4;4707:1;4700:15;4740:4;4735:3;4728:17;4533:2;4777:50;4820:6;4815:3;4777:50;:::i;:::-;4843:18;4870:104;;;;4988:1;4983:320;;;;4836:467;;4870:104;-1:-1:-1;;4905:24:29;;4891:39;;4950:14;;;;-1:-1:-1;4870:104:29;;4983:320;5019:38;5051:5;5019:38;:::i;:::-;5079:1;5093:167;5107:6;5104:1;5101:13;5093:167;;;5187:14;;5172:13;;;5165:37;5230:16;;;;5122:10;;5093:167;;;5280:13;;;-1:-1:-1;;4836:467:29;;;;;;;;4259:1050;;;;:::o;5314:187::-;5479:14;;5472:22;5454:41;;5442:2;5427:18;;5409:92::o;5506:177::-;5652:25;;;5640:2;5625:18;;5607:76::o;5688:248::-;-1:-1:-1;;;;;5874:55:29;;;;5856:74;;5844:2;5829:18;;5811:125::o;5941:707::-;;6236:3;6225:9;6218:22;6263:48;6306:3;6295:9;6291:19;6283:6;6263:48;:::i;:::-;6359:9;6351:6;6347:22;6342:2;6331:9;6327:18;6320:50;6393:35;6421:6;6413;6393:35;:::i;:::-;6379:49;;6476:9;6468:6;6464:22;6459:2;6448:9;6444:18;6437:50;6504:35;6532:6;6524;6504:35;:::i;:::-;6582:14;;6575:22;6570:2;6555:18;;6548:50;-1:-1:-1;;6629:3:29;6614:19;6607:35;6496:43;6208:440;-1:-1:-1;;;6208:440:29:o;6653:411::-;6855:2;6837:21;;;6894:2;6874:18;;;6867:30;6933:34;6928:2;6913:18;;6906:62;7004:17;6999:2;6984:18;;6977:45;7054:3;7039:19;;6827:237::o;7069:412::-;7271:2;7253:21;;;7310:2;7290:18;;;7283:30;7349:34;7344:2;7329:18;;7322:62;7420:18;7415:2;7400:18;;7393:46;7471:3;7456:19;;7243:238::o;7486:350::-;7688:2;7670:21;;;7727:2;7707:18;;;7700:30;7766:28;7761:2;7746:18;;7739:56;7827:2;7812:18;;7660:176::o;7841:411::-;8043:2;8025:21;;;8082:2;8062:18;;;8055:30;8121:34;8116:2;8101:18;;8094:62;8192:17;8187:2;8172:18;;8165:45;8242:3;8227:19;;8015:237::o;8439:1149::-;;8870:3;8900:6;8889:9;8882:25;8943:6;8938:2;8927:9;8923:18;8916:34;8986:2;8981;8970:9;8966:18;8959:30;9012:64;9072:2;9061:9;9057:18;9049:6;9041;9012:64;:::i;:::-;8998:78;;9124:9;9116:6;9112:22;9107:2;9096:9;9092:18;9085:50;9158:52;9203:6;9195;9187;9158:52;:::i;:::-;9144:66;;9259:9;9251:6;9247:22;9241:3;9230:9;9226:19;9219:51;9287:52;9332:6;9324;9316;9287:52;:::i;:::-;9383:14;;9376:22;9370:3;9355:19;;9348:51;-1:-1:-1;;;;;;;9436:55:29;;;;9430:3;9415:19;;9408:84;9523:3;9508:19;;9501:36;;;;9568:3;9553:19;;;9546:36;9279:60;8850:738;-1:-1:-1;;;;;;;;8850:738:29:o;9593:1146::-;;10014:3;10044:6;10033:9;10026:25;10087:6;10082:2;10071:9;10067:18;10060:34;10130:2;10125;10114:9;10110:18;10103:30;10156:47;10199:2;10188:9;10184:18;10176:6;10156:47;:::i;:::-;10142:61;;10251:9;10243:6;10239:22;10234:2;10223:9;10219:18;10212:50;10285:35;10313:6;10305;10285:35;:::i;:::-;10271:49;;10369:9;10361:6;10357:22;10351:3;10340:9;10336:19;10329:51;10397:35;10425:6;10417;10397:35;:::i;:::-;10476:14;;10469:22;10463:3;10448:19;;10441:51;-1:-1:-1;;;;;;;10529:55:29;;;;10523:3;10508:19;;10501:84;10616:3;10601:19;;10594:35;;;;10673:14;10666:22;10660:3;10645:19;;10638:51;10720:3;10705:19;;;10698:35;10389:43;9994:745;-1:-1:-1;;;;;9994:745:29:o;10744:1235::-;;11185:3;11215:6;11204:9;11197:25;11258:6;11253:2;11242:9;11238:18;11231:34;11301:6;11296:2;11285:9;11281:18;11274:34;11344:2;11339;11328:9;11324:18;11317:30;11370:55;11421:2;11410:9;11406:18;11398:6;11370:55;:::i;:::-;11356:69;;11474:9;11466:6;11462:22;11456:3;11445:9;11441:19;11434:51;11508:43;11544:6;11536;11508:43;:::i;:::-;11494:57;;11600:9;11592:6;11588:22;11582:3;11571:9;11567:19;11560:51;11628:43;11664:6;11656;11628:43;:::i;:::-;11715:14;;11708:22;11702:3;11687:19;;11680:51;-1:-1:-1;;;;;;;11768:55:29;;;;11762:3;11747:19;;11740:84;11855:3;11840:19;;11833:35;;;;11912:14;11905:22;11899:3;11884:19;;11877:51;11959:3;11944:19;;;11937:36;11620:51;11165:814;-1:-1:-1;;;;;;11165:814:29:o;11984:129::-;;12052:17;;;12102:4;12086:21;;;12042:71::o;12275:286::-;;12346:1;12342:6;12339:1;12336:13;12333:2;;;-1:-1:-1;;;12379:3:29;12372:90;12485:4;12482:1;12475:15;12515:4;12510:3;12503:17;12333:2;-1:-1:-1;12546:9:29;;12323:238::o;12566:437::-;12651:1;12641:12;;12698:1;12688:12;;;12709:2;;12763:4;12755:6;12751:17;12741:27;;12709:2;12816;12808:6;12805:14;12785:18;12782:38;12779:2;;;-1:-1:-1;;;12850:1:29;12843:88;12954:4;12951:1;12944:15;12982:4;12979:1;12972:15;12779:2;;12621:382;;;:::o" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "createJob(string,string,string,bool)": "628aff1d", - "fulfillJob(uint256,uint256)": "56350bdf", - "getJob(uint256)": "bf22c457", - "getNumJobs()": "7e0c00ed", - "getResult(uint256)": "995e4339", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "jobs(uint256)": "180aedf3", - "numJobs()": "9212051c", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "stateManager()": "2e716fb1", - "supportsInterface(bytes4)": "01ffc9a7" - } - } - } - }, - "contracts/Core/StakeManager.sol": { - "StakeManager": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_blockReward", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "prevRewardPool", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rewardPool", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "RewardPoolChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "StakeChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "prevStakeGettingReward", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakeGettingReward", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "StakeGettingRewardChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Staked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Unstaked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Withdrew", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "blockManager", - "outputs": [ - { - "internalType": "contract IBlockManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "blockReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epochs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakeValue", - "type": "uint256" - } - ], - "name": "calculateInactivityPenalties", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getNumStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getStaker", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "internalType": "struct Structs.Staker", - "name": "staker", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getStakerId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "givePenalties", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "schAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "voteManagersAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "blockManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "stateManagerAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sch", - "outputs": [ - { - "internalType": "contract SchellingCoin", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_epochLastRevealed", - "type": "uint256" - } - ], - "name": "setStakerEpochLastRevealed", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "bountyHunter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakerIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "stakers", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_blockReward", - "type": "uint256" - } - ], - "name": "updateBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "updateCommitmentEpoch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "voteManager", - "outputs": [ - { - "internalType": "contract IVoteManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:210:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "95:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "141:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "150:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "158:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "143:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "143:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "143:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "116:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "125:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "112:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "112:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "137:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "108:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "108:32:29" - }, - "nodeType": "YulIf", - "src": "105:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "176:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "192:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "186:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "186:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "176:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "61:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "72:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "84:6:29", - "type": "" - } - ], - "src": "14:194:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1579 - }, - { - "length": 20, - "start": 2058 - }, - { - "length": 20, - "start": 2399 - }, - { - "length": 20, - "start": 2523 - }, - { - "length": 20, - "start": 2950 - }, - { - "length": 20, - "start": 3398 - }, - { - "length": 20, - "start": 3799 - }, - { - "length": 20, - "start": 4240 - }, - { - "length": 20, - "start": 5077 - }, - { - "length": 20, - "start": 5293 - }, - { - "length": 20, - "start": 5831 - }, - { - "length": 20, - "start": 6122 - }, - { - "length": 20, - "start": 6413 - }, - { - "length": 20, - "start": 6875 - }, - { - "length": 20, - "start": 7241 - }, - { - "length": 20, - "start": 7574 - }, - { - "length": 20, - "start": 7981 - }, - { - "length": 20, - "start": 8442 - }, - { - "length": 20, - "start": 10937 - } - ] - } - }, - "object": "60806040523480156200001157600080fd5b5060405162003a8d38038062003a8d833981016040819052620000349162000116565b620000416000336200004a565b6002556200012f565b6200005682826200005a565b5050565b620000668282620000e7565b620000565760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff19169091179055620000a362000112565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b60006020828403121562000128578081fd5b5051919050565b61394e806200013f6000396000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c806366666aa91161012a578063c584bb9f116100bd578063e3c998fe1161008c578063f8c8765e11610071578063f8c8765e14610433578063fabb989014610446578063fd5e6dd11461045957610226565b8063e3c998fe14610400578063f580ffcb1461042057610226565b8063c584bb9f146103ca578063c8ae0d7d146103d2578063d547741f146103e5578063d9169b32146103f857610226565b806391d14854116100f957806391d14854146103945780639864f70a146103a7578063a217fddf146103ba578063bc788d46146103c257610226565b806366666aa91461035e5780636c8b052a14610366578063746c8b651461036e5780637b0472f01461038157610226565b8063248a9ca3116101bd5780632f2ff15d1161018c57806342c1e5871161017157806342c1e5871461033057806354eae15e146103385780636022a4851461034b57610226565b80632f2ff15d1461030a57806336568abe1461031d57610226565b8063248a9ca3146102bc5780632e17de78146102cf5780632e1a7d4d146102e25780632e716fb1146102f557610226565b8063188dc83b116101f9578063188dc83b146102865780631a69f008146102995780631ad54991146102ac5780631b8b13a7146102b457610226565b806301ffc9a71461022b5780630ac168a1146102545780630ec88d3f146102695780630f91ce1914610271575b600080fd5b61023e610239366004612eb4565b610480565b60405161024b91906130fc565b60405180910390f35b61025c6104de565b60405161024b9190613107565b61025c6104e4565b61028461027f366004613049565b6104ea565b005b610284610294366004612e59565b6106a7565b61025c6102a736600461307d565b61080a565b61025c610967565b61025c61096d565b61025c6102ca366004612e59565b610973565b6102846102dd366004612e59565b610989565b6102846102f0366004612e59565b610cda565b6102fd6111d4565b60405161024b9190613110565b610284610318366004612e89565b6111e3565b61028461032b366004612e89565b611221565b6102fd611263565b61028461034636600461307d565b611272565b61025c610359366004612d90565b611345565b61025c611360565b61025c611366565b61028461037c36600461307d565b61136c565b61028461038f36600461307d565b6114ca565b61023e6103a2366004612e89565b611c08565b6102846103b536600461307d565b611c33565b61025c611d0d565b61025c611d12565b6102fd611d18565b61025c6103e0366004612d90565b611d27565b6102846103f3366004612e89565b611d39565b6102fd611d61565b61041361040e366004612e59565b611d70565b60405161024b91906136e8565b61028461042e366004612e59565b611dec565b610284610441366004612db1565b611e94565b61028461045436600461307d565b611f97565b61046c610467366004612e59565b6125a0565b60405161024b98979695949392919061374a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104d657506104d6826125ef565b90505b919050565b60025481565b60055481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561052e57600080fd5b505af4158015610542573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105669190612e71565b6105708133611c08565b6105955760405162461bcd60e51b815260040161058c90613487565b60405180910390fd5b60008481526007602052604081206002908101546105b3919061387b565b90506105f78560006040518060400160405280600781526020017f536c61736865640000000000000000000000000000000000000000000000000081525086612639565b60018111156106a05760085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061063290879085906004016130e3565b602060405180830381600087803b15801561064c57600080fd5b505af1158015610660573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106849190612e3f565b6106a05760405162461bcd60e51b815260040161058c906131b8565b5050505050565b60005460ff166106c95760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561070d57600080fd5b505af4158015610721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107459190612e71565b61074f8133611c08565b61076b5760405162461bcd60e51b815260040161058c90613487565b600b60009054906101000a90046001600160a01b03166001600160a01b031663757991a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b957600080fd5b505afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190612e71565b6000928352600760205260409092206004019190915550565b6000600a83101561081c575080610961565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1cc45006040518163ffffffff1660e01b815260040160206040518083038186803b15801561086257600080fd5b505af4158015610876573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089a9190612e71565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a86f5a3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108de57600080fd5b505af41580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190612e71565b610920908561389b565b61092b6001876138ba565b610935919061389b565b61093f919061387b565b90508281101561095b5761095381846138ba565b915050610961565b60009150505b92915050565b60055490565b60045490565b6000908152600160208190526040909120015490565b60005460ff166109ab5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156109ef57600080fd5b505afa158015610a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a279190612e71565b8114610a455760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8957600080fd5b505af4158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac1919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1257600080fd5b505afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190612e71565b8114610b685760405162461bcd60e51b815260040161058c906135c0565b3360009081526006602090815260408083205480845260079092529091208054610ba45760405162461bcd60e51b815260040161058c906134be565b6000816002015411610bc85760405162461bcd60e51b815260040161058c9061324c565b84816006015411158015610bdf5750600681015415155b610bfb5760405162461bcd60e51b815260040161058c90613450565b6000816006018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c4957600080fd5b505af4158015610c5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c819190612e71565b610c8b9086613863565b6007820155600281015460405183917f0cfbc484edc798d2584502ca0d64e7e9514b8dd091d96a2a5b4deb58478da19e91610ccb91899181904290613797565b60405180910390a25050505050565b60005460ff16610cfc5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d4057600080fd5b505afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d789190612e71565b8114610d965760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610dda57600080fd5b505af4158015610dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e12919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6357600080fd5b505afa158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9b9190612e71565b8114610eb95760405162461bcd60e51b815260040161058c906135c0565b3360009081526006602090815260408083205480845260079092529091208054610ef55760405162461bcd60e51b815260040161058c90613419565b600681015415610f175760405162461bcd60e51b815260040161058c90613589565b84816007015411158015610f2e5750600781015415155b610f4a5760405162461bcd60e51b815260040161058c90613181565b806005015473__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9357600080fd5b505af4158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb9190612e71565b8260070154610fda91906138ba565b1015610ff85760405162461bcd60e51b815260040161058c90613385565b6009546040517f7164f0d60000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637164f0d6906110439088908690600401613789565b60206040518083038186803b15801561105b57600080fd5b505afa15801561106f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110939190612e71565b156110b05760405162461bcd60e51b815260040161058c9061352c565b60008160020154116110d45760405162461bcd60e51b815260040161058c906135f7565b6000828152600760205260408082206002018054908390559051909184917f0a6fecee2c95fc6b4c7f291e3435a3a832bcd700c2a7ffdedd8c909d56dfa49f91611124918a919081904290613797565b60405180910390a260085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061115e90339085906004016130e3565b602060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b09190612e3f565b6111cc5760405162461bcd60e51b815260040161058c9061334e565b505050505050565b600b546001600160a01b031681565b6111f76111ef83610973565b6103a261268b565b6112135760405162461bcd60e51b815260040161058c90613124565b61121d828261268f565b5050565b61122961268b565b6001600160a01b0316816001600160a01b0316146112595760405162461bcd60e51b815260040161058c9061362e565b61121d8282612717565b6009546001600160a01b031681565b60005460ff166112945760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156112d857600080fd5b505af41580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113109190612e71565b61131a8133611c08565b6113365760405162461bcd60e51b815260040161058c90613487565b611340838361279c565b505050565b6001600160a01b031660009081526006602052604090205490565b60045481565b60035481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156113b057600080fd5b505af41580156113c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e89190612e71565b6113f28133611c08565b61140e5760405162461bcd60e51b815260040161058c90613487565b6002541561147b57600280546000858152600760205260408120909201546114369190613863565b905061147984826040518060400160405280600c81526020017f426c6f636b20526577617264000000000000000000000000000000000000000081525086612639565b505b6005805460009182905560405190917feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916114bc9186918591904290613797565b60405180910390a150505050565b60005460ff166114ec5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561153057600080fd5b505afa158015611544573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115689190612e71565b81146115865760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115ca57600080fd5b505af41580156115de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611602919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561165357600080fd5b505afa158015611667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168b9190612e71565b81146116a95760405162461bcd60e51b815260040161058c906135c0565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ed57600080fd5b505af4158015611701573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611725919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561177657600080fd5b505afa15801561178a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ae9190612e71565b14156117cc5760405162461bcd60e51b815260040161058c906134f5565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561181057600080fd5b505af4158015611824573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118489190612e71565b8310156118675760405162461bcd60e51b815260040161058c9061368b565b6008546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906323b872dd906118b4903390309088906004016130bf565b602060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190612e3f565b6119225760405162461bcd60e51b815260040161058c906132e0565b3360009081526006602090815260408083205480845260079092529091206002015481611ad157600354611957906001613863565b6003819055506040518061010001604052806003548152602001336001600160a01b03168152602001868152602001878152602001600081526020016000815260200173__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b1580156119de57600080fd5b505af41580156119f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a169190612e71565b611a209089613863565b8152600060209182018190526003805482526007808452604080842086518155868601516001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039092169190911790558682015160028201556060870151818501556080870151600482015560a0870151600582015560c087015160068083019190915560e090970151920191909155905433835293909252208190559150611bac565b600082815260076020526040902060020154611aee908690613863565b600760008481526020019081526020016000206002018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4c57600080fd5b505af4158015611b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b849190612e71565b611b8e9087613863565b60008381526007602081905260408220600681019390935591909101555b817f52d3b6bf695a499d39fcdb47e3b450c09f2f6aa091ca8809cc51c00e705996cc8783600760008781526020019081526020016000206002015442604051611bf89493929190613797565b60405180910390a2505050505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60005460ff16611c555760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c9957600080fd5b505af4158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd19190612e71565b611cdb8133611c08565b611cf75760405162461bcd60e51b815260040161058c90613487565b5060009182526007602052604090912060050155565b600081565b60035490565b6008546001600160a01b031681565b60066020526000908152604090205481565b611d456111ef83610973565b6112595760405162461bcd60e51b815260040161058c906131ef565b600a546001600160a01b031681565b611d78612c99565b506000908152600760208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a0820152600683015460c082015291015460e082015290565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1a627816040518163ffffffff1660e01b815260040160206040518083038186803b158015611e3057600080fd5b505af4158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e689190612e71565b611e728133611c08565b611e8e5760405162461bcd60e51b815260040161058c90613487565b50600255565b600054610100900460ff1680611ead575060005460ff16155b611ec95760405162461bcd60e51b815260040161058c90613283565b600054610100900460ff16158015611ef4576000805460ff1961ff0019909116610100171660011790555b6000611f008133611c08565b611f1c5760405162461bcd60e51b815260040161058c90613487565b50600880546001600160a01b038088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560098054878416908316179055600a8054868416908316179055600b80549285169290911691909117905580156106a0576000805461ff00191690555050505050565b60005460ff16611fb95760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b158015611ffd57600080fd5b505af4158015612011573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120359190612e71565b61203f8133611c08565b61205b5760405162461bcd60e51b815260040161058c90613487565b60055461206757611340565b6000838152600760208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a08201819052600684015460c0830152929091015460e0820152906120e681856138ba565b6001146120f4575050611340565b600a546040517f378ab9a90000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063378ab9a99061213e908590600401613107565b60006040518083038186803b15801561215657600080fd5b505afa15801561216a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121929190810190612e04565b600a546040517fd2a4669a0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063d2a4669a906121e1908690600401613107565b60006040518083038186803b1580156121f957600080fd5b505afa15801561220d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122359190810190612e04565b600a546040517ffae4425d0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063fae4425d90612284908790600401613107565b60006040518083038186803b15801561229c57600080fd5b505afa1580156122b0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122d89190810190612e04565b825190915015612596576000805b835181101561243d576009548751604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a91612324918b918790600401613823565b604080518083038186803b15801561233b57600080fd5b505afa15801561234f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123739190612ffb565b600001519050600086838151811061239b57634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008684815181106123c757634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008685815181106123f357634e487b7160e01b600052603260045260246000fd5b602002602001015190508284148061241357508184118061241357508084105b1561242657612423866001613863565b95505b505050508080612435906138d1565b9150506122e6565b506000835160055461244f919061389b565b826004548960400151612462919061389b565b61246c919061389b565b612476919061387b565b905080156125935760055460408801518110156124945760006124a6565b87604001516005546124a691906138ba565b60058190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916124df918d9185914290613797565b60405180910390a160008289604001516124f99190613863565b60045490915061250984826138ba565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612542918f9185914290613797565b60405180910390a161258f8a60000151836040518060400160405280600e81526020017f566f74696e6720526577617264730000000000000000000000000000000000008152508f612639565b5050505b50505b5050505050505050565b60076020819052600091825260409091208054600182015460028301546003840154600485015460058601546006870154969097015494966001600160a01b0390941695929491939092909188565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b60008481526007602052604090819020600201805490859055905185907fab9982d99de79485b3cd6d1e72c881fd0342f42f1cbc7d220d4f373b97c4f36390610ccb90849088908890889042906137b2565b3390565b6126998282611c08565b61121d5760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556126d361268b565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6127218282611c08565b1561121d5760008281526001602090815260408083206001600160a01b03851684529091529020805460ff1916905561275861268b565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6127a68282612b35565b60008281526007602052604080822060028101546005820154600a5493517f04c075690000000000000000000000000000000000000000000000000000000081529294919390926001600160a01b03909116906304c075699061280d908590600401613107565b60006040518083038186803b15801561282557600080fd5b505afa158015612839573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128619190810190612ef4565b606081015160808201518151929350909115612596576000805b8351811015612a21576009548854604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a916128b9918b918790600401613823565b604080518083038186803b1580156128d057600080fd5b505afa1580156128e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129089190612ffb565b600001519050600085838151811061293057634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085848151811061295c57634e487b7160e01b600052603260045260246000fd5b602002602001015190508183108061297357508083115b15612a0b5773__$cb76aa8097a3c0beaf107a478aa049bae7$__633002c9ac6040518163ffffffff1660e01b815260040160206040518083038186803b1580156129bc57600080fd5b505af41580156129d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f49190612e71565b6129fe908b61387b565b612a089086613863565b94505b5050508080612a19906138d1565b91505061287b565b508015612ada57858111612a355780612a37565b855b8754909150612a8690612a4a83896138ba565b6040518060400160405280600e81526020017f566f74696e672050656e616c74790000000000000000000000000000000000008152508b612639565b600454612a938282613863565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612acc918c9185914290613797565b60405180910390a150612b2a565b600554612ae78782613863565b60058190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612b20918c9185914290613797565b60405180910390a1505b505050505050505050565b60008281526007602081815260408084208151610100810183528154815260018201546001600160a01b03169381019390935260028101549183019190915260038101546060830181905260048201546080840152600582015460a08401819052600683015460c0850152919093015460e083015290929110612bbc578160600151612bc2565b8160a001515b90506000612bd082856138ba565b60408401519091506000612be4838361080a565b905081811015612c9057612c338560000151826040518060400160405280601281526020017f496e61637469766974792050656e616c7479000000000000000000000000000081525089612639565b600454612c4082846138ba565b600454612c4d9190613863565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612c86918a9185914290613797565b60405180910390a1505b50505050505050565b6040518061010001604052806000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b80356001600160a01b03811681146104d957600080fd5b600082601f830112612d0e578081fd5b8151602067ffffffffffffffff821115612d2a57612d2a613902565b808202612d38828201613839565b838152828101908684018388018501891015612d52578687fd5b8693505b85841015612d74578051835260019390930192918401918401612d56565b50979650505050505050565b805180151581146104d957600080fd5b600060208284031215612da1578081fd5b612daa82612ce7565b9392505050565b60008060008060808587031215612dc6578283fd5b612dcf85612ce7565b9350612ddd60208601612ce7565b9250612deb60408601612ce7565b9150612df960608601612ce7565b905092959194509250565b600060208284031215612e15578081fd5b815167ffffffffffffffff811115612e2b578182fd5b612e3784828501612cfe565b949350505050565b600060208284031215612e50578081fd5b612daa82612d80565b600060208284031215612e6a578081fd5b5035919050565b600060208284031215612e82578081fd5b5051919050565b60008060408385031215612e9b578182fd5b82359150612eab60208401612ce7565b90509250929050565b600060208284031215612ec5578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612daa578182fd5b600060208284031215612f05578081fd5b815167ffffffffffffffff80821115612f1c578283fd5b8184019150610100808387031215612f32578384fd5b612f3b81613839565b905082518152602083015182811115612f52578485fd5b612f5e87828601612cfe565b602083015250604083015182811115612f75578485fd5b612f8187828601612cfe565b604083015250606083015182811115612f98578485fd5b612fa487828601612cfe565b606083015250608083015182811115612fbb578485fd5b612fc787828601612cfe565b60808301525060a083015160a082015260c083015160c0820152612fed60e08401612d80565b60e082015295945050505050565b60006040828403121561300c578081fd5b6040516040810181811067ffffffffffffffff8211171561302f5761302f613902565b604052825181526020928301519281019290925250919050565b60008060006060848603121561305d578283fd5b8335925061306d60208501612ce7565b9150604084013590509250925092565b6000806040838503121561308f578182fd5b50508035926020909101359150565b6000602082840312156130af578081fd5b815160ff81168114612daa578182fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252601a908201527f57697468647261772065706f6368206e6f742072656163686564000000000000604082015260600190565b60208082526019908201527f6661696c656420746f207472616e7366657220626f756e747900000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526011908201527f4e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b60208082526013908201527f736368207472616e73666572206661696c656400000000000000000000000000604082015260600190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b60208082526010908201527f636f756c646e74207472616e7366657200000000000000000000000000000000604082015260600190565b60208082526033908201527f50617274696369706174656420696e205769746864726177206c6f636b20706560408201527f72696f642c2043616e7420776974686472617700000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b60208082526013908201527f7374616b657220646f65736e7420657869737400000000000000000000000000604082015260600190565b60208082526006908201527f6c6f636b65640000000000000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600d908201527f7374616b65722e6964203d203000000000000000000000000000000000000000604082015260600190565b6020808252600f908201527f496e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602a908201527f616c726561647920636f6d6d6974656420746869732065706f63682e2043616e60408201527f7420776974686472617700000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f446964206e6f7420756e7374616b650000000000000000000000000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526011908201527f4e6f6e706f736974697665205374616b65000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526031908201527f7374616b656420616d6f756e74206973206c657373207468616e206d696e696d60408201527f756d207374616b65207265717569726564000000000000000000000000000000606082015260800190565b600061010082019050825182526001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b9788526001600160a01b0396909616602088015260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b60008682526020868184015260a0604084015285518060a0850152825b818110156137eb5787810183015185820160c0015282016137cf565b818111156137fc578360c083870101525b5060608401959095525050608081019190915260c0601f909201601f191601019392505050565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561385b5761385b613902565b604052919050565b60008219821115613876576138766138ec565b500190565b60008261389657634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156138b5576138b56138ec565b500290565b6000828210156138cc576138cc6138ec565b500390565b60006000198214156138e5576138e56138ec565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea26469706673582212209779da24218b4aa51a652f10c3a909fbea6a3f7519c92af4f83f059efebadb0d64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x3A8D CODESIZE SUB DUP1 PUSH3 0x3A8D DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x116 JUMP JUMPDEST PUSH3 0x41 PUSH1 0x0 CALLER PUSH3 0x4A JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH3 0x12F JUMP JUMPDEST PUSH3 0x56 DUP3 DUP3 PUSH3 0x5A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0x66 DUP3 DUP3 PUSH3 0xE7 JUMP JUMPDEST PUSH3 0x56 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH3 0xA3 PUSH3 0x112 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x128 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x394E DUP1 PUSH3 0x13F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x226 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x66666AA9 GT PUSH2 0x12A JUMPI DUP1 PUSH4 0xC584BB9F GT PUSH2 0xBD JUMPI DUP1 PUSH4 0xE3C998FE GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xF8C8765E GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xF8C8765E EQ PUSH2 0x433 JUMPI DUP1 PUSH4 0xFABB9890 EQ PUSH2 0x446 JUMPI DUP1 PUSH4 0xFD5E6DD1 EQ PUSH2 0x459 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0xE3C998FE EQ PUSH2 0x400 JUMPI DUP1 PUSH4 0xF580FFCB EQ PUSH2 0x420 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0xC584BB9F EQ PUSH2 0x3CA JUMPI DUP1 PUSH4 0xC8AE0D7D EQ PUSH2 0x3D2 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3E5 JUMPI DUP1 PUSH4 0xD9169B32 EQ PUSH2 0x3F8 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x394 JUMPI DUP1 PUSH4 0x9864F70A EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xBC788D46 EQ PUSH2 0x3C2 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x66666AA9 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0x6C8B052A EQ PUSH2 0x366 JUMPI DUP1 PUSH4 0x746C8B65 EQ PUSH2 0x36E JUMPI DUP1 PUSH4 0x7B0472F0 EQ PUSH2 0x381 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x248A9CA3 GT PUSH2 0x1BD JUMPI DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x18C JUMPI DUP1 PUSH4 0x42C1E587 GT PUSH2 0x171 JUMPI DUP1 PUSH4 0x42C1E587 EQ PUSH2 0x330 JUMPI DUP1 PUSH4 0x54EAE15E EQ PUSH2 0x338 JUMPI DUP1 PUSH4 0x6022A485 EQ PUSH2 0x34B JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x30A JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x31D JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x2E17DE78 EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x2E2 JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x2F5 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x188DC83B GT PUSH2 0x1F9 JUMPI DUP1 PUSH4 0x188DC83B EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0x1A69F008 EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0x1AD54991 EQ PUSH2 0x2AC JUMPI DUP1 PUSH4 0x1B8B13A7 EQ PUSH2 0x2B4 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0xAC168A1 EQ PUSH2 0x254 JUMPI DUP1 PUSH4 0xEC88D3F EQ PUSH2 0x269 JUMPI DUP1 PUSH4 0xF91CE19 EQ PUSH2 0x271 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x23E PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x2EB4 JUMP JUMPDEST PUSH2 0x480 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x30FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x25C PUSH2 0x4DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x3107 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x4E4 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x27F CALLDATASIZE PUSH1 0x4 PUSH2 0x3049 JUMP JUMPDEST PUSH2 0x4EA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x284 PUSH2 0x294 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x6A7 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x2A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x80A JUMP JUMPDEST PUSH2 0x25C PUSH2 0x967 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x96D JUMP JUMPDEST PUSH2 0x25C PUSH2 0x2CA CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x973 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x2DD CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x989 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x2F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0xCDA JUMP JUMPDEST PUSH2 0x2FD PUSH2 0x11D4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x3110 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x318 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E89 JUMP JUMPDEST PUSH2 0x11E3 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x32B CALLDATASIZE PUSH1 0x4 PUSH2 0x2E89 JUMP JUMPDEST PUSH2 0x1221 JUMP JUMPDEST PUSH2 0x2FD PUSH2 0x1263 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x346 CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x1272 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x359 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D90 JUMP JUMPDEST PUSH2 0x1345 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1360 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1366 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x136C JUMP JUMPDEST PUSH2 0x284 PUSH2 0x38F CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x14CA JUMP JUMPDEST PUSH2 0x23E PUSH2 0x3A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E89 JUMP JUMPDEST PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x3B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x1C33 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1D0D JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1D12 JUMP JUMPDEST PUSH2 0x2FD PUSH2 0x1D18 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x3E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D90 JUMP JUMPDEST PUSH2 0x1D27 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E89 JUMP JUMPDEST PUSH2 0x1D39 JUMP JUMPDEST PUSH2 0x2FD PUSH2 0x1D61 JUMP JUMPDEST PUSH2 0x413 PUSH2 0x40E CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x36E8 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x42E CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x1DEC JUMP JUMPDEST PUSH2 0x284 PUSH2 0x441 CALLDATASIZE PUSH1 0x4 PUSH2 0x2DB1 JUMP JUMPDEST PUSH2 0x1E94 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x454 CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x1F97 JUMP JUMPDEST PUSH2 0x46C PUSH2 0x467 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x25A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x374A JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x4D6 JUMPI POP PUSH2 0x4D6 DUP3 PUSH2 0x25EF JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x52E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x542 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x566 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x570 DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x595 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 SWAP1 DUP2 ADD SLOAD PUSH2 0x5B3 SWAP2 SWAP1 PUSH2 0x387B JUMP JUMPDEST SWAP1 POP PUSH2 0x5F7 DUP6 PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536C617368656400000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP7 PUSH2 0x2639 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6A0 JUMPI PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x632 SWAP1 DUP8 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x30E3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x64C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x660 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x684 SWAP2 SWAP1 PUSH2 0x2E3F JUMP JUMPDEST PUSH2 0x6A0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x31B8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x6C9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9CEC6F8A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x70D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x721 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x745 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x74F DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x76B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x757991A8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7CD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7F1 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 PUSH1 0x4 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA DUP4 LT ISZERO PUSH2 0x81C JUMPI POP DUP1 PUSH2 0x961 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xB1CC4500 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x862 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x876 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x89A SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xA86F5A3F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x8DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x8F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x916 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x920 SWAP1 DUP6 PUSH2 0x389B JUMP JUMPDEST PUSH2 0x92B PUSH1 0x1 DUP8 PUSH2 0x38BA JUMP JUMPDEST PUSH2 0x935 SWAP2 SWAP1 PUSH2 0x389B JUMP JUMPDEST PUSH2 0x93F SWAP2 SWAP1 PUSH2 0x387B JUMP JUMPDEST SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x95B JUMPI PUSH2 0x953 DUP2 DUP5 PUSH2 0x38BA JUMP JUMPDEST SWAP2 POP POP PUSH2 0x961 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x9AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA03 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA27 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0xA45 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x33E2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xA9D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAC1 SWAP2 SWAP1 PUSH2 0x309E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB26 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB4A SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0xB68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x35C0 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x7 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH2 0xBA4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x34BE JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 ADD SLOAD GT PUSH2 0xBC8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x324C JUMP JUMPDEST DUP5 DUP2 PUSH1 0x6 ADD SLOAD GT ISZERO DUP1 ISZERO PUSH2 0xBDF JUMPI POP PUSH1 0x6 DUP2 ADD SLOAD ISZERO ISZERO JUMPDEST PUSH2 0xBFB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3450 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x6 ADD DUP2 SWAP1 SSTORE POP PUSH20 0x0 PUSH4 0x2628490F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xC5D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC81 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0xC8B SWAP1 DUP7 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x7 DUP3 ADD SSTORE PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD DUP4 SWAP2 PUSH32 0xCFBC484EDC798D2584502CA0D64E7E9514B8DD091D96A2A5B4DEB58478DA19E SWAP2 PUSH2 0xCCB SWAP2 DUP10 SWAP2 DUP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0xCFC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD54 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD78 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0xD96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x33E2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xDEE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE12 SWAP2 SWAP1 PUSH2 0x309E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE77 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE9B SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0xEB9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x35C0 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x7 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH2 0xEF5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3419 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD ISZERO PUSH2 0xF17 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3589 JUMP JUMPDEST DUP5 DUP2 PUSH1 0x7 ADD SLOAD GT ISZERO DUP1 ISZERO PUSH2 0xF2E JUMPI POP PUSH1 0x7 DUP2 ADD SLOAD ISZERO ISZERO JUMPDEST PUSH2 0xF4A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3181 JUMP JUMPDEST DUP1 PUSH1 0x5 ADD SLOAD PUSH20 0x0 PUSH4 0x2628490F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xFA7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFCB SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP3 PUSH1 0x7 ADD SLOAD PUSH2 0xFDA SWAP2 SWAP1 PUSH2 0x38BA JUMP JUMPDEST LT ISZERO PUSH2 0xFF8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3385 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH32 0x7164F0D600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x7164F0D6 SWAP1 PUSH2 0x1043 SWAP1 DUP9 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3789 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x105B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x106F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1093 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST ISZERO PUSH2 0x10B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x352C JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 ADD SLOAD GT PUSH2 0x10D4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x35F7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD SWAP1 DUP4 SWAP1 SSTORE SWAP1 MLOAD SWAP1 SWAP2 DUP5 SWAP2 PUSH32 0xA6FECEE2C95FC6B4C7F291E3435A3A832BCD700C2A7FFDEDD8C909D56DFA49F SWAP2 PUSH2 0x1124 SWAP2 DUP11 SWAP2 SWAP1 DUP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x115E SWAP1 CALLER SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x30E3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1178 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x118C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11B0 SWAP2 SWAP1 PUSH2 0x2E3F JUMP JUMPDEST PUSH2 0x11CC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x334E JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x11F7 PUSH2 0x11EF DUP4 PUSH2 0x973 JUMP JUMPDEST PUSH2 0x3A2 PUSH2 0x268B JUMP JUMPDEST PUSH2 0x1213 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3124 JUMP JUMPDEST PUSH2 0x121D DUP3 DUP3 PUSH2 0x268F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1229 PUSH2 0x268B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1259 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x362E JUMP JUMPDEST PUSH2 0x121D DUP3 DUP3 PUSH2 0x2717 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1294 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x12EC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1310 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x131A DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x1336 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST PUSH2 0x1340 DUP4 DUP4 PUSH2 0x279C JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x13B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x13C4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13E8 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x13F2 DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x140E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST PUSH1 0x2 SLOAD ISZERO PUSH2 0x147B JUMPI PUSH1 0x2 DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 SWAP3 ADD SLOAD PUSH2 0x1436 SWAP2 SWAP1 PUSH2 0x3863 JUMP JUMPDEST SWAP1 POP PUSH2 0x1479 DUP5 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x426C6F636B205265776172640000000000000000000000000000000000000000 DUP2 MSTORE POP DUP7 PUSH2 0x2639 JUMP JUMPDEST POP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x0 SWAP2 DUP3 SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 SWAP2 PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x14BC SWAP2 DUP7 SWAP2 DUP6 SWAP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x14EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1530 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1544 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1568 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0x1586 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x33E2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x15DE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1602 SWAP2 SWAP1 PUSH2 0x309E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1653 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1667 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x168B SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0x16A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x35C0 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xA475B5DD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1701 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1725 SWAP2 SWAP1 PUSH2 0x309E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1776 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x178A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17AE SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST EQ ISZERO PUSH2 0x17CC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x34F5 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1810 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1824 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1848 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP4 LT ISZERO PUSH2 0x1867 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x368B JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH2 0x18B4 SWAP1 CALLER SWAP1 ADDRESS SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x30BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x18CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x18E2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1906 SWAP2 SWAP1 PUSH2 0x2E3F JUMP JUMPDEST PUSH2 0x1922 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x32E0 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x7 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 PUSH2 0x1AD1 JUMPI PUSH1 0x3 SLOAD PUSH2 0x1957 SWAP1 PUSH1 0x1 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH20 0x0 PUSH4 0x26BF1C03 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x19DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x19F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A16 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x1A20 SWAP1 DUP10 PUSH2 0x3863 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 SWAP2 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x3 DUP1 SLOAD DUP3 MSTORE PUSH1 0x7 DUP1 DUP5 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP7 MLOAD DUP2 SSTORE DUP7 DUP7 ADD MLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP7 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SSTORE PUSH1 0x60 DUP8 ADD MLOAD DUP2 DUP6 ADD SSTORE PUSH1 0x80 DUP8 ADD MLOAD PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0xA0 DUP8 ADD MLOAD PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0xC0 DUP8 ADD MLOAD PUSH1 0x6 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0xE0 SWAP1 SWAP8 ADD MLOAD SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 SLOAD CALLER DUP4 MSTORE SWAP4 SWAP1 SWAP3 MSTORE KECCAK256 DUP2 SWAP1 SSTORE SWAP2 POP PUSH2 0x1BAC JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x1AEE SWAP1 DUP7 SWAP1 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH20 0x0 PUSH4 0x26BF1C03 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1B60 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B84 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x1B8E SWAP1 DUP8 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 KECCAK256 PUSH1 0x6 DUP2 ADD SWAP4 SWAP1 SWAP4 SSTORE SWAP2 SWAP1 SWAP2 ADD SSTORE JUMPDEST DUP2 PUSH32 0x52D3B6BF695A499D39FCDB47E3B450C09F2F6AA091CA8809CC51C00E705996CC DUP8 DUP4 PUSH1 0x7 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x1BF8 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1C55 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9CEC6F8A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1C99 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CAD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1CD1 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x1CDB DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x1CF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST POP PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 PUSH1 0x5 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1D45 PUSH2 0x11EF DUP4 PUSH2 0x973 JUMP JUMPDEST PUSH2 0x1259 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x31EF JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x1D78 PUSH2 0x2C99 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP4 MLOAD PUSH2 0x100 DUP2 ADD DUP6 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0xC0 DUP3 ADD MSTORE SWAP2 ADD SLOAD PUSH1 0xE0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xB1A62781 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1E30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1E44 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1E68 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x1E72 DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x1E8E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST POP PUSH1 0x2 SSTORE JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x1EAD JUMPI POP PUSH1 0x0 SLOAD PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0x1EC9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3283 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO DUP1 ISZERO PUSH2 0x1EF4 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT PUSH2 0xFF00 NOT SWAP1 SWAP2 AND PUSH2 0x100 OR AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 PUSH2 0x1F00 DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x1F1C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST POP PUSH1 0x8 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x9 DUP1 SLOAD DUP8 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0xA DUP1 SLOAD DUP7 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0xB DUP1 SLOAD SWAP3 DUP6 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 ISZERO PUSH2 0x6A0 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1FB9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1FFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2011 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2035 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x203F DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x205B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x2067 JUMPI PUSH2 0x1340 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP4 MLOAD PUSH2 0x100 DUP2 ADD DUP6 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0xA0 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0xC0 DUP4 ADD MSTORE SWAP3 SWAP1 SWAP2 ADD SLOAD PUSH1 0xE0 DUP3 ADD MSTORE SWAP1 PUSH2 0x20E6 DUP2 DUP6 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x1 EQ PUSH2 0x20F4 JUMPI POP POP PUSH2 0x1340 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH32 0x378AB9A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x378AB9A9 SWAP1 PUSH2 0x213E SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3107 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2156 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x216A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2192 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2E04 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH32 0xD2A4669A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD2A4669A SWAP1 PUSH2 0x21E1 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3107 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x21F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x220D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2235 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2E04 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH32 0xFAE4425D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xFAE4425D SWAP1 PUSH2 0x2284 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3107 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x229C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x22B0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x22D8 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2E04 JUMP JUMPDEST DUP3 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x2596 JUMPI PUSH1 0x0 DUP1 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x243D JUMPI PUSH1 0x9 SLOAD DUP8 MLOAD PUSH1 0x40 MLOAD PUSH4 0x4673FFA5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x8CE7FF4A SWAP2 PUSH2 0x2324 SWAP2 DUP12 SWAP2 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3823 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x233B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x234F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2373 SWAP2 SWAP1 PUSH2 0x2FFB JUMP JUMPDEST PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x239B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x23C7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x23F3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP3 DUP5 EQ DUP1 PUSH2 0x2413 JUMPI POP DUP2 DUP5 GT DUP1 PUSH2 0x2413 JUMPI POP DUP1 DUP5 LT JUMPDEST ISZERO PUSH2 0x2426 JUMPI PUSH2 0x2423 DUP7 PUSH1 0x1 PUSH2 0x3863 JUMP JUMPDEST SWAP6 POP JUMPDEST POP POP POP POP DUP1 DUP1 PUSH2 0x2435 SWAP1 PUSH2 0x38D1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x22E6 JUMP JUMPDEST POP PUSH1 0x0 DUP4 MLOAD PUSH1 0x5 SLOAD PUSH2 0x244F SWAP2 SWAP1 PUSH2 0x389B JUMP JUMPDEST DUP3 PUSH1 0x4 SLOAD DUP10 PUSH1 0x40 ADD MLOAD PUSH2 0x2462 SWAP2 SWAP1 PUSH2 0x389B JUMP JUMPDEST PUSH2 0x246C SWAP2 SWAP1 PUSH2 0x389B JUMP JUMPDEST PUSH2 0x2476 SWAP2 SWAP1 PUSH2 0x387B JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2593 JUMPI PUSH1 0x5 SLOAD PUSH1 0x40 DUP9 ADD MLOAD DUP2 LT ISZERO PUSH2 0x2494 JUMPI PUSH1 0x0 PUSH2 0x24A6 JUMP JUMPDEST DUP8 PUSH1 0x40 ADD MLOAD PUSH1 0x5 SLOAD PUSH2 0x24A6 SWAP2 SWAP1 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x24DF SWAP2 DUP14 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP3 DUP10 PUSH1 0x40 ADD MLOAD PUSH2 0x24F9 SWAP2 SWAP1 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x4 SLOAD SWAP1 SWAP2 POP PUSH2 0x2509 DUP5 DUP3 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x2542 SWAP2 DUP16 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x258F DUP11 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x566F74696E672052657761726473000000000000000000000000000000000000 DUP2 MSTORE POP DUP16 PUSH2 0x2639 JUMP JUMPDEST POP POP POP JUMPDEST POP POP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD SLOAD PUSH1 0x6 DUP8 ADD SLOAD SWAP7 SWAP1 SWAP8 ADD SLOAD SWAP5 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND SWAP6 SWAP3 SWAP5 SWAP2 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP9 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD SWAP1 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP6 SWAP1 PUSH32 0xAB9982D99DE79485B3CD6D1E72C881FD0342F42F1CBC7D220D4F373B97C4F363 SWAP1 PUSH2 0xCCB SWAP1 DUP5 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 TIMESTAMP SWAP1 PUSH2 0x37B2 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x2699 DUP3 DUP3 PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x121D JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x26D3 PUSH2 0x268B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x2721 DUP3 DUP3 PUSH2 0x1C08 JUMP JUMPDEST ISZERO PUSH2 0x121D JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x2758 PUSH2 0x268B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x27A6 DUP3 DUP3 PUSH2 0x2B35 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0xA SLOAD SWAP4 MLOAD PUSH32 0x4C0756900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP3 SWAP5 SWAP2 SWAP4 SWAP1 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x4C07569 SWAP1 PUSH2 0x280D SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3107 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2825 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2839 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2861 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2EF4 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x80 DUP3 ADD MLOAD DUP2 MLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 ISZERO PUSH2 0x2596 JUMPI PUSH1 0x0 DUP1 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2A21 JUMPI PUSH1 0x9 SLOAD DUP9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x4673FFA5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x8CE7FF4A SWAP2 PUSH2 0x28B9 SWAP2 DUP12 SWAP2 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3823 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x28D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x28E4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2908 SWAP2 SWAP1 PUSH2 0x2FFB JUMP JUMPDEST PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x2930 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x295C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP2 DUP4 LT DUP1 PUSH2 0x2973 JUMPI POP DUP1 DUP4 GT JUMPDEST ISZERO PUSH2 0x2A0B JUMPI PUSH20 0x0 PUSH4 0x3002C9AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x29BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x29D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x29F4 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x29FE SWAP1 DUP12 PUSH2 0x387B JUMP JUMPDEST PUSH2 0x2A08 SWAP1 DUP7 PUSH2 0x3863 JUMP JUMPDEST SWAP5 POP JUMPDEST POP POP POP DUP1 DUP1 PUSH2 0x2A19 SWAP1 PUSH2 0x38D1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x287B JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x2ADA JUMPI DUP6 DUP2 GT PUSH2 0x2A35 JUMPI DUP1 PUSH2 0x2A37 JUMP JUMPDEST DUP6 JUMPDEST DUP8 SLOAD SWAP1 SWAP2 POP PUSH2 0x2A86 SWAP1 PUSH2 0x2A4A DUP4 DUP10 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x566F74696E672050656E616C7479000000000000000000000000000000000000 DUP2 MSTORE POP DUP12 PUSH2 0x2639 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x2A93 DUP3 DUP3 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x2ACC SWAP2 DUP13 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP PUSH2 0x2B2A JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x2AE7 DUP8 DUP3 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x2B20 SWAP2 DUP13 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP2 MLOAD PUSH2 0x100 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x60 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0xA0 DUP5 ADD DUP2 SWAP1 MSTORE PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0xC0 DUP6 ADD MSTORE SWAP2 SWAP1 SWAP4 ADD SLOAD PUSH1 0xE0 DUP4 ADD MSTORE SWAP1 SWAP3 SWAP2 LT PUSH2 0x2BBC JUMPI DUP2 PUSH1 0x60 ADD MLOAD PUSH2 0x2BC2 JUMP JUMPDEST DUP2 PUSH1 0xA0 ADD MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2BD0 DUP3 DUP6 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x40 DUP5 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x0 PUSH2 0x2BE4 DUP4 DUP4 PUSH2 0x80A JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x2C90 JUMPI PUSH2 0x2C33 DUP6 PUSH1 0x0 ADD MLOAD DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x496E61637469766974792050656E616C74790000000000000000000000000000 DUP2 MSTORE POP DUP10 PUSH2 0x2639 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x2C40 DUP3 DUP5 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x2C4D SWAP2 SWAP1 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x2C86 SWAP2 DUP11 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D0E JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2D2A JUMPI PUSH2 0x2D2A PUSH2 0x3902 JUMP JUMPDEST DUP1 DUP3 MUL PUSH2 0x2D38 DUP3 DUP3 ADD PUSH2 0x3839 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP2 ADD SWAP1 DUP7 DUP5 ADD DUP4 DUP9 ADD DUP6 ADD DUP10 LT ISZERO PUSH2 0x2D52 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP7 SWAP4 POP JUMPDEST DUP6 DUP5 LT ISZERO PUSH2 0x2D74 JUMPI DUP1 MLOAD DUP4 MSTORE PUSH1 0x1 SWAP4 SWAP1 SWAP4 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 DUP5 ADD PUSH2 0x2D56 JUMP JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2DA1 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2DAA DUP3 PUSH2 0x2CE7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2DC6 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x2DCF DUP6 PUSH2 0x2CE7 JUMP JUMPDEST SWAP4 POP PUSH2 0x2DDD PUSH1 0x20 DUP7 ADD PUSH2 0x2CE7 JUMP JUMPDEST SWAP3 POP PUSH2 0x2DEB PUSH1 0x40 DUP7 ADD PUSH2 0x2CE7 JUMP JUMPDEST SWAP2 POP PUSH2 0x2DF9 PUSH1 0x60 DUP7 ADD PUSH2 0x2CE7 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E15 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2E2B JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x2E37 DUP5 DUP3 DUP6 ADD PUSH2 0x2CFE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E50 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2DAA DUP3 PUSH2 0x2D80 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E6A JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E82 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2E9B JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x2EAB PUSH1 0x20 DUP5 ADD PUSH2 0x2CE7 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2EC5 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x2DAA JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2F05 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2F1C JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP PUSH2 0x100 DUP1 DUP4 DUP8 SUB SLT ISZERO PUSH2 0x2F32 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x2F3B DUP2 PUSH2 0x3839 JUMP JUMPDEST SWAP1 POP DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2F52 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2F5E DUP8 DUP3 DUP7 ADD PUSH2 0x2CFE JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2F75 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2F81 DUP8 DUP3 DUP7 ADD PUSH2 0x2CFE JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2F98 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2FA4 DUP8 DUP3 DUP7 ADD PUSH2 0x2CFE JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2FBB JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2FC7 DUP8 DUP3 DUP7 ADD PUSH2 0x2CFE JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x2FED PUSH1 0xE0 DUP5 ADD PUSH2 0x2D80 JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x300C JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x40 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x302F JUMPI PUSH2 0x302F PUSH2 0x3902 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD MLOAD SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x305D JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH2 0x306D PUSH1 0x20 DUP6 ADD PUSH2 0x2CE7 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x308F JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x30AF JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x2DAA JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND DUP2 MSTORE SWAP2 SWAP1 SWAP3 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x57697468647261772065706F6368206E6F742072656163686564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x19 SWAP1 DUP3 ADD MSTORE PUSH32 0x6661696C656420746F207472616E7366657220626F756E747900000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F6E706F736974697665207374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x647920696E697469616C697A6564000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x13 SWAP1 DUP3 ADD MSTORE PUSH32 0x736368207472616E73666572206661696C656400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1E SWAP1 DUP3 ADD MSTORE PUSH32 0x436F6E74726163742073686F756C6420626520696E697469616C697A65640000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x636F756C646E74207472616E7366657200000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x50617274696369706174656420696E205769746864726177206C6F636B207065 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x72696F642C2043616E7420776974686472617700000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x13 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B657220646F65736E7420657869737400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x6 SWAP1 DUP3 ADD MSTORE PUSH32 0x6C6F636B65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xD SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B65722E6964203D203000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x496E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x616C726561647920636F6D6D6974656420746869732065706F63682E2043616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7420776974686472617700000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x446964206E6F7420756E7374616B650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F6E706F736974697665205374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x31 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B656420616D6F756E74206973206C657373207468616E206D696E696D PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x756D207374616B65207265717569726564000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 ADD SWAP1 POP DUP3 MLOAD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH1 0x20 DUP5 ADD MLOAD AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP4 ADD MLOAD PUSH1 0xE0 DUP4 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP8 DUP9 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 SWAP1 SWAP7 AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x60 DUP7 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP3 MSTORE PUSH1 0x20 DUP7 DUP2 DUP5 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP5 ADD MSTORE DUP6 MLOAD DUP1 PUSH1 0xA0 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x37EB JUMPI DUP8 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP3 ADD PUSH2 0x37CF JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x37FC JUMPI DUP4 PUSH1 0xC0 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xC0 PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x385B JUMPI PUSH2 0x385B PUSH2 0x3902 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x3876 JUMPI PUSH2 0x3876 PUSH2 0x38EC JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3896 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x38B5 JUMPI PUSH2 0x38B5 PUSH2 0x38EC JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x38CC JUMPI PUSH2 0x38CC PUSH2 0x38EC JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x38E5 JUMPI PUSH2 0x38E5 PUSH2 0x38EC JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 PUSH26 0xDA24218B4AA51A652F10C3A909FBEA6A3F7519C92AF4F83F059E INVALID 0xBA 0xDB 0xD PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "484:17273:10:-:0;;;1950:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;216:42:7;2408:4:0;247:10:7;216;:42::i;:::-;1995:11:10;:26;484:17273;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;6952:224::-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:12;;;;7096:4;7064:12;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;;;;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;3867:137::-;3945:4;3968:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;586:96:3:-;665:10;586:96;:::o;14:194:29:-;;137:2;125:9;116:7;112:23;108:32;105:2;;;158:6;150;143:22;105:2;-1:-1:-1;186:16:29;;95:113;-1:-1:-1;95:113:29:o;:::-;484:17273:10;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:22374:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "65:147:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "75:29:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "97:6:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "84:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "84:20:29" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "75:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "190:16:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "199:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "202:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "192:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "192:12:29" - }, - "nodeType": "YulExpressionStatement", - "src": "192:12:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "126:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "137:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "144:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "133:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "133:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "123:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "123:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "116:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "116:73:29" - }, - "nodeType": "YulIf", - "src": "113:2:29" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "44:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "55:5:29", - "type": "" - } - ], - "src": "14:198:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "298:665:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "347:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "356:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "363:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "349:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "349:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "349:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "326:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "334:4:29", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "322:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "322:17:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "341:3:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "318:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "318:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "311:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "311:35:29" - }, - "nodeType": "YulIf", - "src": "308:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "380:23:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "396:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "390:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "390:13:29" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "384:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "412:14:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "422:4:29", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "416:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "465:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "467:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "467:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "467:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "441:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "445:18:29", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "438:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "438:26:29" - }, - "nodeType": "YulIf", - "src": "435:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "496:21:29", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "510:2:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "514:2:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "506:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "506:11:29" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "500:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "526:38:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "556:2:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "560:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "552:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "552:11:29" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "537:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "537:27:29" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "530:3:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "573:16:29", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "586:3:29" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "577:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "605:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "610:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "598:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "598:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "598:15:29" - }, - { - "nodeType": "YulAssignment", - "src": "622:19:29", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "633:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "638:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "629:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "629:12:29" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "622:3:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "650:26:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "665:6:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "673:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "661:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "661:15:29" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "654:3:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "722:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "731:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "738:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "724:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "724:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "724:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "699:6:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "707:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "695:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "695:15:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "712:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "691:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "691:24:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "717:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "688:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "688:33:29" - }, - "nodeType": "YulIf", - "src": "685:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "755:14:29", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "764:5:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "759:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "823:111:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "844:3:29" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "855:3:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "849:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "849:10:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "837:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "837:23:29" - }, - "nodeType": "YulExpressionStatement", - "src": "837:23:29" - }, - { - "nodeType": "YulAssignment", - "src": "873:19:29", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "884:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "889:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "880:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "880:12:29" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "873:3:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "905:19:29", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "916:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "921:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "912:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "912:12:29" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "905:3:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "789:1:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "792:2:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "786:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "786:9:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "796:18:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "798:14:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "807:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "810:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "803:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "803:9:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "798:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "782:3:29", - "statements": [] - }, - "src": "778:156:29" - }, - { - "nodeType": "YulAssignment", - "src": "943:14:29", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "952:5:29" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "943:5:29" - } - ] - } - ] - }, - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "272:6:29", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "280:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "288:5:29", - "type": "" - } - ], - "src": "217:746:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1027:107:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1037:22:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1052:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1046:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1046:13:29" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1037:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1112:16:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1121:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1124:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1114:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1114:12:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1114:12:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1081:5:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1102:5:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1095:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1095:13:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1088:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1088:21:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1078:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1078:32:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1071:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1071:40:29" - }, - "nodeType": "YulIf", - "src": "1068:2:29" - } - ] - }, - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1006:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1017:5:29", - "type": "" - } - ], - "src": "968:166:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1209:128:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1255:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1264:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1272:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1257:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1257:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1257:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1230:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1239:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1226:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1226:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1251:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1222:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1222:32:29" - }, - "nodeType": "YulIf", - "src": "1219:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1290:41:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1321:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1300:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "1300:31:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1290:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1175:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1186:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1198:6:29", - "type": "" - } - ], - "src": "1139:198:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1463:306:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1510:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1519:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1527:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1512:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1512:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1512:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1484:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1493:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1480:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1480:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1505:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1476:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1476:33:29" - }, - "nodeType": "YulIf", - "src": "1473:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1545:41:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1576:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1555:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "1555:31:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1545:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1595:50:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1630:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1641:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1626:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1626:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1605:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "1605:40:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1595:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1654:50:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1689:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1700:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1685:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1685:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1664:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "1664:40:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1654:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1713:50:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1748:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1759:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1744:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1744:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1723:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "1723:40:29" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1713:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1405:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1416:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1428:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1436:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1444:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1452:6:29", - "type": "" - } - ], - "src": "1342:427:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1880:283:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1926:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1935:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1943:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1928:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1928:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1928:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1901:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1910:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1897:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1897:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1922:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1893:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1893:32:29" - }, - "nodeType": "YulIf", - "src": "1890:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1961:30:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1981:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1975:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1975:16:29" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1965:6:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2034:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2043:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2051:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2036:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2036:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2036:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2006:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2014:18:29", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2003:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2003:30:29" - }, - "nodeType": "YulIf", - "src": "2000:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2069:88:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2129:9:29" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2140:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2125:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2125:22:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2149:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "2079:45:29" - }, - "nodeType": "YulFunctionCall", - "src": "2079:78:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2069:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1846:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1857:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1869:6:29", - "type": "" - } - ], - "src": "1774:389:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2246:136:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2292:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2301:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2309:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2294:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2294:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2294:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2267:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2276:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2263:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2263:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2288:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2259:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2259:32:29" - }, - "nodeType": "YulIf", - "src": "2256:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2327:49:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2366:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulIdentifier", - "src": "2337:28:29" - }, - "nodeType": "YulFunctionCall", - "src": "2337:39:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2327:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2212:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2223:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2235:6:29", - "type": "" - } - ], - "src": "2168:214:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2457:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2503:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2512:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2520:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2505:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2505:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2505:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2478:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2487:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2474:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2474:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2499:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2470:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2470:32:29" - }, - "nodeType": "YulIf", - "src": "2467:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2538:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2561:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2548:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2548:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2538:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2423:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2434:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2446:6:29", - "type": "" - } - ], - "src": "2387:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2663:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2709:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2718:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2726:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2711:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2711:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2711:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2684:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2693:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2680:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2680:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2705:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2676:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2676:32:29" - }, - "nodeType": "YulIf", - "src": "2673:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2744:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2760:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2754:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "2754:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2744:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2629:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2640:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2652:6:29", - "type": "" - } - ], - "src": "2582:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2868:179:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2914:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2923:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2931:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2916:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2916:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2916:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2889:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2898:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2885:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2885:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2910:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2881:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2881:32:29" - }, - "nodeType": "YulIf", - "src": "2878:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2949:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2972:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2959:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2959:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2949:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2991:50:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3026:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3037:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3022:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3022:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "3001:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "3001:40:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2991:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2826:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2837:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2849:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2857:6:29", - "type": "" - } - ], - "src": "2781:266:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3121:283:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3167:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3176:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3184:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3169:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3169:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3169:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3142:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3151:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3138:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3138:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3163:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3134:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3134:32:29" - }, - "nodeType": "YulIf", - "src": "3131:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3202:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3228:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3215:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "3215:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3206:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3348:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3357:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3365:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3350:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3350:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3350:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3260:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3271:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3278:66:29", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3267:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3267:78:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3257:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "3257:89:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3250:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3250:97:29" - }, - "nodeType": "YulIf", - "src": "3247:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "3383:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3393:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3383:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3087:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3098:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3110:6:29", - "type": "" - } - ], - "src": "3052:352:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3513:1434:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3559:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3568:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3576:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3561:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3561:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3561:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3534:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3543:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3530:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3530:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3555:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3526:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3526:32:29" - }, - "nodeType": "YulIf", - "src": "3523:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3594:30:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3614:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3608:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3608:16:29" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3598:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3633:28:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3643:18:29", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3637:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3688:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3697:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3705:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3690:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3690:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3690:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3676:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3684:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3673:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "3673:14:29" - }, - "nodeType": "YulIf", - "src": "3670:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3723:32:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3737:9:29" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3748:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3733:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3733:22:29" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "3727:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3764:16:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3774:6:29", - "type": "", - "value": "0x0100" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "3768:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3818:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3827:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3835:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3820:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3820:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3820:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3800:7:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3809:2:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3796:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3796:16:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3814:2:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3792:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3792:25:29" - }, - "nodeType": "YulIf", - "src": "3789:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3853:31:29", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3881:2:29" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "3866:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "3866:18:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3857:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3900:5:29" - }, - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3913:2:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3907:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3907:9:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3893:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3893:24:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3893:24:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3926:34:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3952:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3956:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3948:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3948:11:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3942:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "3942:18:29" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "3930:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3989:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3998:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4006:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3991:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3991:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3991:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "3975:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3985:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3972:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "3972:16:29" - }, - "nodeType": "YulIf", - "src": "3969:2:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4035:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4042:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4031:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4031:14:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4097:2:29" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "4101:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4093:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4093:17:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4112:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4047:45:29" - }, - "nodeType": "YulFunctionCall", - "src": "4047:73:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4024:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4024:97:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4024:97:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4130:34:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4156:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4160:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4152:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4152:11:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4146:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4146:18:29" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "4134:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4193:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4202:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4210:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4195:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4195:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4195:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4179:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4189:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4176:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4176:16:29" - }, - "nodeType": "YulIf", - "src": "4173:2:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4239:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4246:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4235:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4235:14:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4301:2:29" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4305:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4297:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4297:17:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4316:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4251:45:29" - }, - "nodeType": "YulFunctionCall", - "src": "4251:73:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4228:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4228:97:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4228:97:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4334:34:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4360:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4364:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4356:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4356:11:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4350:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4350:18:29" - }, - "variables": [ - { - "name": "offset_3", - "nodeType": "YulTypedName", - "src": "4338:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4397:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4406:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4414:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4399:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4399:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4399:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "4383:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4393:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4380:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4380:16:29" - }, - "nodeType": "YulIf", - "src": "4377:2:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4443:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4450:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4439:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4439:14:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4505:2:29" - }, - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "4509:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4501:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4501:17:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4520:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4455:45:29" - }, - "nodeType": "YulFunctionCall", - "src": "4455:73:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4432:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4432:97:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4432:97:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4538:35:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4564:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4568:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4560:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4560:12:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4554:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4554:19:29" - }, - "variables": [ - { - "name": "offset_4", - "nodeType": "YulTypedName", - "src": "4542:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4602:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4611:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4619:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4604:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4604:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4604:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_4", - "nodeType": "YulIdentifier", - "src": "4588:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4598:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4585:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4585:16:29" - }, - "nodeType": "YulIf", - "src": "4582:2:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4648:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4655:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4644:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4644:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4711:2:29" - }, - { - "name": "offset_4", - "nodeType": "YulIdentifier", - "src": "4715:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4707:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4707:17:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4726:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4661:45:29" - }, - "nodeType": "YulFunctionCall", - "src": "4661:73:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4637:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4637:98:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4637:98:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4755:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4762:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4751:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4751:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4778:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4782:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4774:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4774:12:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4768:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4768:19:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4744:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4744:44:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4744:44:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4808:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4815:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4804:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4804:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4831:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4835:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4827:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4827:12:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4821:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4821:19:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4797:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4797:44:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4797:44:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4861:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4868:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4857:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4857:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4907:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4911:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4903:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4903:12:29" - } - ], - "functionName": { - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulIdentifier", - "src": "4874:28:29" - }, - "nodeType": "YulFunctionCall", - "src": "4874:42:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4850:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4850:67:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4850:67:29" - }, - { - "nodeType": "YulAssignment", - "src": "4926:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4936:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4926:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Block_$5615_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3479:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3490:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3502:6:29", - "type": "" - } - ], - "src": "3409:1538:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5055:405:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5101:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5110:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5118:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5103:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5103:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5103:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5076:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5085:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5072:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5072:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5097:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5068:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5068:32:29" - }, - "nodeType": "YulIf", - "src": "5065:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5136:23:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5156:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5150:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "5150:9:29" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "5140:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5168:33:29", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5190:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5198:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5186:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5186:15:29" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "5172:10:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5276:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "5278:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "5278:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5278:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5219:10:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5231:18:29", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5216:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5216:34:29" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5255:10:29" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5267:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5252:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5252:22:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "5213:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5213:62:29" - }, - "nodeType": "YulIf", - "src": "5210:2:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5314:2:29", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5318:10:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5307:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5307:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5307:22:29" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5345:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5359:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5353:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "5353:16:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5338:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5338:32:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5338:32:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5390:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5398:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5386:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5386:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5413:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5424:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5409:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5409:18:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5403:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "5403:25:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5379:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5379:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5379:50:29" - }, - { - "nodeType": "YulAssignment", - "src": "5438:16:29", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5448:6:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5438:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Vote_$5577_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5021:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5032:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5044:6:29", - "type": "" - } - ], - "src": "4952:508:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5535:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5581:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5590:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5598:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5583:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5583:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5583:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5556:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5565:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5552:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5552:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5577:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5548:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5548:32:29" - }, - "nodeType": "YulIf", - "src": "5545:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "5616:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5639:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5626:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "5626:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5616:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5501:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5512:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5524:6:29", - "type": "" - } - ], - "src": "5465:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5741:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5787:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5796:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5804:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5789:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5789:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5789:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5762:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5771:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5758:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5758:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5783:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5754:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5754:32:29" - }, - "nodeType": "YulIf", - "src": "5751:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "5822:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5838:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5832:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "5832:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5822:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5707:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5718:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5730:6:29", - "type": "" - } - ], - "src": "5660:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5963:230:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6009:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6018:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6026:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6011:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6011:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6011:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5984:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5993:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5980:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5980:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6005:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5976:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5976:32:29" - }, - "nodeType": "YulIf", - "src": "5973:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "6044:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6067:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6054:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6054:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6044:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6086:50:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6121:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6132:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6117:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6117:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "6096:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "6096:40:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6086:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6145:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6172:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6183:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6168:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6168:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6155:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6155:32:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6145:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5913:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5924:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5936:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5944:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "5952:6:29", - "type": "" - } - ], - "src": "5859:334:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6285:171:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6331:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6340:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6348:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6333:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6333:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6333:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6306:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6315:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6302:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6302:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6327:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6298:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6298:32:29" - }, - "nodeType": "YulIf", - "src": "6295:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "6366:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6389:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6376:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6376:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6366:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6408:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6435:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6446:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6431:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6431:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6418:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6418:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6408:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6243:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6254:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6266:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6274:6:29", - "type": "" - } - ], - "src": "6198:258:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6540:214:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6586:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6595:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6603:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6588:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6588:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6588:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6561:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6570:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6557:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6557:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6582:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6553:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6553:32:29" - }, - "nodeType": "YulIf", - "src": "6550:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6621:29:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6640:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6634:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "6634:16:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6625:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6698:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6707:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6715:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6700:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6700:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6700:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6672:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6683:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6690:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "6679:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6679:16:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "6669:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "6669:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6662:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6662:35:29" - }, - "nodeType": "YulIf", - "src": "6659:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "6733:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6743:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6733:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6506:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6517:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6529:6:29", - "type": "" - } - ], - "src": "6461:293:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6916:241:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6926:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6938:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6949:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6934:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6934:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6926:4:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6961:52:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6971:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "6965:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7029:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7044:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7052:2:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7040:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7040:15:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7022:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7022:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7022:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7076:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7087:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7072:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7072:18:29" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7096:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7104:2:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7092:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7092:15:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7065:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7065:43:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7065:43:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7128:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7139:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7124:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7124:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7144:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7117:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7117:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7117:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6869:9:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6880:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6888:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6896:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6907:4:29", - "type": "" - } - ], - "src": "6759:398:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7291:168:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7301:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7313:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7324:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7309:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7309:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7301:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7343:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7358:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7366:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7354:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7354:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7336:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7336:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7336:74:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7430:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7441:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7426:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7426:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7446:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7419:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7419:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7419:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7252:9:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7263:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7271:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7282:4:29", - "type": "" - } - ], - "src": "7162:297:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7559:92:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7569:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7581:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7592:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7577:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7577:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7569:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7611:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7636:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "7629:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7629:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "7622:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7622:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7604:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7604:41:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7604:41:29" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7528:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7539:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7550:4:29", - "type": "" - } - ], - "src": "7464:187:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7757:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7767:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7779:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7790:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7775:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7775:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7767:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7809:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7820:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7802:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7802:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7802:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7726:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7737:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7748:4:29", - "type": "" - } - ], - "src": "7656:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7961:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7971:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7983:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7994:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7979:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7979:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7971:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8013:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8028:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8036:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8024:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8024:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8006:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8006:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8006:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IBlockManager_$4675__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7930:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7941:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7952:4:29", - "type": "" - } - ], - "src": "7838:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8214:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8224:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8236:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8247:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8232:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8232:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8224:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8266:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8281:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8289:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8277:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8277:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8259:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8259:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8259:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStateManager_$4822__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8183:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8194:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8205:4:29", - "type": "" - } - ], - "src": "8091:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8466:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8476:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8488:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8499:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8484:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8484:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8476:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8518:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8533:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8541:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8529:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8529:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8511:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8511:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8511:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IVoteManager_$4903__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8435:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8446:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8457:4:29", - "type": "" - } - ], - "src": "8344:247:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8719:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8729:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8741:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8752:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8737:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8737:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8729:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8771:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8786:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8794:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8782:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8782:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8764:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8764:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8764:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_SchellingCoin_$5277__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8688:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8699:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8710:4:29", - "type": "" - } - ], - "src": "8596:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9023:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9040:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9051:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9033:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9033:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9033:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9074:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9085:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9070:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9070:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9090:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9063:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9063:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9063:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9113:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9124:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9109:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9109:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "9129:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9102:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9102:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9102:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9184:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9195:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9180:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9180:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "9200:17:29", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9173:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9173:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9173:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "9227:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9239:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9250:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9235:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9235:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9227:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9000:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9014:4:29", - "type": "" - } - ], - "src": "8849:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9439:176:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9456:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9467:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9449:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9449:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9449:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9490:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9501:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9486:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9486:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9506:2:29", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9479:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9479:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9479:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9529:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9540:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9525:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9525:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "9545:28:29", - "type": "", - "value": "Withdraw epoch not reached" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9518:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9518:56:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9518:56:29" - }, - { - "nodeType": "YulAssignment", - "src": "9583:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9595:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9606:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9591:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9591:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9583:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_2634de0e003793e166e3d97211813e50178a1fe7320c5468fddff641fa460575__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9416:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9430:4:29", - "type": "" - } - ], - "src": "9265:350:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9794:175:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9811:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9822:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9804:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9804:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9804:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9845:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9856:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9841:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9841:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9861:2:29", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9834:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9834:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9834:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9884:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9895:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9880:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9880:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "9900:27:29", - "type": "", - "value": "failed to transfer bounty" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9873:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9873:55:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9873:55:29" - }, - { - "nodeType": "YulAssignment", - "src": "9937:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9949:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9960:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9945:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9945:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9937:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_3d5bf2052aff186c28929fe02a490fd5212178072a98ef575ed3d58026bb8c39__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9771:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9785:4:29", - "type": "" - } - ], - "src": "9620:349:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10148:238:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10165:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10176:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10158:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10158:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10158:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10199:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10210:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10195:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10195:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10215:2:29", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10188:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10188:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10188:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10238:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10249:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10234:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10234:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "10254:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10227:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10227:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10227:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10309:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10320:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10305:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10305:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "10325:18:29", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10298:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10298:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10298:46:29" - }, - { - "nodeType": "YulAssignment", - "src": "10353:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10365:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10376:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10361:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10361:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10353:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10125:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10139:4:29", - "type": "" - } - ], - "src": "9974:412:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10565:167:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10582:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10593:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10575:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10575:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10575:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10616:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10627:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10612:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10612:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10632:2:29", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10605:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10605:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10605:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10655:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10666:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10651:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10651:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "10671:19:29", - "type": "", - "value": "Nonpositive stake" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10644:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10644:47:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10644:47:29" - }, - { - "nodeType": "YulAssignment", - "src": "10700:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10712:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10723:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10708:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10708:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10700:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6b3918663fb999eb0c08fb3a7f8a053517b9f7c80327988e2d6c66567da15b5a__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10542:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10556:4:29", - "type": "" - } - ], - "src": "10391:341:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10911:236:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10928:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10939:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10921:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10921:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10921:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10962:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10973:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10958:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10958:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10978:2:29", - "type": "", - "value": "46" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10951:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10951:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10951:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11001:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11012:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10997:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10997:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11017:34:29", - "type": "", - "value": "Initializable: contract is alrea" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10990:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10990:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10990:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11072:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11083:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11068:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11068:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11088:16:29", - "type": "", - "value": "dy initialized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11061:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11061:44:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11061:44:29" - }, - { - "nodeType": "YulAssignment", - "src": "11114:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11126:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11137:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11122:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11122:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11114:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10888:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10902:4:29", - "type": "" - } - ], - "src": "10737:410:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11326:169:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11343:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11354:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11336:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11336:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11336:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11377:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11388:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11373:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11373:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11393:2:29", - "type": "", - "value": "19" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11366:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11366:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11366:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11416:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11427:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11412:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11412:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11432:21:29", - "type": "", - "value": "sch transfer failed" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11405:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11405:49:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11405:49:29" - }, - { - "nodeType": "YulAssignment", - "src": "11463:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11475:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11486:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11471:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11471:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11463:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7aaa5b67ce554abe16c4de620677e7c5af580dd691c9629dea90de09c6836b47__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11303:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11317:4:29", - "type": "" - } - ], - "src": "11152:343:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11674:180:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11691:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11702:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11684:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11684:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11684:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11725:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11736:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11721:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11721:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11741:2:29", - "type": "", - "value": "30" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11714:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11714:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11714:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11764:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11775:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11760:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11760:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11780:32:29", - "type": "", - "value": "Contract should be initialized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11753:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11753:60:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11753:60:29" - }, - { - "nodeType": "YulAssignment", - "src": "11822:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11834:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11845:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11830:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11830:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11822:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7c4117488a466ed9cd19e8a36d161b8aec71671a9c9bd8fc5f630bc91a173f84__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11651:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11665:4:29", - "type": "" - } - ], - "src": "11500:354:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12033:166:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12050:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12061:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12043:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12043:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12043:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12084:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12095:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12080:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12080:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12100:2:29", - "type": "", - "value": "16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12073:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12073:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12073:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12123:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12134:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12119:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12119:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12139:18:29", - "type": "", - "value": "couldnt transfer" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12112:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12112:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12112:46:29" - }, - { - "nodeType": "YulAssignment", - "src": "12167:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12179:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12190:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12175:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12175:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12167:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_805d1088d8486a1f8aa0a66a0afc9b1041d76f1529ec36a6088491eaaf4f87f3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12010:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12024:4:29", - "type": "" - } - ], - "src": "11859:340:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12378:241:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12395:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12406:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12388:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12388:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12388:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12429:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12440:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12425:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12425:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12445:2:29", - "type": "", - "value": "51" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12418:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12418:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12418:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12468:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12479:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12464:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12464:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12484:34:29", - "type": "", - "value": "Participated in Withdraw lock pe" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12457:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12457:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12457:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12539:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12550:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12535:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12535:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12555:21:29", - "type": "", - "value": "riod, Cant withdraw" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12528:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12528:49:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12528:49:29" - }, - { - "nodeType": "YulAssignment", - "src": "12586:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12598:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12609:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12594:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12594:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12586:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_8c0f978acf8435b7df5019fed51409365d54b03cc05b322280c7239d75c06443__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12355:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12369:4:29", - "type": "" - } - ], - "src": "12204:415:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12798:165:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12815:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12826:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12808:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12808:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12808:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12849:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12860:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12845:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12845:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12865:2:29", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12838:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12838:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12838:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12888:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12899:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12884:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12884:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12904:17:29", - "type": "", - "value": "incorrect epoch" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12877:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12877:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12877:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "12931:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12943:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12954:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12939:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12939:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12931:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12775:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12789:4:29", - "type": "" - } - ], - "src": "12624:339:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13142:169:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13159:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13170:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13152:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13152:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13152:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13193:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13204:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13189:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13189:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13209:2:29", - "type": "", - "value": "19" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13182:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13182:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13182:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13232:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13243:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13228:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13228:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13248:21:29", - "type": "", - "value": "staker doesnt exist" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13221:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13221:49:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13221:49:29" - }, - { - "nodeType": "YulAssignment", - "src": "13279:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13291:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13302:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13287:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13287:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13279:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_a113a0c9b7ecb25bf74a95ce032f1c4492c26de43ba45cb480773d9125636f9b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13119:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13133:4:29", - "type": "" - } - ], - "src": "12968:343:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13490:155:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13507:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13518:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13500:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13500:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13500:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13541:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13552:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13537:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13537:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13557:1:29", - "type": "", - "value": "6" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13530:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13530:29:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13530:29:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13579:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13590:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13575:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13575:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13595:8:29", - "type": "", - "value": "locked" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13568:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13568:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13568:36:29" - }, - { - "nodeType": "YulAssignment", - "src": "13613:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13625:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13636:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13621:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13621:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13613:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ab99c6d7581cbb37d2e578d3097bfdd3323e05447f1fd7670b6c3a3fb9d9ff79__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13467:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13481:4:29", - "type": "" - } - ], - "src": "13316:329:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13824:176:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13841:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13852:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13834:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13834:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13834:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13875:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13886:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13871:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13871:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13891:2:29", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13864:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13864:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13864:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13914:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13925:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13910:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13910:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13930:28:29", - "type": "", - "value": "ACL: sender not authorized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13903:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13903:56:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13903:56:29" - }, - { - "nodeType": "YulAssignment", - "src": "13968:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13980:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13991:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13976:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13976:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13968:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13801:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13815:4:29", - "type": "" - } - ], - "src": "13650:350:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14179:163:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14196:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14207:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14189:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14189:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14189:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14230:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14241:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14226:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14226:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14246:2:29", - "type": "", - "value": "13" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14219:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14219:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14219:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14269:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14280:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14265:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14265:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14285:15:29", - "type": "", - "value": "staker.id = 0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14258:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14258:43:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14258:43:29" - }, - { - "nodeType": "YulAssignment", - "src": "14310:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14322:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14333:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14318:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14318:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14310:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_bdab4eea84666b4ea254b28d59bb87847c43c977043418b35d698df21c02f227__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14156:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14170:4:29", - "type": "" - } - ], - "src": "14005:337:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14521:165:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14538:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14549:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14531:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14531:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14531:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14572:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14583:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14568:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14568:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14588:2:29", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14561:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14561:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14561:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14611:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14622:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14607:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14607:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14627:17:29", - "type": "", - "value": "Incorrect state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14600:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14600:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14600:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "14654:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14666:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14677:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14662:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14662:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14654:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ca26c3faaff56aa919715f58bb905a54a26bb23923d6ca4a5f99486cb2e50122__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14498:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14512:4:29", - "type": "" - } - ], - "src": "14347:339:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14865:232:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14882:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14893:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14875:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14875:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14875:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14916:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14927:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14912:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14912:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14932:2:29", - "type": "", - "value": "42" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14905:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14905:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14905:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14955:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14966:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14951:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14951:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14971:34:29", - "type": "", - "value": "already commited this epoch. Can" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14944:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14944:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14944:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15026:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15037:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15022:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15022:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15042:12:29", - "type": "", - "value": "t withdraw" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15015:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15015:40:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15015:40:29" - }, - { - "nodeType": "YulAssignment", - "src": "15064:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15076:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15087:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15072:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15072:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15064:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e28e7431deba574db0112ec0b937aaf1eb1cf46251a078d34bc069c9a6e2ba1e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14842:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14856:4:29", - "type": "" - } - ], - "src": "14691:406:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15276:165:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15293:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15304:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15286:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15286:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15286:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15327:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15338:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15323:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15323:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15343:2:29", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15316:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15316:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15316:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15366:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15377:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15362:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15362:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15382:17:29", - "type": "", - "value": "Did not unstake" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15355:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15355:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15355:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "15409:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15421:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15432:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15417:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15417:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15409:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e78ec75f598dcd03331f3963b6697277106610c26010b4ec4db871858b3a5b29__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15253:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15267:4:29", - "type": "" - } - ], - "src": "15102:339:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15620:165:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15637:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15648:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15630:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15630:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15630:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15671:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15682:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15667:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15667:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15687:2:29", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15660:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15660:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15660:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15710:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15721:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15706:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15706:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15726:17:29", - "type": "", - "value": "incorrect state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15699:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15699:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15699:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "15753:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15765:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15776:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15761:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15761:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15753:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15597:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15611:4:29", - "type": "" - } - ], - "src": "15446:339:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15964:167:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15981:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15992:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15974:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15974:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15974:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16015:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16026:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16011:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16011:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16031:2:29", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16004:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16004:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16004:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16054:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16065:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16050:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16050:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16070:19:29", - "type": "", - "value": "Nonpositive Stake" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16043:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16043:47:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16043:47:29" - }, - { - "nodeType": "YulAssignment", - "src": "16099:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16111:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16122:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16107:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16107:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16099:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f810ff1ebbf47d94f8225d3c6edf23be7b0290f78abb3c694a0753fdc11ea065__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15941:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15955:4:29", - "type": "" - } - ], - "src": "15790:341:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16310:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16327:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16338:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16320:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16320:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16320:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16361:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16372:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16357:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16357:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16377:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16350:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16350:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16350:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16400:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16411:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16396:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16396:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16416:34:29", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16389:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16389:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16389:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16471:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16482:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16467:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16467:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16487:17:29", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16460:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16460:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16460:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "16514:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16526:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16537:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16522:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16522:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16514:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16287:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16301:4:29", - "type": "" - } - ], - "src": "16136:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16726:239:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16743:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16754:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16736:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16736:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16736:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16777:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16788:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16773:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16773:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16793:2:29", - "type": "", - "value": "49" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16766:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16766:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16766:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16816:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16827:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16812:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16812:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16832:34:29", - "type": "", - "value": "staked amount is less than minim" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16805:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16805:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16805:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16887:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16898:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16883:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16883:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16903:19:29", - "type": "", - "value": "um stake required" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16876:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16876:47:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16876:47:29" - }, - { - "nodeType": "YulAssignment", - "src": "16932:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16944:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16955:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16940:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16940:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16932:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb68b1a04cb753747a8fd0228ce81c1b903ec58a44c6343bcbc04e0d2e45f04d__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16703:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16717:4:29", - "type": "" - } - ], - "src": "16552:413:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17119:574:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17129:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17141:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17152:3:29", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17137:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17137:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17129:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17172:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17189:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17183:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "17183:13:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17165:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17165:32:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17165:32:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17217:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17228:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17213:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17213:20:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17249:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17257:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17245:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17245:17:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17239:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "17239:24:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17265:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "17235:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17235:73:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17206:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17206:103:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17206:103:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17329:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17340:4:29", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17325:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17325:20:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17357:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17365:4:29", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17353:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17353:17:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17347:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "17347:24:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17318:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17318:54:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17318:54:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17392:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17403:4:29", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17388:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17388:20:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17420:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17428:4:29", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17416:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17416:17:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17410:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "17410:24:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17381:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17381:54:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17381:54:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17455:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17466:4:29", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17451:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17451:20:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17483:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17491:4:29", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17479:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17479:17:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17473:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "17473:24:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17444:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17444:54:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17444:54:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17518:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17529:4:29", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17514:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17514:20:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17546:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17554:4:29", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17542:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17542:17:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17536:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "17536:24:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17507:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17507:54:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17507:54:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17581:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17592:4:29", - "type": "", - "value": "0xc0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17577:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17577:20:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17609:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17617:4:29", - "type": "", - "value": "0xc0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17605:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17605:17:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17599:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "17599:24:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17570:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17570:54:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17570:54:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17644:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17655:4:29", - "type": "", - "value": "0xe0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17640:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17640:20:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17672:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17680:4:29", - "type": "", - "value": "0xe0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17668:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17668:17:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17662:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "17662:24:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17633:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17633:54:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17633:54:29" - } - ] - }, - "name": "abi_encode_tuple_t_struct$_Staker_$5594_memory_ptr__to_t_struct$_Staker_$5594_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17088:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17099:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17110:4:29", - "type": "" - } - ], - "src": "16970:723:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17799:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17809:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17821:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17832:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17817:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17817:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17809:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17851:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17862:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17844:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17844:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17844:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17768:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17779:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17790:4:29", - "type": "" - } - ], - "src": "17698:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18177:431:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18187:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18199:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18210:3:29", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18195:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18195:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18187:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18230:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18241:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18223:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18223:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18223:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18268:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18279:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18264:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18264:18:29" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18288:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18296:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "18284:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18284:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18257:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18257:83:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18257:83:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18360:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18371:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18356:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18356:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "18376:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18349:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18349:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18349:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18403:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18414:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18399:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18399:18:29" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "18419:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18392:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18392:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18392:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18446:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18457:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18442:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18442:19:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "18463:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18435:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18435:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18435:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18490:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18501:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18486:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18486:19:29" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "18507:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18479:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18479:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18479:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18534:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18545:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18530:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18530:19:29" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "18551:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18523:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18523:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18523:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18578:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18589:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18574:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18574:19:29" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "18595:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18567:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18567:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18567:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18090:9:29", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "18101:6:29", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "18109:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "18117:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "18125:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "18133:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "18141:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18149:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18157:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18168:4:29", - "type": "" - } - ], - "src": "17880:728:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18742:119:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18752:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18764:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18775:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18760:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18760:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18752:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18794:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18805:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18787:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18787:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18787:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18832:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18843:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18828:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18828:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18848:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18821:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18821:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18821:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18703:9:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18714:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18722:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18733:4:29", - "type": "" - } - ], - "src": "18613:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19059:206:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19069:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19081:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19092:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19077:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19077:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19069:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19112:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "19123:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19105:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19105:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19105:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19150:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19161:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19146:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19146:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "19166:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19139:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19139:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19139:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19193:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19204:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19189:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19189:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "19209:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19182:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19182:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19182:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19236:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19247:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19232:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19232:18:29" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "19252:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19225:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19225:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19225:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_rational_0_by_1_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19004:9:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "19015:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "19023:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "19031:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "19039:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19050:4:29", - "type": "" - } - ], - "src": "18866:399:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19503:660:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19520:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "19531:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19513:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19513:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19513:25:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19547:12:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19557:2:29", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "19551:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19579:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19590:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19575:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19575:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "19595:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19568:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19568:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19568:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19622:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19633:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19618:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19618:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19638:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19611:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19611:31:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19611:31:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19651:27:29", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "19671:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "19665:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "19665:13:29" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "19655:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19698:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19709:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19694:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19694:19:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19715:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19687:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19687:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19687:35:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19731:13:29", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19740:4:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "19735:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19803:91:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19832:9:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19843:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19828:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19828:17:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19847:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19824:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19824:27:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "19867:6:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19875:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19863:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19863:14:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19879:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19859:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19859:23:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "19853:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "19853:30:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19817:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19817:67:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19817:67:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19764:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19767:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "19761:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "19761:13:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "19775:19:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19777:15:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19786:1:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19789:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19782:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19782:10:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19777:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "19757:3:29", - "statements": [] - }, - "src": "19753:141:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19928:70:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19957:9:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19968:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19953:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19953:22:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19977:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19949:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19949:32:29" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19983:4:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19942:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19942:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19942:46:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19909:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19912:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "19906:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "19906:13:29" - }, - "nodeType": "YulIf", - "src": "19903:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "20007:63:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20023:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "20042:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20050:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20038:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20038:15:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20059:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "20055:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20055:7:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "20034:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20034:29:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20019:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20019:45:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20066:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20015:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20015:55:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20007:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20090:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20101:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20086:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20086:18:29" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "20106:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20079:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20079:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20079:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20133:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20144:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20129:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20129:19:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "20150:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20122:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20122:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20122:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19440:9:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "19451:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "19459:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "19467:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "19475:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "19483:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19494:4:29", - "type": "" - } - ], - "src": "19270:893:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20325:162:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20335:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20347:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20358:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20343:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20343:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20335:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20377:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "20388:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20370:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20370:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20370:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20415:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20426:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20411:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20411:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "20431:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20404:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20404:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20404:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20458:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20469:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20454:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20454:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "20474:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20447:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20447:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20447:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "20278:9:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "20289:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "20297:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "20305:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "20316:4:29", - "type": "" - } - ], - "src": "20168:319:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20677:206:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20687:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20699:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20710:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20695:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20695:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20687:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20730:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "20741:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20723:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20723:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20723:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20768:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20779:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20764:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20764:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "20784:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20757:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20757:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20757:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20811:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20822:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20807:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20807:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "20827:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20800:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20800:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20800:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20854:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20865:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20850:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20850:18:29" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "20870:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20843:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20843:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20843:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "20622:9:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "20633:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "20641:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "20649:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "20657:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "20668:4:29", - "type": "" - } - ], - "src": "20492:391:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20932:207:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20942:19:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20958:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "20952:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "20952:9:29" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "20942:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20970:35:29", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "20992:6:29" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "21000:4:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20988:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20988:17:29" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "20974:10:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21080:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "21082:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "21082:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21082:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "21023:10:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21035:18:29", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "21020:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "21020:34:29" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "21059:10:29" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "21071:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "21056:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "21056:22:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "21017:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "21017:62:29" - }, - "nodeType": "YulIf", - "src": "21014:2:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21118:2:29", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "21122:10:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21111:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21111:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21111:22:29" - } - ] - }, - "name": "allocateMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "20912:4:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "20921:6:29", - "type": "" - } - ], - "src": "20888:251:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21192:80:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "21219:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "21221:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "21221:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21221:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "21208:1:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "21215:1:29" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "21211:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21211:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "21205:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "21205:13:29" - }, - "nodeType": "YulIf", - "src": "21202:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "21250:16:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "21261:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "21264:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21257:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21257:9:29" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "21250:3:29" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "21175:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "21178:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "21184:3:29", - "type": "" - } - ], - "src": "21144:128:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21323:228:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "21354:168:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "21375:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21378:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21368:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21368:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21368:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21476:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21479:4:29", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21469:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21469:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21469:15:29" - }, - { - "expression": { - "arguments": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "21504:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21507:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "21497:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21497:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21497:15:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "21343:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "21336:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21336:9:29" - }, - "nodeType": "YulIf", - "src": "21333:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "21531:14:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "21540:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "21543:1:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "21536:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21536:9:29" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "21531:1:29" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "21308:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "21311:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "21317:1:29", - "type": "" - } - ], - "src": "21277:274:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21608:116:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "21667:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "21669:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "21669:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21669:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "21639:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "21632:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21632:9:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "21625:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21625:17:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "21647:1:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21658:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "21654:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21654:6:29" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "21662:1:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "21650:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21650:14:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "21644:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "21644:21:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "21621:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21621:45:29" - }, - "nodeType": "YulIf", - "src": "21618:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "21698:20:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "21713:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "21716:1:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "21709:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21709:9:29" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "21698:7:29" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "21587:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "21590:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "21596:7:29", - "type": "" - } - ], - "src": "21556:168:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21778:76:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "21800:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "21802:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "21802:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21802:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "21794:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "21797:1:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "21791:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "21791:8:29" - }, - "nodeType": "YulIf", - "src": "21788:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "21831:17:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "21843:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "21846:1:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21839:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21839:9:29" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "21831:4:29" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "21760:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "21763:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "21769:4:29", - "type": "" - } - ], - "src": "21729:125:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21906:88:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "21937:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "21939:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "21939:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21939:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "21922:5:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21933:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "21929:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21929:6:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "21919:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "21919:17:29" - }, - "nodeType": "YulIf", - "src": "21916:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "21968:20:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "21979:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21986:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21975:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21975:13:29" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "21968:3:29" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "21888:5:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "21898:3:29", - "type": "" - } - ], - "src": "21859:135:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22031:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22048:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22051:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22041:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22041:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22041:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22145:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22148:4:29", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22138:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22138:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22138:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22169:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22172:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22162:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22162:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22162:15:29" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "21999:184:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22220:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22237:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22240:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22230:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22230:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22230:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22334:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22337:4:29", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22327:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22327:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22327:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22358:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22361:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22351:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "22351:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "22351:15:29" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "22188:184:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_t_array$_t_uint256_$dyn_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := mload(offset)\n let _2 := 0x20\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let _3 := mul(_1, _2)\n let dst := allocateMemory(add(_3, _2))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let src := add(offset, _2)\n if gt(add(add(offset, _3), _2), end) { revert(array, array) }\n let i := array\n for { } lt(i, _1) { i := add(i, 1) }\n {\n mstore(dst, mload(src))\n dst := add(dst, _2)\n src := add(src, _2)\n }\n array := dst_1\n }\n function abi_decode_t_bool_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n }\n function abi_decode_tuple_t_addresst_addresst_addresst_address(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(value1, value1) }\n value0 := abi_decode_t_address(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n value2 := abi_decode_t_address(add(headStart, 64))\n value3 := abi_decode_t_address(add(headStart, 96))\n }\n function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let offset := mload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(value0, value0) }\n value0 := abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_bool_fromMemory(headStart)\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Block_$5615_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(value0, value0) }\n let _2 := add(headStart, offset)\n let _3 := 0x0100\n if slt(sub(dataEnd, _2), _3) { revert(value0, value0) }\n let value := allocateMemory(_3)\n mstore(value, mload(_2))\n let offset_1 := mload(add(_2, 32))\n if gt(offset_1, _1) { revert(value0, value0) }\n mstore(add(value, 32), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 64))\n if gt(offset_2, _1) { revert(value0, value0) }\n mstore(add(value, 64), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_2), dataEnd))\n let offset_3 := mload(add(_2, 96))\n if gt(offset_3, _1) { revert(value0, value0) }\n mstore(add(value, 96), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_3), dataEnd))\n let offset_4 := mload(add(_2, 128))\n if gt(offset_4, _1) { revert(value0, value0) }\n mstore(add(value, 128), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_4), dataEnd))\n mstore(add(value, 160), mload(add(_2, 160)))\n mstore(add(value, 192), mload(add(_2, 192)))\n mstore(add(value, 224), abi_decode_t_bool_fromMemory(add(_2, 224)))\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Vote_$5577_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, 64)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, mload(headStart))\n mstore(add(memPtr, 32), mload(add(headStart, 32)))\n value0 := memPtr\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint256t_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, 0xff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_contract$_IBlockManager_$4675__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IStateManager_$4822__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IVoteManager_$4903__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_SchellingCoin_$5277__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_2634de0e003793e166e3d97211813e50178a1fe7320c5468fddff641fa460575__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Withdraw epoch not reached\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3d5bf2052aff186c28929fe02a490fd5212178072a98ef575ed3d58026bb8c39__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"failed to transfer bounty\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_6b3918663fb999eb0c08fb3a7f8a053517b9f7c80327988e2d6c66567da15b5a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"Nonpositive stake\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"Initializable: contract is alrea\")\n mstore(add(headStart, 96), \"dy initialized\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7aaa5b67ce554abe16c4de620677e7c5af580dd691c9629dea90de09c6836b47__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"sch transfer failed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_7c4117488a466ed9cd19e8a36d161b8aec71671a9c9bd8fc5f630bc91a173f84__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 30)\n mstore(add(headStart, 64), \"Contract should be initialized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_805d1088d8486a1f8aa0a66a0afc9b1041d76f1529ec36a6088491eaaf4f87f3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"couldnt transfer\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_8c0f978acf8435b7df5019fed51409365d54b03cc05b322280c7239d75c06443__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"Participated in Withdraw lock pe\")\n mstore(add(headStart, 96), \"riod, Cant withdraw\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect epoch\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a113a0c9b7ecb25bf74a95ce032f1c4492c26de43ba45cb480773d9125636f9b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"staker doesnt exist\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ab99c6d7581cbb37d2e578d3097bfdd3323e05447f1fd7670b6c3a3fb9d9ff79__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"locked\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"ACL: sender not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_bdab4eea84666b4ea254b28d59bb87847c43c977043418b35d698df21c02f227__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"staker.id = 0\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ca26c3faaff56aa919715f58bb905a54a26bb23923d6ca4a5f99486cb2e50122__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Incorrect state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e28e7431deba574db0112ec0b937aaf1eb1cf46251a078d34bc069c9a6e2ba1e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"already commited this epoch. Can\")\n mstore(add(headStart, 96), \"t withdraw\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_e78ec75f598dcd03331f3963b6697277106610c26010b4ec4db871858b3a5b29__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Did not unstake\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_f810ff1ebbf47d94f8225d3c6edf23be7b0290f78abb3c694a0753fdc11ea065__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"Nonpositive Stake\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb68b1a04cb753747a8fd0228ce81c1b903ec58a44c6343bcbc04e0d2e45f04d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 49)\n mstore(add(headStart, 64), \"staked amount is less than minim\")\n mstore(add(headStart, 96), \"um stake required\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_struct$_Staker_$5594_memory_ptr__to_t_struct$_Staker_$5594_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 256)\n mstore(headStart, mload(value0))\n mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 0x40), mload(add(value0, 0x40)))\n mstore(add(headStart, 0x60), mload(add(value0, 0x60)))\n mstore(add(headStart, 0x80), mload(add(value0, 0x80)))\n mstore(add(headStart, 0xa0), mload(add(value0, 0xa0)))\n mstore(add(headStart, 0xc0), mload(add(value0, 0xc0)))\n mstore(add(headStart, 0xe0), mload(add(value0, 0xe0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 256)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), value6)\n mstore(add(headStart, 224), value7)\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_rational_0_by_1_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n let _1 := 32\n mstore(add(headStart, _1), value1)\n mstore(add(headStart, 64), 160)\n let length := mload(value2)\n mstore(add(headStart, 160), length)\n let i := tail\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 192), mload(add(add(value2, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 192), tail)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 192)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function allocateMemory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, size)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(r, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(r, 0x24)\n }\n r := div(x, y)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1260 - }, - { - "length": 20, - "start": 1739 - }, - { - "length": 20, - "start": 2080 - }, - { - "length": 20, - "start": 2204 - }, - { - "length": 20, - "start": 2631 - }, - { - "length": 20, - "start": 3079 - }, - { - "length": 20, - "start": 3480 - }, - { - "length": 20, - "start": 3921 - }, - { - "length": 20, - "start": 4758 - }, - { - "length": 20, - "start": 4974 - }, - { - "length": 20, - "start": 5512 - }, - { - "length": 20, - "start": 5803 - }, - { - "length": 20, - "start": 6094 - }, - { - "length": 20, - "start": 6556 - }, - { - "length": 20, - "start": 6922 - }, - { - "length": 20, - "start": 7255 - }, - { - "length": 20, - "start": 7662 - }, - { - "length": 20, - "start": 8123 - }, - { - "length": 20, - "start": 10618 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50600436106102265760003560e01c806366666aa91161012a578063c584bb9f116100bd578063e3c998fe1161008c578063f8c8765e11610071578063f8c8765e14610433578063fabb989014610446578063fd5e6dd11461045957610226565b8063e3c998fe14610400578063f580ffcb1461042057610226565b8063c584bb9f146103ca578063c8ae0d7d146103d2578063d547741f146103e5578063d9169b32146103f857610226565b806391d14854116100f957806391d14854146103945780639864f70a146103a7578063a217fddf146103ba578063bc788d46146103c257610226565b806366666aa91461035e5780636c8b052a14610366578063746c8b651461036e5780637b0472f01461038157610226565b8063248a9ca3116101bd5780632f2ff15d1161018c57806342c1e5871161017157806342c1e5871461033057806354eae15e146103385780636022a4851461034b57610226565b80632f2ff15d1461030a57806336568abe1461031d57610226565b8063248a9ca3146102bc5780632e17de78146102cf5780632e1a7d4d146102e25780632e716fb1146102f557610226565b8063188dc83b116101f9578063188dc83b146102865780631a69f008146102995780631ad54991146102ac5780631b8b13a7146102b457610226565b806301ffc9a71461022b5780630ac168a1146102545780630ec88d3f146102695780630f91ce1914610271575b600080fd5b61023e610239366004612eb4565b610480565b60405161024b91906130fc565b60405180910390f35b61025c6104de565b60405161024b9190613107565b61025c6104e4565b61028461027f366004613049565b6104ea565b005b610284610294366004612e59565b6106a7565b61025c6102a736600461307d565b61080a565b61025c610967565b61025c61096d565b61025c6102ca366004612e59565b610973565b6102846102dd366004612e59565b610989565b6102846102f0366004612e59565b610cda565b6102fd6111d4565b60405161024b9190613110565b610284610318366004612e89565b6111e3565b61028461032b366004612e89565b611221565b6102fd611263565b61028461034636600461307d565b611272565b61025c610359366004612d90565b611345565b61025c611360565b61025c611366565b61028461037c36600461307d565b61136c565b61028461038f36600461307d565b6114ca565b61023e6103a2366004612e89565b611c08565b6102846103b536600461307d565b611c33565b61025c611d0d565b61025c611d12565b6102fd611d18565b61025c6103e0366004612d90565b611d27565b6102846103f3366004612e89565b611d39565b6102fd611d61565b61041361040e366004612e59565b611d70565b60405161024b91906136e8565b61028461042e366004612e59565b611dec565b610284610441366004612db1565b611e94565b61028461045436600461307d565b611f97565b61046c610467366004612e59565b6125a0565b60405161024b98979695949392919061374a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104d657506104d6826125ef565b90505b919050565b60025481565b60055481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561052e57600080fd5b505af4158015610542573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105669190612e71565b6105708133611c08565b6105955760405162461bcd60e51b815260040161058c90613487565b60405180910390fd5b60008481526007602052604081206002908101546105b3919061387b565b90506105f78560006040518060400160405280600781526020017f536c61736865640000000000000000000000000000000000000000000000000081525086612639565b60018111156106a05760085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061063290879085906004016130e3565b602060405180830381600087803b15801561064c57600080fd5b505af1158015610660573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106849190612e3f565b6106a05760405162461bcd60e51b815260040161058c906131b8565b5050505050565b60005460ff166106c95760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561070d57600080fd5b505af4158015610721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107459190612e71565b61074f8133611c08565b61076b5760405162461bcd60e51b815260040161058c90613487565b600b60009054906101000a90046001600160a01b03166001600160a01b031663757991a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b957600080fd5b505afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190612e71565b6000928352600760205260409092206004019190915550565b6000600a83101561081c575080610961565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1cc45006040518163ffffffff1660e01b815260040160206040518083038186803b15801561086257600080fd5b505af4158015610876573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089a9190612e71565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a86f5a3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108de57600080fd5b505af41580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190612e71565b610920908561389b565b61092b6001876138ba565b610935919061389b565b61093f919061387b565b90508281101561095b5761095381846138ba565b915050610961565b60009150505b92915050565b60055490565b60045490565b6000908152600160208190526040909120015490565b60005460ff166109ab5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156109ef57600080fd5b505afa158015610a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a279190612e71565b8114610a455760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8957600080fd5b505af4158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac1919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1257600080fd5b505afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190612e71565b8114610b685760405162461bcd60e51b815260040161058c906135c0565b3360009081526006602090815260408083205480845260079092529091208054610ba45760405162461bcd60e51b815260040161058c906134be565b6000816002015411610bc85760405162461bcd60e51b815260040161058c9061324c565b84816006015411158015610bdf5750600681015415155b610bfb5760405162461bcd60e51b815260040161058c90613450565b6000816006018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c4957600080fd5b505af4158015610c5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c819190612e71565b610c8b9086613863565b6007820155600281015460405183917f0cfbc484edc798d2584502ca0d64e7e9514b8dd091d96a2a5b4deb58478da19e91610ccb91899181904290613797565b60405180910390a25050505050565b60005460ff16610cfc5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d4057600080fd5b505afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d789190612e71565b8114610d965760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610dda57600080fd5b505af4158015610dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e12919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6357600080fd5b505afa158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9b9190612e71565b8114610eb95760405162461bcd60e51b815260040161058c906135c0565b3360009081526006602090815260408083205480845260079092529091208054610ef55760405162461bcd60e51b815260040161058c90613419565b600681015415610f175760405162461bcd60e51b815260040161058c90613589565b84816007015411158015610f2e5750600781015415155b610f4a5760405162461bcd60e51b815260040161058c90613181565b806005015473__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9357600080fd5b505af4158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb9190612e71565b8260070154610fda91906138ba565b1015610ff85760405162461bcd60e51b815260040161058c90613385565b6009546040517f7164f0d60000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637164f0d6906110439088908690600401613789565b60206040518083038186803b15801561105b57600080fd5b505afa15801561106f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110939190612e71565b156110b05760405162461bcd60e51b815260040161058c9061352c565b60008160020154116110d45760405162461bcd60e51b815260040161058c906135f7565b6000828152600760205260408082206002018054908390559051909184917f0a6fecee2c95fc6b4c7f291e3435a3a832bcd700c2a7ffdedd8c909d56dfa49f91611124918a919081904290613797565b60405180910390a260085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061115e90339085906004016130e3565b602060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b09190612e3f565b6111cc5760405162461bcd60e51b815260040161058c9061334e565b505050505050565b600b546001600160a01b031681565b6111f76111ef83610973565b6103a261268b565b6112135760405162461bcd60e51b815260040161058c90613124565b61121d828261268f565b5050565b61122961268b565b6001600160a01b0316816001600160a01b0316146112595760405162461bcd60e51b815260040161058c9061362e565b61121d8282612717565b6009546001600160a01b031681565b60005460ff166112945760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156112d857600080fd5b505af41580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113109190612e71565b61131a8133611c08565b6113365760405162461bcd60e51b815260040161058c90613487565b611340838361279c565b505050565b6001600160a01b031660009081526006602052604090205490565b60045481565b60035481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156113b057600080fd5b505af41580156113c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e89190612e71565b6113f28133611c08565b61140e5760405162461bcd60e51b815260040161058c90613487565b6002541561147b57600280546000858152600760205260408120909201546114369190613863565b905061147984826040518060400160405280600c81526020017f426c6f636b20526577617264000000000000000000000000000000000000000081525086612639565b505b6005805460009182905560405190917feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916114bc9186918591904290613797565b60405180910390a150505050565b60005460ff166114ec5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561153057600080fd5b505afa158015611544573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115689190612e71565b81146115865760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115ca57600080fd5b505af41580156115de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611602919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561165357600080fd5b505afa158015611667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168b9190612e71565b81146116a95760405162461bcd60e51b815260040161058c906135c0565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ed57600080fd5b505af4158015611701573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611725919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561177657600080fd5b505afa15801561178a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ae9190612e71565b14156117cc5760405162461bcd60e51b815260040161058c906134f5565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561181057600080fd5b505af4158015611824573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118489190612e71565b8310156118675760405162461bcd60e51b815260040161058c9061368b565b6008546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906323b872dd906118b4903390309088906004016130bf565b602060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190612e3f565b6119225760405162461bcd60e51b815260040161058c906132e0565b3360009081526006602090815260408083205480845260079092529091206002015481611ad157600354611957906001613863565b6003819055506040518061010001604052806003548152602001336001600160a01b03168152602001868152602001878152602001600081526020016000815260200173__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b1580156119de57600080fd5b505af41580156119f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a169190612e71565b611a209089613863565b8152600060209182018190526003805482526007808452604080842086518155868601516001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039092169190911790558682015160028201556060870151818501556080870151600482015560a0870151600582015560c087015160068083019190915560e090970151920191909155905433835293909252208190559150611bac565b600082815260076020526040902060020154611aee908690613863565b600760008481526020019081526020016000206002018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4c57600080fd5b505af4158015611b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b849190612e71565b611b8e9087613863565b60008381526007602081905260408220600681019390935591909101555b817f52d3b6bf695a499d39fcdb47e3b450c09f2f6aa091ca8809cc51c00e705996cc8783600760008781526020019081526020016000206002015442604051611bf89493929190613797565b60405180910390a2505050505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60005460ff16611c555760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c9957600080fd5b505af4158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd19190612e71565b611cdb8133611c08565b611cf75760405162461bcd60e51b815260040161058c90613487565b5060009182526007602052604090912060050155565b600081565b60035490565b6008546001600160a01b031681565b60066020526000908152604090205481565b611d456111ef83610973565b6112595760405162461bcd60e51b815260040161058c906131ef565b600a546001600160a01b031681565b611d78612c99565b506000908152600760208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a0820152600683015460c082015291015460e082015290565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1a627816040518163ffffffff1660e01b815260040160206040518083038186803b158015611e3057600080fd5b505af4158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e689190612e71565b611e728133611c08565b611e8e5760405162461bcd60e51b815260040161058c90613487565b50600255565b600054610100900460ff1680611ead575060005460ff16155b611ec95760405162461bcd60e51b815260040161058c90613283565b600054610100900460ff16158015611ef4576000805460ff1961ff0019909116610100171660011790555b6000611f008133611c08565b611f1c5760405162461bcd60e51b815260040161058c90613487565b50600880546001600160a01b038088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560098054878416908316179055600a8054868416908316179055600b80549285169290911691909117905580156106a0576000805461ff00191690555050505050565b60005460ff16611fb95760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b158015611ffd57600080fd5b505af4158015612011573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120359190612e71565b61203f8133611c08565b61205b5760405162461bcd60e51b815260040161058c90613487565b60055461206757611340565b6000838152600760208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a08201819052600684015460c0830152929091015460e0820152906120e681856138ba565b6001146120f4575050611340565b600a546040517f378ab9a90000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063378ab9a99061213e908590600401613107565b60006040518083038186803b15801561215657600080fd5b505afa15801561216a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121929190810190612e04565b600a546040517fd2a4669a0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063d2a4669a906121e1908690600401613107565b60006040518083038186803b1580156121f957600080fd5b505afa15801561220d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122359190810190612e04565b600a546040517ffae4425d0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063fae4425d90612284908790600401613107565b60006040518083038186803b15801561229c57600080fd5b505afa1580156122b0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122d89190810190612e04565b825190915015612596576000805b835181101561243d576009548751604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a91612324918b918790600401613823565b604080518083038186803b15801561233b57600080fd5b505afa15801561234f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123739190612ffb565b600001519050600086838151811061239b57634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008684815181106123c757634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008685815181106123f357634e487b7160e01b600052603260045260246000fd5b602002602001015190508284148061241357508184118061241357508084105b1561242657612423866001613863565b95505b505050508080612435906138d1565b9150506122e6565b506000835160055461244f919061389b565b826004548960400151612462919061389b565b61246c919061389b565b612476919061387b565b905080156125935760055460408801518110156124945760006124a6565b87604001516005546124a691906138ba565b60058190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916124df918d9185914290613797565b60405180910390a160008289604001516124f99190613863565b60045490915061250984826138ba565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612542918f9185914290613797565b60405180910390a161258f8a60000151836040518060400160405280600e81526020017f566f74696e6720526577617264730000000000000000000000000000000000008152508f612639565b5050505b50505b5050505050505050565b60076020819052600091825260409091208054600182015460028301546003840154600485015460058601546006870154969097015494966001600160a01b0390941695929491939092909188565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b60008481526007602052604090819020600201805490859055905185907fab9982d99de79485b3cd6d1e72c881fd0342f42f1cbc7d220d4f373b97c4f36390610ccb90849088908890889042906137b2565b3390565b6126998282611c08565b61121d5760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556126d361268b565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6127218282611c08565b1561121d5760008281526001602090815260408083206001600160a01b03851684529091529020805460ff1916905561275861268b565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6127a68282612b35565b60008281526007602052604080822060028101546005820154600a5493517f04c075690000000000000000000000000000000000000000000000000000000081529294919390926001600160a01b03909116906304c075699061280d908590600401613107565b60006040518083038186803b15801561282557600080fd5b505afa158015612839573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128619190810190612ef4565b606081015160808201518151929350909115612596576000805b8351811015612a21576009548854604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a916128b9918b918790600401613823565b604080518083038186803b1580156128d057600080fd5b505afa1580156128e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129089190612ffb565b600001519050600085838151811061293057634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085848151811061295c57634e487b7160e01b600052603260045260246000fd5b602002602001015190508183108061297357508083115b15612a0b5773__$cb76aa8097a3c0beaf107a478aa049bae7$__633002c9ac6040518163ffffffff1660e01b815260040160206040518083038186803b1580156129bc57600080fd5b505af41580156129d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f49190612e71565b6129fe908b61387b565b612a089086613863565b94505b5050508080612a19906138d1565b91505061287b565b508015612ada57858111612a355780612a37565b855b8754909150612a8690612a4a83896138ba565b6040518060400160405280600e81526020017f566f74696e672050656e616c74790000000000000000000000000000000000008152508b612639565b600454612a938282613863565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612acc918c9185914290613797565b60405180910390a150612b2a565b600554612ae78782613863565b60058190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612b20918c9185914290613797565b60405180910390a1505b505050505050505050565b60008281526007602081815260408084208151610100810183528154815260018201546001600160a01b03169381019390935260028101549183019190915260038101546060830181905260048201546080840152600582015460a08401819052600683015460c0850152919093015460e083015290929110612bbc578160600151612bc2565b8160a001515b90506000612bd082856138ba565b60408401519091506000612be4838361080a565b905081811015612c9057612c338560000151826040518060400160405280601281526020017f496e61637469766974792050656e616c7479000000000000000000000000000081525089612639565b600454612c4082846138ba565b600454612c4d9190613863565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612c86918a9185914290613797565b60405180910390a1505b50505050505050565b6040518061010001604052806000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b80356001600160a01b03811681146104d957600080fd5b600082601f830112612d0e578081fd5b8151602067ffffffffffffffff821115612d2a57612d2a613902565b808202612d38828201613839565b838152828101908684018388018501891015612d52578687fd5b8693505b85841015612d74578051835260019390930192918401918401612d56565b50979650505050505050565b805180151581146104d957600080fd5b600060208284031215612da1578081fd5b612daa82612ce7565b9392505050565b60008060008060808587031215612dc6578283fd5b612dcf85612ce7565b9350612ddd60208601612ce7565b9250612deb60408601612ce7565b9150612df960608601612ce7565b905092959194509250565b600060208284031215612e15578081fd5b815167ffffffffffffffff811115612e2b578182fd5b612e3784828501612cfe565b949350505050565b600060208284031215612e50578081fd5b612daa82612d80565b600060208284031215612e6a578081fd5b5035919050565b600060208284031215612e82578081fd5b5051919050565b60008060408385031215612e9b578182fd5b82359150612eab60208401612ce7565b90509250929050565b600060208284031215612ec5578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612daa578182fd5b600060208284031215612f05578081fd5b815167ffffffffffffffff80821115612f1c578283fd5b8184019150610100808387031215612f32578384fd5b612f3b81613839565b905082518152602083015182811115612f52578485fd5b612f5e87828601612cfe565b602083015250604083015182811115612f75578485fd5b612f8187828601612cfe565b604083015250606083015182811115612f98578485fd5b612fa487828601612cfe565b606083015250608083015182811115612fbb578485fd5b612fc787828601612cfe565b60808301525060a083015160a082015260c083015160c0820152612fed60e08401612d80565b60e082015295945050505050565b60006040828403121561300c578081fd5b6040516040810181811067ffffffffffffffff8211171561302f5761302f613902565b604052825181526020928301519281019290925250919050565b60008060006060848603121561305d578283fd5b8335925061306d60208501612ce7565b9150604084013590509250925092565b6000806040838503121561308f578182fd5b50508035926020909101359150565b6000602082840312156130af578081fd5b815160ff81168114612daa578182fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252601a908201527f57697468647261772065706f6368206e6f742072656163686564000000000000604082015260600190565b60208082526019908201527f6661696c656420746f207472616e7366657220626f756e747900000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526011908201527f4e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b60208082526013908201527f736368207472616e73666572206661696c656400000000000000000000000000604082015260600190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b60208082526010908201527f636f756c646e74207472616e7366657200000000000000000000000000000000604082015260600190565b60208082526033908201527f50617274696369706174656420696e205769746864726177206c6f636b20706560408201527f72696f642c2043616e7420776974686472617700000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b60208082526013908201527f7374616b657220646f65736e7420657869737400000000000000000000000000604082015260600190565b60208082526006908201527f6c6f636b65640000000000000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600d908201527f7374616b65722e6964203d203000000000000000000000000000000000000000604082015260600190565b6020808252600f908201527f496e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602a908201527f616c726561647920636f6d6d6974656420746869732065706f63682e2043616e60408201527f7420776974686472617700000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f446964206e6f7420756e7374616b650000000000000000000000000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526011908201527f4e6f6e706f736974697665205374616b65000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526031908201527f7374616b656420616d6f756e74206973206c657373207468616e206d696e696d60408201527f756d207374616b65207265717569726564000000000000000000000000000000606082015260800190565b600061010082019050825182526001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b9788526001600160a01b0396909616602088015260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b60008682526020868184015260a0604084015285518060a0850152825b818110156137eb5787810183015185820160c0015282016137cf565b818111156137fc578360c083870101525b5060608401959095525050608081019190915260c0601f909201601f191601019392505050565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561385b5761385b613902565b604052919050565b60008219821115613876576138766138ec565b500190565b60008261389657634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156138b5576138b56138ec565b500290565b6000828210156138cc576138cc6138ec565b500390565b60006000198214156138e5576138e56138ec565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea26469706673582212209779da24218b4aa51a652f10c3a909fbea6a3f7519c92af4f83f059efebadb0d64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x226 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x66666AA9 GT PUSH2 0x12A JUMPI DUP1 PUSH4 0xC584BB9F GT PUSH2 0xBD JUMPI DUP1 PUSH4 0xE3C998FE GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xF8C8765E GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xF8C8765E EQ PUSH2 0x433 JUMPI DUP1 PUSH4 0xFABB9890 EQ PUSH2 0x446 JUMPI DUP1 PUSH4 0xFD5E6DD1 EQ PUSH2 0x459 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0xE3C998FE EQ PUSH2 0x400 JUMPI DUP1 PUSH4 0xF580FFCB EQ PUSH2 0x420 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0xC584BB9F EQ PUSH2 0x3CA JUMPI DUP1 PUSH4 0xC8AE0D7D EQ PUSH2 0x3D2 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3E5 JUMPI DUP1 PUSH4 0xD9169B32 EQ PUSH2 0x3F8 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x394 JUMPI DUP1 PUSH4 0x9864F70A EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xBC788D46 EQ PUSH2 0x3C2 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x66666AA9 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0x6C8B052A EQ PUSH2 0x366 JUMPI DUP1 PUSH4 0x746C8B65 EQ PUSH2 0x36E JUMPI DUP1 PUSH4 0x7B0472F0 EQ PUSH2 0x381 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x248A9CA3 GT PUSH2 0x1BD JUMPI DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x18C JUMPI DUP1 PUSH4 0x42C1E587 GT PUSH2 0x171 JUMPI DUP1 PUSH4 0x42C1E587 EQ PUSH2 0x330 JUMPI DUP1 PUSH4 0x54EAE15E EQ PUSH2 0x338 JUMPI DUP1 PUSH4 0x6022A485 EQ PUSH2 0x34B JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x30A JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x31D JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x2E17DE78 EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x2E2 JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x2F5 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x188DC83B GT PUSH2 0x1F9 JUMPI DUP1 PUSH4 0x188DC83B EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0x1A69F008 EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0x1AD54991 EQ PUSH2 0x2AC JUMPI DUP1 PUSH4 0x1B8B13A7 EQ PUSH2 0x2B4 JUMPI PUSH2 0x226 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0xAC168A1 EQ PUSH2 0x254 JUMPI DUP1 PUSH4 0xEC88D3F EQ PUSH2 0x269 JUMPI DUP1 PUSH4 0xF91CE19 EQ PUSH2 0x271 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x23E PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x2EB4 JUMP JUMPDEST PUSH2 0x480 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x30FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x25C PUSH2 0x4DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x3107 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x4E4 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x27F CALLDATASIZE PUSH1 0x4 PUSH2 0x3049 JUMP JUMPDEST PUSH2 0x4EA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x284 PUSH2 0x294 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x6A7 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x2A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x80A JUMP JUMPDEST PUSH2 0x25C PUSH2 0x967 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x96D JUMP JUMPDEST PUSH2 0x25C PUSH2 0x2CA CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x973 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x2DD CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x989 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x2F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0xCDA JUMP JUMPDEST PUSH2 0x2FD PUSH2 0x11D4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x3110 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x318 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E89 JUMP JUMPDEST PUSH2 0x11E3 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x32B CALLDATASIZE PUSH1 0x4 PUSH2 0x2E89 JUMP JUMPDEST PUSH2 0x1221 JUMP JUMPDEST PUSH2 0x2FD PUSH2 0x1263 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x346 CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x1272 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x359 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D90 JUMP JUMPDEST PUSH2 0x1345 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1360 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1366 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x136C JUMP JUMPDEST PUSH2 0x284 PUSH2 0x38F CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x14CA JUMP JUMPDEST PUSH2 0x23E PUSH2 0x3A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E89 JUMP JUMPDEST PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x3B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x1C33 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1D0D JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1D12 JUMP JUMPDEST PUSH2 0x2FD PUSH2 0x1D18 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x3E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D90 JUMP JUMPDEST PUSH2 0x1D27 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E89 JUMP JUMPDEST PUSH2 0x1D39 JUMP JUMPDEST PUSH2 0x2FD PUSH2 0x1D61 JUMP JUMPDEST PUSH2 0x413 PUSH2 0x40E CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x1D70 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x36E8 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x42E CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x1DEC JUMP JUMPDEST PUSH2 0x284 PUSH2 0x441 CALLDATASIZE PUSH1 0x4 PUSH2 0x2DB1 JUMP JUMPDEST PUSH2 0x1E94 JUMP JUMPDEST PUSH2 0x284 PUSH2 0x454 CALLDATASIZE PUSH1 0x4 PUSH2 0x307D JUMP JUMPDEST PUSH2 0x1F97 JUMP JUMPDEST PUSH2 0x46C PUSH2 0x467 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E59 JUMP JUMPDEST PUSH2 0x25A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24B SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x374A JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x4D6 JUMPI POP PUSH2 0x4D6 DUP3 PUSH2 0x25EF JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x52E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x542 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x566 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x570 DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x595 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 SWAP1 DUP2 ADD SLOAD PUSH2 0x5B3 SWAP2 SWAP1 PUSH2 0x387B JUMP JUMPDEST SWAP1 POP PUSH2 0x5F7 DUP6 PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536C617368656400000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP7 PUSH2 0x2639 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x6A0 JUMPI PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x632 SWAP1 DUP8 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x30E3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x64C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x660 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x684 SWAP2 SWAP1 PUSH2 0x2E3F JUMP JUMPDEST PUSH2 0x6A0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x31B8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x6C9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9CEC6F8A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x70D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x721 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x745 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x74F DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x76B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x757991A8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7CD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7F1 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 PUSH1 0x4 ADD SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA DUP4 LT ISZERO PUSH2 0x81C JUMPI POP DUP1 PUSH2 0x961 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0xB1CC4500 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x862 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x876 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x89A SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xA86F5A3F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x8DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x8F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x916 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x920 SWAP1 DUP6 PUSH2 0x389B JUMP JUMPDEST PUSH2 0x92B PUSH1 0x1 DUP8 PUSH2 0x38BA JUMP JUMPDEST PUSH2 0x935 SWAP2 SWAP1 PUSH2 0x389B JUMP JUMPDEST PUSH2 0x93F SWAP2 SWAP1 PUSH2 0x387B JUMP JUMPDEST SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x95B JUMPI PUSH2 0x953 DUP2 DUP5 PUSH2 0x38BA JUMP JUMPDEST SWAP2 POP POP PUSH2 0x961 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x9AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA03 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA27 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0xA45 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x33E2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xA9D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAC1 SWAP2 SWAP1 PUSH2 0x309E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB26 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB4A SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0xB68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x35C0 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x7 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH2 0xBA4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x34BE JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 ADD SLOAD GT PUSH2 0xBC8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x324C JUMP JUMPDEST DUP5 DUP2 PUSH1 0x6 ADD SLOAD GT ISZERO DUP1 ISZERO PUSH2 0xBDF JUMPI POP PUSH1 0x6 DUP2 ADD SLOAD ISZERO ISZERO JUMPDEST PUSH2 0xBFB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3450 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x6 ADD DUP2 SWAP1 SSTORE POP PUSH20 0x0 PUSH4 0x2628490F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xC5D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC81 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0xC8B SWAP1 DUP7 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x7 DUP3 ADD SSTORE PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 MLOAD DUP4 SWAP2 PUSH32 0xCFBC484EDC798D2584502CA0D64E7E9514B8DD091D96A2A5B4DEB58478DA19E SWAP2 PUSH2 0xCCB SWAP2 DUP10 SWAP2 DUP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0xCFC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP4 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD54 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD78 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0xD96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x33E2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xDEE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE12 SWAP2 SWAP1 PUSH2 0x309E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xE77 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE9B SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0xEB9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x35C0 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x7 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH2 0xEF5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3419 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD ISZERO PUSH2 0xF17 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3589 JUMP JUMPDEST DUP5 DUP2 PUSH1 0x7 ADD SLOAD GT ISZERO DUP1 ISZERO PUSH2 0xF2E JUMPI POP PUSH1 0x7 DUP2 ADD SLOAD ISZERO ISZERO JUMPDEST PUSH2 0xF4A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3181 JUMP JUMPDEST DUP1 PUSH1 0x5 ADD SLOAD PUSH20 0x0 PUSH4 0x2628490F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF93 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xFA7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xFCB SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP3 PUSH1 0x7 ADD SLOAD PUSH2 0xFDA SWAP2 SWAP1 PUSH2 0x38BA JUMP JUMPDEST LT ISZERO PUSH2 0xFF8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3385 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH32 0x7164F0D600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x7164F0D6 SWAP1 PUSH2 0x1043 SWAP1 DUP9 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3789 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x105B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x106F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1093 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST ISZERO PUSH2 0x10B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x352C JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 ADD SLOAD GT PUSH2 0x10D4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x35F7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD SWAP1 DUP4 SWAP1 SSTORE SWAP1 MLOAD SWAP1 SWAP2 DUP5 SWAP2 PUSH32 0xA6FECEE2C95FC6B4C7F291E3435A3A832BCD700C2A7FFDEDD8C909D56DFA49F SWAP2 PUSH2 0x1124 SWAP2 DUP11 SWAP2 SWAP1 DUP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x115E SWAP1 CALLER SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x30E3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1178 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x118C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11B0 SWAP2 SWAP1 PUSH2 0x2E3F JUMP JUMPDEST PUSH2 0x11CC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x334E JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x11F7 PUSH2 0x11EF DUP4 PUSH2 0x973 JUMP JUMPDEST PUSH2 0x3A2 PUSH2 0x268B JUMP JUMPDEST PUSH2 0x1213 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3124 JUMP JUMPDEST PUSH2 0x121D DUP3 DUP3 PUSH2 0x268F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1229 PUSH2 0x268B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1259 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x362E JUMP JUMPDEST PUSH2 0x121D DUP3 DUP3 PUSH2 0x2717 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1294 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x12EC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1310 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x131A DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x1336 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST PUSH2 0x1340 DUP4 DUP4 PUSH2 0x279C JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x13B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x13C4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x13E8 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x13F2 DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x140E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST PUSH1 0x2 SLOAD ISZERO PUSH2 0x147B JUMPI PUSH1 0x2 DUP1 SLOAD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 SWAP3 ADD SLOAD PUSH2 0x1436 SWAP2 SWAP1 PUSH2 0x3863 JUMP JUMPDEST SWAP1 POP PUSH2 0x1479 DUP5 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x426C6F636B205265776172640000000000000000000000000000000000000000 DUP2 MSTORE POP DUP7 PUSH2 0x2639 JUMP JUMPDEST POP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x0 SWAP2 DUP3 SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 SWAP2 PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x14BC SWAP2 DUP7 SWAP2 DUP6 SWAP2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x14EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1530 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1544 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1568 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0x1586 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x33E2 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x15DE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1602 SWAP2 SWAP1 PUSH2 0x309E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1653 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1667 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x168B SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP2 EQ PUSH2 0x16A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x35C0 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xA475B5DD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1701 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1725 SWAP2 SWAP1 PUSH2 0x309E JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1776 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x178A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x17AE SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST EQ ISZERO PUSH2 0x17CC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x34F5 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1810 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1824 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1848 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST DUP4 LT ISZERO PUSH2 0x1867 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x368B JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH2 0x18B4 SWAP1 CALLER SWAP1 ADDRESS SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x30BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x18CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x18E2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1906 SWAP2 SWAP1 PUSH2 0x2E3F JUMP JUMPDEST PUSH2 0x1922 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x32E0 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP1 DUP5 MSTORE PUSH1 0x7 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 PUSH2 0x1AD1 JUMPI PUSH1 0x3 SLOAD PUSH2 0x1957 SWAP1 PUSH1 0x1 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH20 0x0 PUSH4 0x26BF1C03 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x19DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x19F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A16 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x1A20 SWAP1 DUP10 PUSH2 0x3863 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 SWAP2 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x3 DUP1 SLOAD DUP3 MSTORE PUSH1 0x7 DUP1 DUP5 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP7 MLOAD DUP2 SSTORE DUP7 DUP7 ADD MLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP7 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SSTORE PUSH1 0x60 DUP8 ADD MLOAD DUP2 DUP6 ADD SSTORE PUSH1 0x80 DUP8 ADD MLOAD PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0xA0 DUP8 ADD MLOAD PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0xC0 DUP8 ADD MLOAD PUSH1 0x6 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0xE0 SWAP1 SWAP8 ADD MLOAD SWAP3 ADD SWAP2 SWAP1 SWAP2 SSTORE SWAP1 SLOAD CALLER DUP4 MSTORE SWAP4 SWAP1 SWAP3 MSTORE KECCAK256 DUP2 SWAP1 SSTORE SWAP2 POP PUSH2 0x1BAC JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x1AEE SWAP1 DUP7 SWAP1 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH20 0x0 PUSH4 0x26BF1C03 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1B60 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1B84 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x1B8E SWAP1 DUP8 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 KECCAK256 PUSH1 0x6 DUP2 ADD SWAP4 SWAP1 SWAP4 SSTORE SWAP2 SWAP1 SWAP2 ADD SSTORE JUMPDEST DUP2 PUSH32 0x52D3B6BF695A499D39FCDB47E3B450C09F2F6AA091CA8809CC51C00E705996CC DUP8 DUP4 PUSH1 0x7 PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x1BF8 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1C55 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x9CEC6F8A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1C99 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CAD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1CD1 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x1CDB DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x1CF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST POP PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 PUSH1 0x5 ADD SSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1D45 PUSH2 0x11EF DUP4 PUSH2 0x973 JUMP JUMPDEST PUSH2 0x1259 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x31EF JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x1D78 PUSH2 0x2C99 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP4 MLOAD PUSH2 0x100 DUP2 ADD DUP6 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0xC0 DUP3 ADD MSTORE SWAP2 ADD SLOAD PUSH1 0xE0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH20 0x0 PUSH4 0xB1A62781 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1E30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1E44 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1E68 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x1E72 DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x1E8E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST POP PUSH1 0x2 SSTORE JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0x1EAD JUMPI POP PUSH1 0x0 SLOAD PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0x1EC9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3283 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO DUP1 ISZERO PUSH2 0x1EF4 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT PUSH2 0xFF00 NOT SWAP1 SWAP2 AND PUSH2 0x100 OR AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 PUSH2 0x1F00 DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x1F1C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST POP PUSH1 0x8 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x9 DUP1 SLOAD DUP8 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0xA DUP1 SLOAD DUP7 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0xB DUP1 SLOAD SWAP3 DUP6 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 ISZERO PUSH2 0x6A0 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1FB9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3317 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x80638D42 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1FFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x2011 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2035 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x203F DUP2 CALLER PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x205B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x58C SWAP1 PUSH2 0x3487 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x2067 JUMPI PUSH2 0x1340 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP4 MLOAD PUSH2 0x100 DUP2 ADD DUP6 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x4 DUP4 ADD SLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0xA0 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0xC0 DUP4 ADD MSTORE SWAP3 SWAP1 SWAP2 ADD SLOAD PUSH1 0xE0 DUP3 ADD MSTORE SWAP1 PUSH2 0x20E6 DUP2 DUP6 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x1 EQ PUSH2 0x20F4 JUMPI POP POP PUSH2 0x1340 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH32 0x378AB9A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x378AB9A9 SWAP1 PUSH2 0x213E SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3107 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2156 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x216A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2192 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2E04 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH32 0xD2A4669A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xD2A4669A SWAP1 PUSH2 0x21E1 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3107 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x21F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x220D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2235 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2E04 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH32 0xFAE4425D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xFAE4425D SWAP1 PUSH2 0x2284 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3107 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x229C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x22B0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x22D8 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2E04 JUMP JUMPDEST DUP3 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x2596 JUMPI PUSH1 0x0 DUP1 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x243D JUMPI PUSH1 0x9 SLOAD DUP8 MLOAD PUSH1 0x40 MLOAD PUSH4 0x4673FFA5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x8CE7FF4A SWAP2 PUSH2 0x2324 SWAP2 DUP12 SWAP2 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3823 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x233B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x234F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2373 SWAP2 SWAP1 PUSH2 0x2FFB JUMP JUMPDEST PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x239B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x23C7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP7 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x23F3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP3 DUP5 EQ DUP1 PUSH2 0x2413 JUMPI POP DUP2 DUP5 GT DUP1 PUSH2 0x2413 JUMPI POP DUP1 DUP5 LT JUMPDEST ISZERO PUSH2 0x2426 JUMPI PUSH2 0x2423 DUP7 PUSH1 0x1 PUSH2 0x3863 JUMP JUMPDEST SWAP6 POP JUMPDEST POP POP POP POP DUP1 DUP1 PUSH2 0x2435 SWAP1 PUSH2 0x38D1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x22E6 JUMP JUMPDEST POP PUSH1 0x0 DUP4 MLOAD PUSH1 0x5 SLOAD PUSH2 0x244F SWAP2 SWAP1 PUSH2 0x389B JUMP JUMPDEST DUP3 PUSH1 0x4 SLOAD DUP10 PUSH1 0x40 ADD MLOAD PUSH2 0x2462 SWAP2 SWAP1 PUSH2 0x389B JUMP JUMPDEST PUSH2 0x246C SWAP2 SWAP1 PUSH2 0x389B JUMP JUMPDEST PUSH2 0x2476 SWAP2 SWAP1 PUSH2 0x387B JUMP JUMPDEST SWAP1 POP DUP1 ISZERO PUSH2 0x2593 JUMPI PUSH1 0x5 SLOAD PUSH1 0x40 DUP9 ADD MLOAD DUP2 LT ISZERO PUSH2 0x2494 JUMPI PUSH1 0x0 PUSH2 0x24A6 JUMP JUMPDEST DUP8 PUSH1 0x40 ADD MLOAD PUSH1 0x5 SLOAD PUSH2 0x24A6 SWAP2 SWAP1 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x24DF SWAP2 DUP14 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP3 DUP10 PUSH1 0x40 ADD MLOAD PUSH2 0x24F9 SWAP2 SWAP1 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x4 SLOAD SWAP1 SWAP2 POP PUSH2 0x2509 DUP5 DUP3 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x2542 SWAP2 DUP16 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x258F DUP11 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x566F74696E672052657761726473000000000000000000000000000000000000 DUP2 MSTORE POP DUP16 PUSH2 0x2639 JUMP JUMPDEST POP POP POP JUMPDEST POP POP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD SLOAD PUSH1 0x6 DUP8 ADD SLOAD SWAP7 SWAP1 SWAP8 ADD SLOAD SWAP5 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND SWAP6 SWAP3 SWAP5 SWAP2 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP9 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD SWAP1 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP6 SWAP1 PUSH32 0xAB9982D99DE79485B3CD6D1E72C881FD0342F42F1CBC7D220D4F373B97C4F363 SWAP1 PUSH2 0xCCB SWAP1 DUP5 SWAP1 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 TIMESTAMP SWAP1 PUSH2 0x37B2 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x2699 DUP3 DUP3 PUSH2 0x1C08 JUMP JUMPDEST PUSH2 0x121D JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x26D3 PUSH2 0x268B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x2721 DUP3 DUP3 PUSH2 0x1C08 JUMP JUMPDEST ISZERO PUSH2 0x121D JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x2758 PUSH2 0x268B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x27A6 DUP3 DUP3 PUSH2 0x2B35 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0xA SLOAD SWAP4 MLOAD PUSH32 0x4C0756900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP3 SWAP5 SWAP2 SWAP4 SWAP1 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x4C07569 SWAP1 PUSH2 0x280D SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3107 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2825 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2839 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2861 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2EF4 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x80 DUP3 ADD MLOAD DUP2 MLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 ISZERO PUSH2 0x2596 JUMPI PUSH1 0x0 DUP1 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2A21 JUMPI PUSH1 0x9 SLOAD DUP9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x4673FFA5 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x8CE7FF4A SWAP2 PUSH2 0x28B9 SWAP2 DUP12 SWAP2 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x3823 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x28D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x28E4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2908 SWAP2 SWAP1 PUSH2 0x2FFB JUMP JUMPDEST PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x2930 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP6 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x295C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP2 DUP4 LT DUP1 PUSH2 0x2973 JUMPI POP DUP1 DUP4 GT JUMPDEST ISZERO PUSH2 0x2A0B JUMPI PUSH20 0x0 PUSH4 0x3002C9AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x29BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x29D0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x29F4 SWAP2 SWAP1 PUSH2 0x2E71 JUMP JUMPDEST PUSH2 0x29FE SWAP1 DUP12 PUSH2 0x387B JUMP JUMPDEST PUSH2 0x2A08 SWAP1 DUP7 PUSH2 0x3863 JUMP JUMPDEST SWAP5 POP JUMPDEST POP POP POP DUP1 DUP1 PUSH2 0x2A19 SWAP1 PUSH2 0x38D1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x287B JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x2ADA JUMPI DUP6 DUP2 GT PUSH2 0x2A35 JUMPI DUP1 PUSH2 0x2A37 JUMP JUMPDEST DUP6 JUMPDEST DUP8 SLOAD SWAP1 SWAP2 POP PUSH2 0x2A86 SWAP1 PUSH2 0x2A4A DUP4 DUP10 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x566F74696E672050656E616C7479000000000000000000000000000000000000 DUP2 MSTORE POP DUP12 PUSH2 0x2639 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x2A93 DUP3 DUP3 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x2ACC SWAP2 DUP13 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP PUSH2 0x2B2A JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x2AE7 DUP8 DUP3 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xEEE26D3C1E406E24904D3748E49DA85096C92AC1A6AD38F3FE8A404F85212DD1 SWAP2 PUSH2 0x2B20 SWAP2 DUP13 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP2 MLOAD PUSH2 0x100 DUP2 ADD DUP4 MSTORE DUP2 SLOAD DUP2 MSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x2 DUP2 ADD SLOAD SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x60 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0xA0 DUP5 ADD DUP2 SWAP1 MSTORE PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0xC0 DUP6 ADD MSTORE SWAP2 SWAP1 SWAP4 ADD SLOAD PUSH1 0xE0 DUP4 ADD MSTORE SWAP1 SWAP3 SWAP2 LT PUSH2 0x2BBC JUMPI DUP2 PUSH1 0x60 ADD MLOAD PUSH2 0x2BC2 JUMP JUMPDEST DUP2 PUSH1 0xA0 ADD MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x2BD0 DUP3 DUP6 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x40 DUP5 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x0 PUSH2 0x2BE4 DUP4 DUP4 PUSH2 0x80A JUMP JUMPDEST SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x2C90 JUMPI PUSH2 0x2C33 DUP6 PUSH1 0x0 ADD MLOAD DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x496E61637469766974792050656E616C74790000000000000000000000000000 DUP2 MSTORE POP DUP10 PUSH2 0x2639 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x2C40 DUP3 DUP5 PUSH2 0x38BA JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x2C4D SWAP2 SWAP1 PUSH2 0x3863 JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0xF7157643FD549E213A0105625DA6B3BF58C86068CCB954A4449E18BF9427BFF4 SWAP2 PUSH2 0x2C86 SWAP2 DUP11 SWAP2 DUP6 SWAP2 TIMESTAMP SWAP1 PUSH2 0x3797 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D0E JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2D2A JUMPI PUSH2 0x2D2A PUSH2 0x3902 JUMP JUMPDEST DUP1 DUP3 MUL PUSH2 0x2D38 DUP3 DUP3 ADD PUSH2 0x3839 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP2 ADD SWAP1 DUP7 DUP5 ADD DUP4 DUP9 ADD DUP6 ADD DUP10 LT ISZERO PUSH2 0x2D52 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP7 SWAP4 POP JUMPDEST DUP6 DUP5 LT ISZERO PUSH2 0x2D74 JUMPI DUP1 MLOAD DUP4 MSTORE PUSH1 0x1 SWAP4 SWAP1 SWAP4 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 DUP5 ADD PUSH2 0x2D56 JUMP JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x4D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2DA1 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2DAA DUP3 PUSH2 0x2CE7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2DC6 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x2DCF DUP6 PUSH2 0x2CE7 JUMP JUMPDEST SWAP4 POP PUSH2 0x2DDD PUSH1 0x20 DUP7 ADD PUSH2 0x2CE7 JUMP JUMPDEST SWAP3 POP PUSH2 0x2DEB PUSH1 0x40 DUP7 ADD PUSH2 0x2CE7 JUMP JUMPDEST SWAP2 POP PUSH2 0x2DF9 PUSH1 0x60 DUP7 ADD PUSH2 0x2CE7 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E15 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2E2B JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x2E37 DUP5 DUP3 DUP6 ADD PUSH2 0x2CFE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E50 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2DAA DUP3 PUSH2 0x2D80 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E6A JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E82 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2E9B JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x2EAB PUSH1 0x20 DUP5 ADD PUSH2 0x2CE7 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2EC5 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x2DAA JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2F05 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2F1C JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP PUSH2 0x100 DUP1 DUP4 DUP8 SUB SLT ISZERO PUSH2 0x2F32 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x2F3B DUP2 PUSH2 0x3839 JUMP JUMPDEST SWAP1 POP DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2F52 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2F5E DUP8 DUP3 DUP7 ADD PUSH2 0x2CFE JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2F75 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2F81 DUP8 DUP3 DUP7 ADD PUSH2 0x2CFE JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2F98 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2FA4 DUP8 DUP3 DUP7 ADD PUSH2 0x2CFE JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2FBB JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x2FC7 DUP8 DUP3 DUP7 ADD PUSH2 0x2CFE JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x2FED PUSH1 0xE0 DUP5 ADD PUSH2 0x2D80 JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x300C JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x40 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x302F JUMPI PUSH2 0x302F PUSH2 0x3902 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD MLOAD SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x305D JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH2 0x306D PUSH1 0x20 DUP6 ADD PUSH2 0x2CE7 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x308F JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x30AF JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x2DAA JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND DUP2 MSTORE SWAP2 SWAP1 SWAP3 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x57697468647261772065706F6368206E6F742072656163686564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x19 SWAP1 DUP3 ADD MSTORE PUSH32 0x6661696C656420746F207472616E7366657220626F756E747900000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F6E706F736974697665207374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x647920696E697469616C697A6564000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x13 SWAP1 DUP3 ADD MSTORE PUSH32 0x736368207472616E73666572206661696C656400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1E SWAP1 DUP3 ADD MSTORE PUSH32 0x436F6E74726163742073686F756C6420626520696E697469616C697A65640000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x636F756C646E74207472616E7366657200000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x50617274696369706174656420696E205769746864726177206C6F636B207065 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x72696F642C2043616E7420776974686472617700000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x13 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B657220646F65736E7420657869737400000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x6 SWAP1 DUP3 ADD MSTORE PUSH32 0x6C6F636B65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xD SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B65722E6964203D203000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x496E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x616C726561647920636F6D6D6974656420746869732065706F63682E2043616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7420776974686472617700000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x446964206E6F7420756E7374616B650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F6E706F736974697665205374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x31 SWAP1 DUP3 ADD MSTORE PUSH32 0x7374616B656420616D6F756E74206973206C657373207468616E206D696E696D PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x756D207374616B65207265717569726564000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP3 ADD SWAP1 POP DUP3 MLOAD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH1 0x20 DUP5 ADD MLOAD AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP4 ADD MLOAD PUSH1 0xE0 DUP4 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP8 DUP9 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 SWAP1 SWAP7 AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x60 DUP7 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP3 MSTORE PUSH1 0x20 DUP7 DUP2 DUP5 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP5 ADD MSTORE DUP6 MLOAD DUP1 PUSH1 0xA0 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x37EB JUMPI DUP8 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP3 ADD PUSH2 0x37CF JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x37FC JUMPI DUP4 PUSH1 0xC0 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xC0 PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x385B JUMPI PUSH2 0x385B PUSH2 0x3902 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x3876 JUMPI PUSH2 0x3876 PUSH2 0x38EC JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3896 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x38B5 JUMPI PUSH2 0x38B5 PUSH2 0x38EC JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x38CC JUMPI PUSH2 0x38CC PUSH2 0x38EC JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x38E5 JUMPI PUSH2 0x38E5 PUSH2 0x38EC JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 PUSH26 0xDA24218B4AA51A652F10C3A909FBEA6A3F7519C92AF4F83F059E INVALID 0xBA 0xDB 0xD PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "484:17273:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;126:26:20;;;:::i;:::-;;;;;;;:::i;220:33::-;;;:::i;11851:353:10:-;;;;;;:::i;:::-;;:::i;:::-;;3208:218;;;;;;:::i;:::-;;:::i;13274:498::-;;;;;;:::i;:::-;;:::i;12952:107::-;;;:::i;12810:91::-;;;:::i;4185:121:0:-;;;;;;:::i;:::-;;:::i;5582:599:10:-;;;;;;:::i;:::-;;:::i;6341:1128::-;;;;;;:::i;:::-;;:::i;655:33::-;;;:::i;:::-;;;;;;;:::i;4556:228:0:-;;;;;;:::i;:::-;;:::i;5740:214::-;;;;;;:::i;:::-;;:::i;579:31:10:-;;;:::i;7709:194::-;;;;;;:::i;:::-;;:::i;12287:114::-;;;;;;:::i;:::-;;:::i;189:25:20:-;;;:::i;158:::-;;;:::i;8178:606:10:-;;;;;;:::i;:::-;;:::i;3872:1467::-;;;;;;:::i;:::-;;:::i;3867:137:0:-;;;;;;:::i;:::-;;:::i;2914:243:10:-;;;;;;:::i;:::-;;:::i;2363:49:0:-;;;:::i;12682:91:10:-;;;:::i;549:24::-;;;:::i;260:45:20:-;;;;;;:::i;:::-;;:::i;5018:231:0:-;;;;;;:::i;:::-;;:::i;616:33:10:-;;;:::i;12496:121::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3432:147::-;;;;;;:::i;:::-;;:::i;2337:443::-;;;;;;:::i;:::-;;:::i;9132:2364::-;;;;;;:::i;:::-;;:::i;311:50:20:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;3566:214:0:-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;;3566:214;;;;:::o;126:26:20:-;;;;:::o;220:33::-;;;;:::o;11851:353:10:-;11934:9;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;;;;;;;;;11978:17:10::1;11998:11:::0;;;:7:::1;:11;::::0;;;;12017:1:::1;11998:17:::0;;::::1;::::0;:21:::1;::::0;12017:1;11998:21:::1;:::i;:::-;11978:41;;12029:40;12045:2;12049:1;12029:40;;;;;;;;;;;;;;;;::::0;12063:5:::1;12029:15;:40::i;:::-;12095:1;12083:9;:13;12079:119;;;12120:3;::::0;:37:::1;::::0;-1:-1:-1;;;12120:37:10;;-1:-1:-1;;;;;12120:3:10;;::::1;::::0;:12:::1;::::0;:37:::1;::::0;12133:12;;12147:9;;12120:37:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12112:75;;;;-1:-1:-1::0;;;12112:75:10::1;;;;;;;:::i;:::-;389:1:7;11851:353:10::0;;;;:::o;3208:218::-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;3301:9:10::1;:38;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1::0;;;314:65:7::1;;;;;;;:::i;:::-;3396:12:10::2;;;;;;;;;-1:-1:-1::0;;;;;3396:12:10::2;-1:-1:-1::0;;;;;3396:21:10::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3357:17;::::0;;;:7:::2;:17;::::0;;;;;:36:::2;;:62:::0;;;;-1:-1:-1;3208:218:10:o;13274:498::-;13368:7;13463:2;13454:6;:11;13450:60;;;-1:-1:-1;13488:10:10;13481:18;;13450:60;13520:15;13604:9;:31;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13567:9;:29;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13555:44;;:10;:44;:::i;:::-;13540:10;13549:1;13540:6;:10;:::i;:::-;13539:61;;;;:::i;:::-;13538:99;;;;:::i;:::-;13520:117;;13661:10;13651:7;:20;13647:119;;;13694:20;13706:7;13694:10;:20;:::i;:::-;13687:28;;;;;13647:119;13753:1;13746:9;;;13274:498;;;;;:::o;12952:107::-;13033:18;;12952:107;:::o;12810:91::-;12883:10;;12810:91;:::o;4185:121:0:-;4251:7;4277:12;;;:6;:12;;;;;;;;:22;;;4185:121::o;5582:599:10:-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;1753:12:10::1;::::0;:23:::1;::::0;;-1:-1:-1;;;1753:23:10;;;;5647:5;;-1:-1:-1;;;;;1753:12:10::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1744:5;:32;1736:60;;;;-1:-1:-1::0;;;1736:60:10::1;;;;;;;:::i;:::-;5665:9:::2;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1820:124;;1883:12;;;;;;;;;-1:-1:-1::0;;;;;1883:12:10::2;-1:-1:-1::0;;;;;1883:21:10::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1874:5;:32;1866:60;;;;-1:-1:-1::0;;;1866:60:10::2;;;;;;;:::i;:::-;5724:10:::3;5695:16;5714:21:::0;;;:9:::3;:21;::::0;;;;;;;;5777:17;;;:7:::3;:17:::0;;;;;;5812:9;;5804:40:::3;;;;-1:-1:-1::0;;;5804:40:10::3;;;;;;;:::i;:::-;5877:1;5862:6;:12;;;:16;5854:46;;;;-1:-1:-1::0;;;5854:46:10::3;;;;;;;:::i;:::-;5941:5;5918:6;:19;;;:28;;:56;;;;-1:-1:-1::0;5950:19:10::3;::::0;::::3;::::0;:24;::::3;5918:56;5910:75;;;;-1:-1:-1::0;;;5910:75:10::3;;;;;;;:::i;:::-;6017:1;5995:6;:19;;:23;;;;6058:9;:28;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6051:38;::::0;:5;:38:::3;:::i;:::-;6028:20;::::0;::::3;:61:::0;6130:12:::3;::::0;::::3;::::0;6104:70:::3;::::0;6120:8;;6104:70:::3;::::0;::::3;::::0;6113:5;;6130:12;;6158:15:::3;::::0;6104:70:::3;:::i;:::-;;;;;;;;1936:1;;1806::::2;2057::24::1;5582:599:10::0;:::o;6341:1128::-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;1753:12:10::1;::::0;:23:::1;::::0;;-1:-1:-1;;;1753:23:10;;;;6407:5;;-1:-1:-1;;;;;1753:12:10::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1744:5;:32;1736:60;;;;-1:-1:-1::0;;;1736:60:10::1;;;;;;;:::i;:::-;6425:9:::2;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1820:124;;1883:12;;;;;;;;;-1:-1:-1::0;;;;;1883:12:10::2;-1:-1:-1::0;;;;;1883:21:10::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1874:5;:32;1866:60;;;;-1:-1:-1::0;;;1866:60:10::2;;;;;;;:::i;:::-;6484:10:::3;6455:16;6474:21:::0;;;:9:::3;:21;::::0;;;;;;;;6537:17;;;:7:::3;:17:::0;;;;;;6572:9;;6564:46:::3;;;;-1:-1:-1::0;;;6564:46:10::3;;;;;;;:::i;:::-;6628:19;::::0;::::3;::::0;:24;6620:52:::3;;;;-1:-1:-1::0;;;6620:52:10::3;;;;;;;:::i;:::-;6728:5;6704:6;:20;;;:29;;6703:60;;;;-1:-1:-1::0;6738:20:10::3;::::0;::::3;::::0;:25;::::3;6703:60;6682:133;;;;-1:-1:-1::0;;;6682:133:10::3;;;;;;;:::i;:::-;6905:6;:24;;;6870:9;:28;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6847:6;:20;;;:53;;;;:::i;:::-;6846:83;;6825:181;;;;-1:-1:-1::0;;;6825:181:10::3;;;;;;;:::i;:::-;7037:11;::::0;:42:::3;::::0;;;;-1:-1:-1;;;;;7037:11:10;;::::3;::::0;:25:::3;::::0;:42:::3;::::0;7063:5;;7070:8;;7037:42:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:49:::0;7016:138:::3;;;;-1:-1:-1::0;;;7016:138:10::3;;;;;;;:::i;:::-;7187:1;7172:6;:12;;;:16;7164:46;;;;-1:-1:-1::0;;;7164:46:10::3;;;;;;;:::i;:::-;7221:18;7242:17:::0;;;:7:::3;:17;::::0;;;;;:23:::3;;::::0;;7275:27;;;;7317:70;;7242:23;;7250:8;;7317:70:::3;::::0;::::3;::::0;7326:5;;7221:18;;;7371:15:::3;::::0;7317:70:::3;:::i;:::-;;;;;;;;7405:3;::::0;:36:::3;::::0;-1:-1:-1;;;7405:36:10;;-1:-1:-1;;;;;7405:3:10;;::::3;::::0;:12:::3;::::0;:36:::3;::::0;7418:10:::3;::::0;7430;;7405:36:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7397:65;;;;-1:-1:-1::0;;;7397:65:10::3;;;;;;;:::i;:::-;1936:1;;;1806::::2;2057::24::1;6341:1128:10::0;:::o;655:33::-;;;-1:-1:-1;;;;;655:33:10;;:::o;4556:228:0:-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;5740:214::-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;579:31:10:-;;;-1:-1:-1;;;;;579:31:10;;:::o;7709:194::-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;7817:9:10::1;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1::0;;;314:65:7::1;;;;;;;:::i;:::-;7865:31:10::2;7880:8;7890:5;7865:14;:31::i;:::-;2057:1:24::1;7709:194:10::0;;:::o;12287:114::-;-1:-1:-1;;;;;12374:19:10;12348:7;12374:19;;;:9;:19;;;;;;;12287:114::o;189:25:20:-;;;;:::o;158:::-;;;;:::o;8178:606:10:-;8276:9;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;8328:11:10::1;::::0;:15;8324:187:::1;;8403:11;::::0;;8359:16:::1;8378:17:::0;;;:7:::1;:17;::::0;;;;:23;;::::1;::::0;:37:::1;::::0;8403:11;8378:37:::1;:::i;:::-;8359:56;;8429:58;8445:8;8455;8429:58;;;;;;;;;;;;;;;;::::0;8481:5:::1;8429:15;:58::i;:::-;8324:187;;8553:18;::::0;;8520:30:::1;8581:22:::0;;;;8627:150:::1;::::0;8553:18;;8627:150:::1;::::0;::::1;::::0;8665:5;;8553:18;;8520:30;8752:15:::1;::::0;8627:150:::1;:::i;:::-;;;;;;;;389:1:7;8178:606:10::0;;;:::o;3872:1467::-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;1753:12:10::1;::::0;:23:::1;::::0;;-1:-1:-1;;;1753:23:10;;;;3997:5;;-1:-1:-1;;;;;1753:12:10::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1744:5;:32;1736:60;;;;-1:-1:-1::0;;;1736:60:10::1;;;;;;;:::i;:::-;4015:9:::2;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1820:124;;1883:12;;;;;;;;;-1:-1:-1::0;;;;;1883:12:10::2;-1:-1:-1::0;;;;;1883:21:10::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1874:5;:32;1866:60;;;;-1:-1:-1::0;;;1866:60:10::2;;;;;;;:::i;:::-;4129:9:::3;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4102:45;;:12;;;;;;;;;-1:-1:-1::0;;;;;4102:12:10::3;-1:-1:-1::0;;;;;4102:21:10::3;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;4094:73;;;;-1:-1:-1::0;;;4094:73:10::3;;;;;;;:::i;:::-;4208:9;:18;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4198:6;:30;;4177:127;;;;-1:-1:-1::0;;;4177:127:10::3;;;;;;;:::i;:::-;4322:3;::::0;:51:::3;::::0;;;;-1:-1:-1;;;;;4322:3:10;;::::3;::::0;:16:::3;::::0;:51:::3;::::0;4339:10:::3;::::0;4359:4:::3;::::0;4366:6;;4322:51:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4314:83;;;;-1:-1:-1::0;;;4314:83:10::3;;;;;;;:::i;:::-;4436:10;4407:16;4426:21:::0;;;:9:::3;:21;::::0;;;;;;;;4481:17;;;:7:::3;:17:::0;;;;;;:23:::3;;::::0;4518:13;4514:723:::3;;4560:10;::::0;:14:::3;::::0;4572:1:::3;4560:14;:::i;:::-;4547:10;:27;;;;4610:113;;;;;;;;4625:10;;4610:113;;;;4637:10;-1:-1:-1::0;;;;;4610:113:10::3;;;;;4649:6;4610:113;;;;4657:5;4610:113;;;;4664:1;4610:113;;;;4667:1;4610:113;;;;4689:9;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4682:37;::::0;:5;:37:::3;:::i;:::-;4610:113:::0;;4721:1:::3;4610:113;::::0;;::::3;::::0;;;4596:10:::3;::::0;;4588:19;;:7:::3;:19:::0;;;;;;;:135;;;;;;::::3;::::0;::::3;::::0;::::3;::::0;;;::::3;-1:-1:-1::0;;;;;4588:135:10;;::::3;::::0;;;::::3;::::0;;;;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;;;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;;::::3;::::0;;;;::::3;::::0;;::::3;::::0;;::::3;::::0;;;;4748:10;;4782::::3;4772:21:::0;;;;;;;:32;;;4748:10;-1:-1:-1;4514:723:10::3;;;5061:17;::::0;;;:7:::3;:17;::::0;;;;:23:::3;;::::0;:32:::3;::::0;5086:6;;5061:32:::3;:::i;:::-;5035:7;:17;5043:8;5035:17;;;;;;;;;;;:23;;:58;;;;5147:9;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5140:37;::::0;:5;:37:::3;:::i;:::-;5107:17;::::0;;;:7:::3;:17;::::0;;;;;;:30:::3;::::0;::::3;:70:::0;;;;5191:31;;;::::3;:35:::0;4514:723:::3;5266:8;5252:80;5259:5;5276:13;5291:7;:17;5299:8;5291:17;;;;;;;;;;;:23;;;5316:15;5252:80;;;;;;;;;:::i;:::-;;;;;;;;1936:1;;1806::::2;2057::24::1;3872:1467:10::0;;:::o;3867:137:0:-;3945:4;3968:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;2914:243:10:-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;3043:9:10::1;:38;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1::0;;;314:65:7::1;;;;;;;:::i;:::-;-1:-1:-1::0;3099:12:10::2;::::0;;;:7:::2;:12;::::0;;;;;:30:::2;;:51:::0;2914:243::o;2363:49:0:-;2408:4;2363:49;:::o;12682:91:10:-;12755:10;;12682:91;:::o;549:24::-;;;-1:-1:-1;;;;;549:24:10;;:::o;260:45:20:-;;;;;;;;;;;;;:::o;5018:231:0:-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;616:33:10:-;;;-1:-1:-1;;;;;616:33:10;;:::o;12496:121::-;12550:28;;:::i;:::-;-1:-1:-1;12597:12:10;;;;:7;:12;;;;;;;;;12590:20;;;;;;;;;;;;;;;-1:-1:-1;;;;;12590:20:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12496:121::o;3432:147::-;3499:9;:29;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1;;;314:65:7;;;;;;;:::i;:::-;-1:-1:-1;3546:11:10::1;:26:::0;3432:147::o;2337:443::-;1623:13:24;;;;;;;;:30;;-1:-1:-1;1641:12:24;;;;1640:13;1623:30;1615:89;;;;-1:-1:-1;;;1615:89:24;;;;;;;:::i;:::-;1715:19;1738:13;;;;;;1737:14;1761:98;;;;1795:13;:20;;-1:-1:-1;;;;1795:20:24;;;;;1829:19;1811:4;1829:19;;;1761:98;2408:4:0::1;322:26:7;2408:4:0::0;337:10:7::1;322:7;:26::i;:::-;314:65;;;;-1:-1:-1::0;;;314:65:7::1;;;;;;;:::i;:::-;-1:-1:-1::0;2567:3:10::2;:31:::0;;-1:-1:-1;;;;;2567:31:10;;::::2;::::0;;;::::2;;::::0;;;2608:11:::2;:47:::0;;;;::::2;::::0;;::::2;;::::0;;2665:12:::2;:49:::0;;;;::::2;::::0;;::::2;;::::0;;2724:12:::2;:49:::0;;;;::::2;::::0;;;::::2;::::0;;;::::2;::::0;;1881:66:24;;;;1931:5;1915:21;;-1:-1:-1;;1915:21:24;;;2337:443:10;;;;;:::o;9132:2364::-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;9238:9:10::1;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;322:26:7;330:5;337:10;322:7;:26::i;:::-;314:65;;;;-1:-1:-1::0;;;314:65:7::1;;;;;;;:::i;:::-;9290:18:10::2;::::0;9286:36:::2;;9315:7;;9286:36;9331:32;9366:17:::0;;;:7:::2;:17;::::0;;;;;;;;9331:52;;::::2;::::0;::::2;::::0;;;;;;::::2;::::0;::::2;::::0;-1:-1:-1;;;;;9331:52:10::2;::::0;;::::2;::::0;;;;::::2;::::0;::::2;::::0;;;;;;;;::::2;::::0;::::2;::::0;;;;;::::2;::::0;::::2;::::0;;;;;::::2;::::0;::::2;::::0;;;;;;;::::2;::::0;::::2;::::0;;;;;;;;::::2;::::0;;;;;;9521:25:::2;9331:52:::0;9521:5;:25:::2;:::i;:::-;9551:1;9520:32;9516:45;;9554:7;;;;9516:45;9606:12;::::0;:47:::2;::::0;;;;9570:33:::2;::::0;-1:-1:-1;;;;;9606:12:10::2;::::0;:28:::2;::::0;:47:::2;::::0;9635:17;;9606:47:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;9606:47:10::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;9704:12;::::0;:47:::2;::::0;;;;9570:83;;-1:-1:-1;9663:38:10::2;::::0;-1:-1:-1;;;;;9704:12:10;;::::2;::::0;:28:::2;::::0;:47:::2;::::0;9733:17;;9704:47:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;9704:47:10::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;9803:12;::::0;:48:::2;::::0;;;;9663:88;;-1:-1:-1;9761:39:10::2;::::0;-1:-1:-1;;;;;9803:12:10;;::::2;::::0;:29:::2;::::0;:48:::2;::::0;9833:17;;9803:48:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;9803:48:10::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;9866:28:::0;;9761:90;;-1:-1:-1;9866:32:10;9862:1628:::2;;9914:18;9955:9:::0;9950:707:::2;9974:21;:28;9970:1;:32;9950:707;;;10072:11;::::0;10111:13;;10072:56:::2;::::0;-1:-1:-1;;;10072:56:10;;10027:21:::2;::::0;-1:-1:-1;;;;;10072:11:10::2;::::0;:19:::2;::::0;:56:::2;::::0;10092:17;;10126:1;;10072:56:::2;;;:::i;:::-;;::::0;::::2;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;;;10027:107;;10152:23;10178:16;10195:1;10178:19;;;;;;-1:-1:-1::0;;;10178:19:10::2;;;;;;;;;;;;;;;10152:45;;10215:28;10246:21;10268:1;10246:24;;;;;;-1:-1:-1::0;;;10246:24:10::2;;;;;;;;;;;;;;;10215:55;;10288:29;10320:22;10343:1;10320:25;;;;;;-1:-1:-1::0;;;10320:25:10::2;;;;;;;;;;;;;;;10288:57;;10434:15;10417:13;:32;10416:157;;;;10488:20;10472:13;:36;10471:101;;;;10550:21;10534:13;:37;10471:101;10412:231;;;10610:14;:10:::0;10623:1:::2;10610:14;:::i;:::-;10597:27;;10412:231;9950:707;;;;10004:3;;;;;:::i;:::-;;;;9950:707;;;;10671:14;10762:21;:28;10743:18;;:47;;;;:::i;:::-;10717:10;10706;;10689;:16;;;:27;;;;:::i;:::-;:38;;;;:::i;:::-;10688:103;;;;:::i;:::-;10671:120:::0;-1:-1:-1;10809:10:10;;10805:675:::2;;10872:18;::::0;10951:16:::2;::::0;::::2;::::0;10929:38;::::2;;:82;;11010:1;10929:82;;;10990:10;:16;;;10970:18;;:37;;;;:::i;:::-;10908:18;:103:::0;;;11034:92:::2;::::0;::::2;::::0;::::2;::::0;11059:5;;11066:22;;11110:15:::2;::::0;11034:92:::2;:::i;:::-;;;;;;;;11144:16;11182:6;11163:10;:16;;;:25;;;;:::i;:::-;11231:10;::::0;11144:44;;-1:-1:-1;11272:19:10::2;11284:6:::0;11231:10;11272:19:::2;:::i;:::-;11259:10;:32:::0;;;11314:68:::2;::::0;::::2;::::0;::::2;::::0;11331:5;;11338:14;;11366:15:::2;::::0;11314:68:::2;:::i;:::-;;;;;;;;11400:65;11416:10;:13;;;11431:8;11400:65;;;;;;;;;;;;;;;;::::0;11459:5:::2;11400:15;:65::i;:::-;10805:675;;;;9862:1628;;;389:1:7;;;;;2057::24::1;9132:2364:10::0;;:::o;311:50:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;311:50:20;;;;;;;;;;;;;:::o;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;13980:286:10:-;14092:21;14116:12;;;:7;:12;;;;;;;:18;;;;14144:27;;;;14186:73;;14124:3;;14186:73;;;;14116:18;;14165:6;;14226:7;;14235:6;;14243:15;;14186:73;:::i;586:96:3:-;665:10;586:96;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:12;;;;7096:4;7064:12;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;;;;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;15587:2168:10:-;15664:41;15689:8;15699:5;15664:24;:41::i;:::-;15715:33;15751:17;;;:7;:17;;;;;;15802:16;;;;15856:28;;;;15925:12;;:40;;;;;15751:17;;15802:16;;15856:28;;-1:-1:-1;;;;;15925:12:10;;;;:21;;:40;;15856:28;;15925:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15925:40:10;;;;;;;;;;;;:::i;:::-;16017:19;;;;16088:20;;;;16132:28;;15895:70;;-1:-1:-1;16017:19:10;;16132:32;16128:1621;;16180:15;16218:9;16213:775;16237:21;:28;16233:1;:32;16213:775;;;16314:11;;16353:13;;16314:56;;-1:-1:-1;;;16314:56:10;;16290:21;;-1:-1:-1;;;;;16314:11:10;;:19;;:56;;16334:17;;16368:1;;16314:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;;;16290:86;;16394:28;16425:21;16447:1;16425:24;;;;;;-1:-1:-1;;;16425:24:10;;;;;;;;;;;;;;;16394:55;;16467:29;16499:22;16522:1;16499:25;;;;;;-1:-1:-1;;;16499:25:10;;;;;;;;;;;;;;;16467:57;;16581:20;16565:13;:36;16564:81;;;;16623:21;16607:13;:37;16564:81;16560:414;;;16923:9;:29;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16909:45;;:13;:45;:::i;:::-;16898:57;;:7;:57;:::i;:::-;16888:67;;16560:414;16213:775;;;16267:3;;;;;:::i;:::-;;;;16213:775;;;-1:-1:-1;17006:11:10;;17002:737;;17058:13;17048:7;:23;17047:51;;17091:7;17047:51;;;17075:13;17047:51;17132:13;;17037:61;;-1:-1:-1;17116:82:10;;17148:23;17037:61;17148:13;:23;:::i;:::-;17116:82;;;;;;;;;;;;;;;;;17192:5;17116:15;:82::i;:::-;17241:10;;17282:20;17294:7;17241:10;17282:20;:::i;:::-;17269:10;:33;;;17325:68;;;;;;17342:5;;17349:14;;17377:15;;17325:68;:::i;:::-;;;;;;;;17002:737;;;;17507:18;;17564:34;17584:13;17507:18;17564:34;:::i;:::-;17543:18;:55;;;17632:92;;;;;;17657:5;;17664:22;;17708:15;;17632:92;:::i;:::-;;;;;;;;17002:737;;16128:1621;15587:2168;;;;;;;;:::o;14568:1014::-;14654:32;14689:17;;;:7;:17;;;;;;;;14654:52;;;;;;;;;;;;;;;-1:-1:-1;;;;;14654:52:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:32;14743:53;:173;;14894:10;:22;;;14743:173;;;14831:10;:28;;;14743:173;14717:199;-1:-1:-1;14991:22:10;15016:23;14717:199;15016:5;:23;:::i;:::-;15073:16;;;;14991:48;;-1:-1:-1;15049:21:10;15171:59;14991:48;15073:16;15171:28;:59::i;:::-;15148:82;;15259:13;15244:12;:28;15240:336;;;15288:73;15304:10;:13;;;15319:12;15288:73;;;;;;;;;;;;;;;;;15355:5;15288:15;:73::i;:::-;15400:10;;15449:28;15464:12;15449:13;:28;:::i;:::-;15437:10;;:41;;;;:::i;:::-;15424:10;:54;;;15497:68;;;;;;15514:5;;15521:14;;15549:15;;15497:68;:::i;:::-;;;;;;;;15240:336;;14568:1014;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:198:29:-;84:20;;-1:-1:-1;;;;;133:54:29;;123:65;;113:2;;202:1;199;192:12;217:746;;341:3;334:4;326:6;322:17;318:27;308:2;;363:5;356;349:20;308:2;396:6;390:13;422:4;445:18;441:2;438:26;435:2;;;467:18;;:::i;:::-;514:2;510;506:11;537:27;560:2;556;552:11;537:27;:::i;:::-;598:15;;;629:12;;;;661:15;;;695;;;691:24;;688:33;-1:-1:-1;685:2:29;;;738:5;731;724:20;685:2;764:5;755:14;;778:156;792:2;789:1;786:9;778:156;;;849:10;;837:23;;810:1;803:9;;;;;880:12;;;;912;;778:156;;;-1:-1:-1;952:5:29;298:665;-1:-1:-1;;;;;;;298:665:29:o;968:166::-;1046:13;;1095;;1088:21;1078:32;;1068:2;;1124:1;1121;1114:12;1139:198;;1251:2;1239:9;1230:7;1226:23;1222:32;1219:2;;;1272:6;1264;1257:22;1219:2;1300:31;1321:9;1300:31;:::i;:::-;1290:41;1209:128;-1:-1:-1;;;1209:128:29:o;1342:427::-;;;;;1505:3;1493:9;1484:7;1480:23;1476:33;1473:2;;;1527:6;1519;1512:22;1473:2;1555:31;1576:9;1555:31;:::i;:::-;1545:41;;1605:40;1641:2;1630:9;1626:18;1605:40;:::i;:::-;1595:50;;1664:40;1700:2;1689:9;1685:18;1664:40;:::i;:::-;1654:50;;1723:40;1759:2;1748:9;1744:18;1723:40;:::i;:::-;1713:50;;1463:306;;;;;;;:::o;1774:389::-;;1922:2;1910:9;1901:7;1897:23;1893:32;1890:2;;;1943:6;1935;1928:22;1890:2;1981:9;1975:16;2014:18;2006:6;2003:30;2000:2;;;2051:6;2043;2036:22;2000:2;2079:78;2149:7;2140:6;2129:9;2125:22;2079:78;:::i;:::-;2069:88;1880:283;-1:-1:-1;;;;1880:283:29:o;2168:214::-;;2288:2;2276:9;2267:7;2263:23;2259:32;2256:2;;;2309:6;2301;2294:22;2256:2;2337:39;2366:9;2337:39;:::i;2387:190::-;;2499:2;2487:9;2478:7;2474:23;2470:32;2467:2;;;2520:6;2512;2505:22;2467:2;-1:-1:-1;2548:23:29;;2457:120;-1:-1:-1;2457:120:29:o;2582:194::-;;2705:2;2693:9;2684:7;2680:23;2676:32;2673:2;;;2726:6;2718;2711:22;2673:2;-1:-1:-1;2754:16:29;;2663:113;-1:-1:-1;2663:113:29:o;2781:266::-;;;2910:2;2898:9;2889:7;2885:23;2881:32;2878:2;;;2931:6;2923;2916:22;2878:2;2972:9;2959:23;2949:33;;3001:40;3037:2;3026:9;3022:18;3001:40;:::i;:::-;2991:50;;2868:179;;;;;:::o;3052:352::-;;3163:2;3151:9;3142:7;3138:23;3134:32;3131:2;;;3184:6;3176;3169:22;3131:2;3228:9;3215:23;3278:66;3271:5;3267:78;3260:5;3257:89;3247:2;;3365:6;3357;3350:22;3409:1538;;3555:2;3543:9;3534:7;3530:23;3526:32;3523:2;;;3576:6;3568;3561:22;3523:2;3614:9;3608:16;3643:18;3684:2;3676:6;3673:14;3670:2;;;3705:6;3697;3690:22;3670:2;3748:6;3737:9;3733:22;3723:32;;3774:6;3814:2;3809;3800:7;3796:16;3792:25;3789:2;;;3835:6;3827;3820:22;3789:2;3866:18;3881:2;3866:18;:::i;:::-;3853:31;;3913:2;3907:9;3900:5;3893:24;3956:2;3952;3948:11;3942:18;3985:2;3975:8;3972:16;3969:2;;;4006:6;3998;3991:22;3969:2;4047:73;4112:7;4101:8;4097:2;4093:17;4047:73;:::i;:::-;4042:2;4035:5;4031:14;4024:97;;4160:2;4156;4152:11;4146:18;4189:2;4179:8;4176:16;4173:2;;;4210:6;4202;4195:22;4173:2;4251:73;4316:7;4305:8;4301:2;4297:17;4251:73;:::i;:::-;4246:2;4239:5;4235:14;4228:97;;4364:2;4360;4356:11;4350:18;4393:2;4383:8;4380:16;4377:2;;;4414:6;4406;4399:22;4377:2;4455:73;4520:7;4509:8;4505:2;4501:17;4455:73;:::i;:::-;4450:2;4443:5;4439:14;4432:97;;4568:3;4564:2;4560:12;4554:19;4598:2;4588:8;4585:16;4582:2;;;4619:6;4611;4604:22;4582:2;4661:73;4726:7;4715:8;4711:2;4707:17;4661:73;:::i;:::-;4655:3;4648:5;4644:15;4637:98;;4782:3;4778:2;4774:12;4768:19;4762:3;4755:5;4751:15;4744:44;4835:3;4831:2;4827:12;4821:19;4815:3;4808:5;4804:15;4797:44;4874:42;4911:3;4907:2;4903:12;4874:42;:::i;:::-;4868:3;4857:15;;4850:67;4861:5;3513:1434;-1:-1:-1;;;;;3513:1434:29:o;4952:508::-;;5097:2;5085:9;5076:7;5072:23;5068:32;5065:2;;;5118:6;5110;5103:22;5065:2;5156;5150:9;5198:2;5190:6;5186:15;5267:6;5255:10;5252:22;5231:18;5219:10;5216:34;5213:62;5210:2;;;5278:18;;:::i;:::-;5314:2;5307:22;5353:16;;5338:32;;5424:2;5409:18;;;5403:25;5386:15;;;5379:50;;;;-1:-1:-1;5345:6:29;5055:405;-1:-1:-1;5055:405:29:o;5859:334::-;;;;6005:2;5993:9;5984:7;5980:23;5976:32;5973:2;;;6026:6;6018;6011:22;5973:2;6067:9;6054:23;6044:33;;6096:40;6132:2;6121:9;6117:18;6096:40;:::i;:::-;6086:50;;6183:2;6172:9;6168:18;6155:32;6145:42;;5963:230;;;;;:::o;6198:258::-;;;6327:2;6315:9;6306:7;6302:23;6298:32;6295:2;;;6348:6;6340;6333:22;6295:2;-1:-1:-1;;6376:23:29;;;6446:2;6431:18;;;6418:32;;-1:-1:-1;6285:171:29:o;6461:293::-;;6582:2;6570:9;6561:7;6557:23;6553:32;6550:2;;;6603:6;6595;6588:22;6550:2;6640:9;6634:16;6690:4;6683:5;6679:16;6672:5;6669:27;6659:2;;6715:6;6707;6700:22;6759:398;-1:-1:-1;;;;;7040:15:29;;;7022:34;;7092:15;;;;7087:2;7072:18;;7065:43;7139:2;7124:18;;7117:34;;;;6949:2;6934:18;;6916:241::o;7162:297::-;-1:-1:-1;;;;;7354:55:29;;;;7336:74;;7441:2;7426:18;;7419:34;7324:2;7309:18;;7291:168::o;7464:187::-;7629:14;;7622:22;7604:41;;7592:2;7577:18;;7559:92::o;7656:177::-;7802:25;;;7790:2;7775:18;;7757:76::o;7838:248::-;-1:-1:-1;;;;;8024:55:29;;;;8006:74;;7994:2;7979:18;;7961:125::o;8849:411::-;9051:2;9033:21;;;9090:2;9070:18;;;9063:30;9129:34;9124:2;9109:18;;9102:62;9200:17;9195:2;9180:18;;9173:45;9250:3;9235:19;;9023:237::o;9265:350::-;9467:2;9449:21;;;9506:2;9486:18;;;9479:30;9545:28;9540:2;9525:18;;9518:56;9606:2;9591:18;;9439:176::o;9620:349::-;9822:2;9804:21;;;9861:2;9841:18;;;9834:30;9900:27;9895:2;9880:18;;9873:55;9960:2;9945:18;;9794:175::o;9974:412::-;10176:2;10158:21;;;10215:2;10195:18;;;10188:30;10254:34;10249:2;10234:18;;10227:62;10325:18;10320:2;10305:18;;10298:46;10376:3;10361:19;;10148:238::o;10391:341::-;10593:2;10575:21;;;10632:2;10612:18;;;10605:30;10671:19;10666:2;10651:18;;10644:47;10723:2;10708:18;;10565:167::o;10737:410::-;10939:2;10921:21;;;10978:2;10958:18;;;10951:30;11017:34;11012:2;10997:18;;10990:62;11088:16;11083:2;11068:18;;11061:44;11137:3;11122:19;;10911:236::o;11152:343::-;11354:2;11336:21;;;11393:2;11373:18;;;11366:30;11432:21;11427:2;11412:18;;11405:49;11486:2;11471:18;;11326:169::o;11500:354::-;11702:2;11684:21;;;11741:2;11721:18;;;11714:30;11780:32;11775:2;11760:18;;11753:60;11845:2;11830:18;;11674:180::o;11859:340::-;12061:2;12043:21;;;12100:2;12080:18;;;12073:30;12139:18;12134:2;12119:18;;12112:46;12190:2;12175:18;;12033:166::o;12204:415::-;12406:2;12388:21;;;12445:2;12425:18;;;12418:30;12484:34;12479:2;12464:18;;12457:62;12555:21;12550:2;12535:18;;12528:49;12609:3;12594:19;;12378:241::o;12624:339::-;12826:2;12808:21;;;12865:2;12845:18;;;12838:30;12904:17;12899:2;12884:18;;12877:45;12954:2;12939:18;;12798:165::o;12968:343::-;13170:2;13152:21;;;13209:2;13189:18;;;13182:30;13248:21;13243:2;13228:18;;13221:49;13302:2;13287:18;;13142:169::o;13316:329::-;13518:2;13500:21;;;13557:1;13537:18;;;13530:29;13595:8;13590:2;13575:18;;13568:36;13636:2;13621:18;;13490:155::o;13650:350::-;13852:2;13834:21;;;13891:2;13871:18;;;13864:30;13930:28;13925:2;13910:18;;13903:56;13991:2;13976:18;;13824:176::o;14005:337::-;14207:2;14189:21;;;14246:2;14226:18;;;14219:30;14285:15;14280:2;14265:18;;14258:43;14333:2;14318:18;;14179:163::o;14347:339::-;14549:2;14531:21;;;14588:2;14568:18;;;14561:30;14627:17;14622:2;14607:18;;14600:45;14677:2;14662:18;;14521:165::o;14691:406::-;14893:2;14875:21;;;14932:2;14912:18;;;14905:30;14971:34;14966:2;14951:18;;14944:62;15042:12;15037:2;15022:18;;15015:40;15087:3;15072:19;;14865:232::o;15102:339::-;15304:2;15286:21;;;15343:2;15323:18;;;15316:30;15382:17;15377:2;15362:18;;15355:45;15432:2;15417:18;;15276:165::o;15446:339::-;15648:2;15630:21;;;15687:2;15667:18;;;15660:30;15726:17;15721:2;15706:18;;15699:45;15776:2;15761:18;;15620:165::o;15790:341::-;15992:2;15974:21;;;16031:2;16011:18;;;16004:30;16070:19;16065:2;16050:18;;16043:47;16122:2;16107:18;;15964:167::o;16136:411::-;16338:2;16320:21;;;16377:2;16357:18;;;16350:30;16416:34;16411:2;16396:18;;16389:62;16487:17;16482:2;16467:18;;16460:45;16537:3;16522:19;;16310:237::o;16552:413::-;16754:2;16736:21;;;16793:2;16773:18;;;16766:30;16832:34;16827:2;16812:18;;16805:62;16903:19;16898:2;16883:18;;16876:47;16955:3;16940:19;;16726:239::o;16970:723::-;;17152:3;17141:9;17137:19;17129:27;;17189:6;17183:13;17172:9;17165:32;-1:-1:-1;;;;;17257:4:29;17249:6;17245:17;17239:24;17235:73;17228:4;17217:9;17213:20;17206:103;17365:4;17357:6;17353:17;17347:24;17340:4;17329:9;17325:20;17318:54;17428:4;17420:6;17416:17;17410:24;17403:4;17392:9;17388:20;17381:54;17491:4;17483:6;17479:17;17473:24;17466:4;17455:9;17451:20;17444:54;17554:4;17546:6;17542:17;17536:24;17529:4;17518:9;17514:20;17507:54;17617:4;17609:6;17605:17;17599:24;17592:4;17581:9;17577:20;17570:54;17680:4;17672:6;17668:17;17662:24;17655:4;17644:9;17640:20;17633:54;17119:574;;;;:::o;17880:728::-;18223:25;;;-1:-1:-1;;;;;18284:55:29;;;;18279:2;18264:18;;18257:83;18371:2;18356:18;;18349:34;;;;18414:2;18399:18;;18392:34;;;;18457:3;18442:19;;18435:35;18501:3;18486:19;;18479:35;18545:3;18530:19;;18523:35;18589:3;18574:19;;18567:35;18210:3;18195:19;;18177:431::o;18613:248::-;18787:25;;;18843:2;18828:18;;18821:34;18775:2;18760:18;;18742:119::o;18866:399::-;19105:25;;;19161:2;19146:18;;19139:34;;;;19204:2;19189:18;;19182:34;19247:2;19232:18;;19225:34;19092:3;19077:19;;19059:206::o;19270:893::-;;19531:6;19520:9;19513:25;19557:2;19595:6;19590:2;19579:9;19575:18;19568:34;19638:3;19633:2;19622:9;19618:18;19611:31;19671:6;19665:13;19715:6;19709:3;19698:9;19694:19;19687:35;19740:4;19753:141;19767:6;19764:1;19761:13;19753:141;;;19863:14;;;19859:23;;19853:30;19828:17;;;19847:3;19824:27;19817:67;19782:10;;19753:141;;;19912:6;19909:1;19906:13;19903:2;;;19983:4;19977:3;19968:6;19957:9;19953:22;19949:32;19942:46;19903:2;-1:-1:-1;20101:2:29;20086:18;;20079:34;;;;-1:-1:-1;;20144:3:29;20129:19;;20122:35;;;;20066:3;20059:2;20038:15;;;-1:-1:-1;;20034:29:29;20019:45;20015:55;;;-1:-1:-1;;;19503:660:29:o;20168:319::-;20370:25;;;20426:2;20411:18;;20404:34;;;;20469:2;20454:18;;20447:34;20358:2;20343:18;;20325:162::o;20888:251::-;20958:2;20952:9;20988:17;;;21035:18;21020:34;;21056:22;;;21017:62;21014:2;;;21082:18;;:::i;:::-;21118:2;21111:22;20932:207;;-1:-1:-1;20932:207:29:o;21144:128::-;;21215:1;21211:6;21208:1;21205:13;21202:2;;;21221:18;;:::i;:::-;-1:-1:-1;21257:9:29;;21192:80::o;21277:274::-;;21343:1;21333:2;;-1:-1:-1;;;21375:1:29;21368:88;21479:4;21476:1;21469:15;21507:4;21504:1;21497:15;21333:2;-1:-1:-1;21536:9:29;;21323:228::o;21556:168::-;;21662:1;21658;21654:6;21650:14;21647:1;21644:21;21639:1;21632:9;21625:17;21621:45;21618:2;;;21669:18;;:::i;:::-;-1:-1:-1;21709:9:29;;21608:116::o;21729:125::-;;21797:1;21794;21791:8;21788:2;;;21802:18;;:::i;:::-;-1:-1:-1;21839:9:29;;21778:76::o;21859:135::-;;-1:-1:-1;;21919:17:29;;21916:2;;;21939:18;;:::i;:::-;-1:-1:-1;21986:1:29;21975:13;;21906:88::o;21999:184::-;-1:-1:-1;;;22048:1:29;22041:88;22148:4;22145:1;22138:15;22172:4;22169:1;22162:15;22188:184;-1:-1:-1;;;22237:1:29;22230:88;22337:4;22334:1;22327:15;22361:4;22358:1;22351:15" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "blockManager()": "d9169b32", - "blockReward()": "0ac168a1", - "calculateInactivityPenalties(uint256,uint256)": "1a69f008", - "getNumStakers()": "bc788d46", - "getRewardPool()": "1b8b13a7", - "getRoleAdmin(bytes32)": "248a9ca3", - "getStakeGettingReward()": "1ad54991", - "getStaker(uint256)": "e3c998fe", - "getStakerId(address)": "6022a485", - "giveBlockReward(uint256,uint256)": "746c8b65", - "givePenalties(uint256,uint256)": "54eae15e", - "giveRewards(uint256,uint256)": "fabb9890", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "initialize(address,address,address,address)": "f8c8765e", - "numStakers()": "6c8b052a", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "rewardPool()": "66666aa9", - "sch()": "c584bb9f", - "setStakerEpochLastRevealed(uint256,uint256)": "9864f70a", - "slash(uint256,address,uint256)": "0f91ce19", - "stake(uint256,uint256)": "7b0472f0", - "stakeGettingReward()": "0ec88d3f", - "stakerIds(address)": "c8ae0d7d", - "stakers(uint256)": "fd5e6dd1", - "stateManager()": "2e716fb1", - "supportsInterface(bytes4)": "01ffc9a7", - "unstake(uint256)": "2e17de78", - "updateBlockReward(uint256)": "f580ffcb", - "updateCommitmentEpoch(uint256)": "188dc83b", - "voteManager()": "42c1e587", - "withdraw(uint256)": "2e1a7d4d" - } - } - } - }, - "contracts/Core/StateManager.sol": { - "StateManager": { - "abi": [ - { - "inputs": [], - "name": "getEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getState", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 134 - }, - { - "length": 20, - "start": 258 - }, - { - "length": 20, - "start": 404 - }, - { - "length": 20, - "start": 546 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50610339806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80631865c57d1461003b578063757991a814610059575b600080fd5b610043610061565b60405161005091906102a3565b60405180910390f35b6100436101fe565b60008073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100a857600080fd5b505af41580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e0919061028b565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561012457600080fd5b505af4158015610138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015c919061028b565b61016691906102ac565b61017090436102ac565b905073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101b657600080fd5b505af41580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee919061028b565b6101f890826102c0565b91505090565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561024457600080fd5b505af4158015610258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027c919061028b565b61028690436102ac565b905090565b60006020828403121561029c578081fd5b5051919050565b90815260200190565b6000826102bb576102bb6102d4565b500490565b6000826102cf576102cf6102d4565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea264697066735822122088362cf02b1c548688eb624d977dece4788e6d603b42f08883f403ee1437eab464736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x339 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1865C57D EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x757991A8 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x2A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x43 PUSH2 0x1FE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x0 PUSH4 0xF4F29C5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x124 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x138 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x166 SWAP2 SWAP1 PUSH2 0x2AC JUMP JUMPDEST PUSH2 0x170 SWAP1 NUMBER PUSH2 0x2AC JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xF4F29C5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x1F8 SWAP1 DUP3 PUSH2 0x2C0 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x258 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x27C SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x286 SWAP1 NUMBER PUSH2 0x2AC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29C JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2BB JUMPI PUSH2 0x2BB PUSH2 0x2D4 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2CF JUMPI PUSH2 0x2CF PUSH2 0x2D4 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP9 CALLDATASIZE 0x2C CREATE 0x2B SHR SLOAD DUP7 DUP9 0xEB PUSH3 0x4D977D 0xEC 0xE4 PUSH25 0x8E6D603B42F08883F403EE1437EAB464736F6C634300080000 CALLER ", - "sourceMap": "97:347:11:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:823:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "95:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "141:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "150:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "158:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "143:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "143:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "143:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "116:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "125:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "112:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "112:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "137:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "108:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "108:32:29" - }, - "nodeType": "YulIf", - "src": "105:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "176:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "192:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "186:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "186:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "176:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "61:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "72:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "84:6:29", - "type": "" - } - ], - "src": "14:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "314:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "324:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "336:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "347:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "332:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "332:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "324:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "366:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "377:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "359:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "359:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "359:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "283:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "294:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "305:4:29", - "type": "" - } - ], - "src": "213:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "441:74:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "464:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "466:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "466:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "466:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "461:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "454:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "454:9:29" - }, - "nodeType": "YulIf", - "src": "451:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "495:14:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "504:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "507:1:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "500:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "500:9:29" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "495:1:29" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "426:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "429:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "435:1:29", - "type": "" - } - ], - "src": "395:120:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "558:74:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "581:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "583:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "583:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "583:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "578:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "571:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "571:9:29" - }, - "nodeType": "YulIf", - "src": "568:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "612:14:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "621:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "624:1:29" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "617:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "617:9:29" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "612:1:29" - } - ] - } - ] - }, - "name": "mod_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "543:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "546:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "552:1:29", - "type": "" - } - ], - "src": "520:112:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "669:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "686:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "689:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "679:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "679:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "679:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "783:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "786:4:29", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "776:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "776:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "776:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "807:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "810:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "800:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "800:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "800:15:29" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "637:184:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function panic_error_0x12()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 102 - }, - { - "length": 20, - "start": 226 - }, - { - "length": 20, - "start": 372 - }, - { - "length": 20, - "start": 514 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80631865c57d1461003b578063757991a814610059575b600080fd5b610043610061565b60405161005091906102a3565b60405180910390f35b6100436101fe565b60008073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100a857600080fd5b505af41580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e0919061028b565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561012457600080fd5b505af4158015610138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015c919061028b565b61016691906102ac565b61017090436102ac565b905073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101b657600080fd5b505af41580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee919061028b565b6101f890826102c0565b91505090565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561024457600080fd5b505af4158015610258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027c919061028b565b61028690436102ac565b905090565b60006020828403121561029c578081fd5b5051919050565b90815260200190565b6000826102bb576102bb6102d4565b500490565b6000826102cf576102cf6102d4565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea264697066735822122088362cf02b1c548688eb624d977dece4788e6d603b42f08883f403ee1437eab464736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1865C57D EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x757991A8 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x2A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x43 PUSH2 0x1FE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x0 PUSH4 0xF4F29C5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x124 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x138 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x166 SWAP2 SWAP1 PUSH2 0x2AC JUMP JUMPDEST PUSH2 0x170 SWAP1 NUMBER PUSH2 0x2AC JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xF4F29C5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1CA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x1F8 SWAP1 DUP3 PUSH2 0x2C0 JUMP JUMPDEST SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x258 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x27C SWAP2 SWAP1 PUSH2 0x28B JUMP JUMPDEST PUSH2 0x286 SWAP1 NUMBER PUSH2 0x2AC JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29C JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2BB JUMPI PUSH2 0x2BB PUSH2 0x2D4 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2CF JUMPI PUSH2 0x2CF PUSH2 0x2D4 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP9 CALLDATASIZE 0x2C CREATE 0x2B SHR SLOAD DUP7 DUP9 0xEB PUSH3 0x4D977D 0xEC 0xE4 PUSH25 0x8E6D603B42F08883F403EE1437EAB464736F6C634300080000 CALLER ", - "sourceMap": "97:347:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;247:195;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;126:115;;;:::i;247:195::-;290:7;309:13;364:9;:19;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;340:9;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;;;:::i;:::-;326:60;;:12;:60;:::i;:::-;309:78;;412:9;:19;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;405:29;;:5;:29;:::i;:::-;397:38;;;247:195;:::o;126:115::-;169:7;209:9;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;195:38;;:12;:38;:::i;:::-;188:46;;126:115;:::o;14:194:29:-;;137:2;125:9;116:7;112:23;108:32;105:2;;;158:6;150;143:22;105:2;-1:-1:-1;186:16:29;;95:113;-1:-1:-1;95:113:29:o;213:177::-;359:25;;;347:2;332:18;;314:76::o;395:120::-;;461:1;451:2;;466:18;;:::i;:::-;-1:-1:-1;500:9:29;;441:74::o;520:112::-;;578:1;568:2;;583:18;;:::i;:::-;-1:-1:-1;617:9:29;;558:74::o;637:184::-;689:77;686:1;679:88;786:4;783:1;776:15;810:4;807:1;800:15" - }, - "methodIdentifiers": { - "getEpoch()": "757991a8", - "getState()": "1865c57d" - } - } - } - }, - "contracts/Core/VoteManager.sol": { - "VoteManager": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Committed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Revealed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "blockManager", - "outputs": [ - { - "internalType": "contract IBlockManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - } - ], - "name": "commit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "commitments", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "getCommitment", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getVote", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "internalType": "struct Structs.Vote", - "name": "vote", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getVoteWeight", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "stateManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "blockManagerAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "root", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes32[][]", - "name": "proofs", - "type": "bytes32[][]" - }, - { - "internalType": "bytes32", - "name": "secret", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "stakerAddress", - "type": "address" - } - ], - "name": "reveal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeManager", - "outputs": [ - { - "internalType": "contract IStakeManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "voteWeights", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "votes", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1836 - }, - { - "length": 20, - "start": 3073 - }, - { - "length": 20, - "start": 4547 - }, - { - "length": 20, - "start": 5683 - } - ] - } - }, - "object": "60806040523480156200001157600080fd5b506200001f60003362000025565b620000f1565b62000031828262000035565b5050565b620000418282620000c2565b620000315760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556200007e620000ed565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b6123fb80620001016000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c80638fd5ff00116100d8578063c0c53b8b1161008c578063d9169b3211610066578063d9169b321461031c578063f2f0387714610324578063f322bd7d146102b557610182565b8063c0c53b8b146102e3578063d13e2e60146102f6578063d547741f1461030957610182565b80639c66556f116100bd5780639c66556f146102b5578063a217fddf146102c8578063a6a145d9146102d057610182565b80638fd5ff001461028f57806391d14854146102a257610182565b80632f2ff15d1161013a5780637542ff95116101145780637542ff95146102545780638a757ecc1461025c5780638ce7ff4a1461026f57610182565b80632f2ff15d1461021b57806336568abe1461022e5780637164f0d61461024157610182565b8063248a9ca31161016b578063248a9ca3146101c5578063283e2905146101e55780632e716fb11461020657610182565b806301ffc9a714610187578063125f68f1146101b0575b600080fd5b61019a610195366004611a94565b610337565b6040516101a79190611e23565b60405180910390f35b6101c36101be366004611cb1565b610395565b005b6101d86101d3366004611a4d565b610cc8565b6040516101a79190611df0565b6101f86101f3366004611d96565b610cde565b6040516101a7929190611de2565b61020e610d08565b6040516101a79190611e0f565b6101c3610229366004611a65565b610d17565b6101c361023c366004611a65565b610d55565b6101d861024f366004611c90565b610d97565b61020e610db4565b6101d861026a366004611c90565b610dc3565b61028261027d366004611d96565b610de0565b6040516101a79190612234565b6101d861029d366004611d96565b610e26565b61019a6102b0366004611a65565b610e49565b6101d86102c3366004611d96565b610e74565b6101d8610e98565b6101d86102de366004611c90565b610e9d565b6101c36102f1366004611a03565b610eba565b6101d8610304366004611c90565b610fb0565b6101c3610317366004611a65565b610fcd565b61020e610ff5565b6101c3610332366004611c90565b611004565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061038d575061038d82611694565b90505b919050565b60005460ff166103c05760405162461bcd60e51b81526004016103b79061208f565b60405180910390fd5b60075460408051630eaf323560e31b8152905188926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561040457600080fd5b505afa158015610418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043c9190611c78565b811461045a5760405162461bcd60e51b81526004016103b7906120c6565b600654604051636022a48560e01b81526000916001600160a01b031690636022a4859061048b908690600401611e0f565b60206040518083038186803b1580156104a357600080fd5b505afa1580156104b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104db9190611c78565b9050600081116104fd5760405162461bcd60e51b81526004016103b790611ffb565b6006546040516371e4cc7f60e11b81526000916001600160a01b03169063e3c998fe9061052e908590600401611df0565b6101006040518083038186803b15801561054757600080fd5b505afa15801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f9190611be2565b60008a81526002602090815260408083208684529091529020549091506105b85760405162461bcd60e51b81526004016103b7906120fd565b60008981526002602090815260408083208584528252918290205491516105e5918c918c918a9101611df9565b60405160208183030381529060405280519060200120146106185760405162461bcd60e51b81526004016103b790611e8b565b336001600160a01b0385161415610afe5773__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561066d57600080fd5b505af4158015610681573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a59190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f657600080fd5b505afa15801561070a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072e9190611c78565b1461074b5760405162461bcd60e51b81526004016103b790611f30565b600081604001511161076f5760405162461bcd60e51b81526004016103b790611ec2565b60005b875181101561099e576107fa87828151811061079e57634e487b7160e01b600052603260045260246000fd5b60200260200101518a8a84815181106107c757634e487b7160e01b600052603260045260246000fd5b60200260200101516040516020016107df9190611df0565b604051602081830303815290604052805190602001206116de565b6108165760405162461bcd60e51b81526004016103b790611ef9565b604051806040016040528089838151811061084157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101518252604080860180519383019390935260008e81526003835281812088825283528181208682528352818120855181559483015160019095019490945591518d8452600582528284208585529091529082208a51919290918b90859081106108c557634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020546108e69190612337565b60008b815260056020908152604080832085845290915281208a519091908b908590811061092457634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020819055508160400151600460008c81526020019081526020016000206000838152602001908152602001600020546109729190612337565b60008b81526004602090815260408083208584529091529020558061099681612366565b915050610772565b506006546040517ffabb98900000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063fabb9890906109ea9085908d90600401611de2565b600060405180830381600087803b158015610a0457600080fd5b505af1158015610a18573d6000803e3d6000fd5b50505060008a81526002602090815260408083208684529091528082209190915560065490517f9864f70a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169150639864f70a90610a849085908d90600401611de2565b600060405180830381600087803b158015610a9e57600080fd5b505af1158015610ab2573d6000803e3d6000fd5b505050507f17f4759c403dfc3fa26ab75ce82d3d090a0bdbfe9977d8ee87445d6dd83c68a1898383604001518a42604051610af1959493929190612285565b60405180910390a1610cbd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b4257600080fd5b505af4158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a9190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bcb57600080fd5b505afa158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c78565b14610c205760405162461bcd60e51b81526004016103b790611fc4565b60008981526002602090815260408083208584529091528082209190915560065490517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630f91ce1990610c8a90859033908e9060040161224b565b600060405180830381600087803b158015610ca457600080fd5b505af1158015610cb8573d6000803e3d6000fd5b505050505b505050505050505050565b6000908152600160208190526040909120015490565b60036020908152600093845260408085208252928452828420905282529020805460019091015482565b6007546001600160a01b031681565b610d2b610d2383610cc8565b6102b0611799565b610d475760405162461bcd60e51b81526004016103b790611e2e565b610d51828261179d565b5050565b610d5d611799565b6001600160a01b0316816001600160a01b031614610d8d5760405162461bcd60e51b81526004016103b7906121a0565b610d518282611825565b600091825260026020908152604080842092845291905290205490565b6006546001600160a01b031681565b600460209081526000928352604080842090915290825290205481565b610de86118aa565b506000838152600360209081526040808320858452825280832084845282529182902082518084019093528054835260010154908201529392505050565b600560209081526000938452604080852082529284528284209052825290205481565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60009283526005602090815260408085209385529281528284209184525290205490565b600081565b600091825260046020908152604080842092845291905290205490565b600054610100900460ff1680610ed3575060005460ff16155b610eef5760405162461bcd60e51b81526004016103b790612032565b600054610100900460ff16158015610f1a576000805460ff1961ff0019909116610100171660011790555b6000610f268133610e49565b610f425760405162461bcd60e51b81526004016103b790612132565b50600680546001600160a01b038087167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556007805486841690831617905560088054928516929091169190911790558015610faa576000805461ff00191690555b50505050565b600260209081526000928352604080842090915290825290205481565b610fd9610d2383610cc8565b610d8d5760405162461bcd60e51b81526004016103b790611f67565b6008546001600160a01b031681565b60005460ff166110265760405162461bcd60e51b81526004016103b79061208f565b60075460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a29190611c78565b81146110c05760405162461bcd60e51b81526004016103b7906120c6565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561110457600080fd5b505af4158015611118573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113c9190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118d57600080fd5b505afa1580156111a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c59190611c78565b81146111e35760405162461bcd60e51b81526004016103b790612169565b600654604051636022a48560e01b81526000916001600160a01b031690636022a48590611214903390600401611e0f565b60206040518083038186803b15801561122c57600080fd5b505afa158015611240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112649190611c78565b60008681526002602090815260408083208484529091529020549091501561129e5760405162461bcd60e51b81526004016103b7906121fd565b6006546040516371e4cc7f60e11b81526000916001600160a01b03169063e3c998fe906112cf908590600401611df0565b6101006040518083038186803b1580156112e857600080fd5b505afa1580156112fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113209190611be2565b6008549091506001600160a01b03166304c0756961133f60018961234f565b6040518263ffffffff1660e01b815260040161135b9190611df0565b60006040518083038186803b15801561137357600080fd5b505afa158015611387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113af9190810190611adb565b5115801561144557506008546000906001600160a01b031663e38c7c426113d760018a61234f565b6040518263ffffffff1660e01b81526004016113f39190611df0565b60206040518083038186803b15801561140b57600080fd5b505afa15801561141f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114439190611c78565b115b156114b357600860009054906101000a90046001600160a01b03166001600160a01b0316639b87f6446040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561149a57600080fd5b505af11580156114ae573d6000803e3d6000fd5b505050505b6006546040517f54eae15e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906354eae15e906114fe9085908a90600401611de2565b600060405180830381600087803b15801561151857600080fd5b505af115801561152c573d6000803e3d6000fd5b5050505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157457600080fd5b505af4158015611588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ac9190611c78565b81604001511061168c5760008681526002602090815260408083208584529091529081902086905560065490517f188dc83b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063188dc83b9061161c908590600401611df0565b600060405180830381600087803b15801561163657600080fd5b505af115801561164a573d6000803e3d6000fd5b505050507f6ad04b07dbe80ee3971460ebc13808fb6dd0fa67fbf7d7ebc4de85811d2c992886838742604051611683949392919061226a565b60405180910390a15b505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600081815b855181101561178e57600086828151811061170e57634e487b7160e01b600052603260045260246000fd5b6020026020010151905080831161174f578281604051602001611732929190611de2565b60405160208183030381529060405280519060200120925061177b565b8083604051602001611762929190611de2565b6040516020818303038152906040528051906020012092505b508061178681612366565b9150506116e3565b509092149392505050565b3390565b6117a78282610e49565b610d515760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556117e1611799565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61182f8282610e49565b15610d515760008281526001602090815260408083206001600160a01b03851684529091529020805460ff19169055611866611799565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806040016040528060008152602001600081525090565b8035610390816123ad565b8051610390816123ad565b600082601f8301126118ea578081fd5b813560206118ff6118fa83612313565b6122e9565b82815281810190858301855b8581101561198c578135880189603f820112611925578788fd5b8581013560406119376118fa83612313565b828152888101908483018a8502860184018f1015611953578c8dfd5b8c95505b84861015611975578035835260019590950194918a01918a01611957565b50885250505093850193509084019060010161190b565b5090979650505050505050565b600082601f8301126119a9578081fd5b815160206119b96118fa83612313565b82815281810190858301838502870184018810156119d5578586fd5b855b8581101561198c578151845292840192908401906001016119d7565b8051801515811461039057600080fd5b600080600060608486031215611a17578283fd5b8335611a22816123ad565b92506020840135611a32816123ad565b91506040840135611a42816123ad565b809150509250925092565b600060208284031215611a5e578081fd5b5035919050565b60008060408385031215611a77578182fd5b823591506020830135611a89816123ad565b809150509250929050565b600060208284031215611aa5578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611ad4578182fd5b9392505050565b600060208284031215611aec578081fd5b815167ffffffffffffffff80821115611b03578283fd5b8184019150610100808387031215611b19578384fd5b611b22816122e9565b905082518152602083015182811115611b39578485fd5b611b4587828601611999565b602083015250604083015182811115611b5c578485fd5b611b6887828601611999565b604083015250606083015182811115611b7f578485fd5b611b8b87828601611999565b606083015250608083015182811115611ba2578485fd5b611bae87828601611999565b60808301525060a083015160a082015260c083015160c0820152611bd460e084016119f3565b60e082015295945050505050565b6000610100808385031215611bf5578182fd5b6040519081019067ffffffffffffffff82118183101715611c1857611c18612397565b8160405283518152611c2c602085016118cf565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600060208284031215611c89578081fd5b5051919050565b60008060408385031215611ca2578182fd5b50508035926020909101359150565b60008060008060008060c08789031215611cc9578384fd5b863595506020808801359550604088013567ffffffffffffffff80821115611cef578687fd5b818a0191508a601f830112611d02578687fd5b8135611d106118fa82612313565b81815284810190848601868402860187018f1015611d2c578a8bfd5b8a95505b83861015611d4e578035835260019590950194918601918601611d30565b509850505060608a0135925080831115611d66578485fd5b5050611d7489828a016118da565b93505060808701359150611d8a60a088016118c4565b90509295509295509295565b600080600060608486031215611daa578081fd5b505081359360208301359350604090920135919050565b600060208284031215611dd2578081fd5b815160ff81168114611ad4578182fd5b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b6001600160a01b0391909116815260200190565b901515815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526016908201527f696e636f7272656374207365637265742f76616c756500000000000000000000604082015260600190565b60208082526011908201527f6e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526014908201527f696e76616c6964206d65726b6c652070726f6f66000000000000000000000000604082015260600190565b60208082526010908201527f4e6f742072657665616c20737461746500000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526010908201527f4e6f7420636f6d6d697420737461746500000000000000000000000000000000604082015260600190565b6020808252601d908201527f537472756374732e5374616b657220646f6573206e6f74206578697374000000604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252818101527f6e6f7420636f6d6d69746564206f7220616c72656164792072657665616c6564604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526010908201527f616c726561647920636f6d6d6974656400000000000000000000000000000000604082015260600190565b815181526020918201519181019190915260400190565b9283526001600160a01b03919091166020830152604082015260600190565b93845260208401929092526040830152606082015260800190565b600060a082018783526020878185015286604085015260a0606085015281865180845260c0860191508288019350845b818110156122d1578451835293830193918301916001016122b5565b50508093505050508260808301529695505050505050565b60405181810167ffffffffffffffff8111828210171561230b5761230b612397565b604052919050565b600067ffffffffffffffff82111561232d5761232d612397565b5060209081020190565b6000821982111561234a5761234a612381565b500190565b60008282101561236157612361612381565b500390565b600060001982141561237a5761237a612381565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146123c257600080fd5b5056fea26469706673582212204d565dfa1b4e01de152c151ba2ae1be08e4d0e893e19c9fa3b50d37272538c2764736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x1F PUSH1 0x0 CALLER PUSH3 0x25 JUMP JUMPDEST PUSH3 0xF1 JUMP JUMPDEST PUSH3 0x31 DUP3 DUP3 PUSH3 0x35 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0x41 DUP3 DUP3 PUSH3 0xC2 JUMP JUMPDEST PUSH3 0x31 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH3 0x7E PUSH3 0xED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x23FB DUP1 PUSH3 0x101 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x182 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8FD5FF00 GT PUSH2 0xD8 JUMPI DUP1 PUSH4 0xC0C53B8B GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xD9169B32 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD9169B32 EQ PUSH2 0x31C JUMPI DUP1 PUSH4 0xF2F03877 EQ PUSH2 0x324 JUMPI DUP1 PUSH4 0xF322BD7D EQ PUSH2 0x2B5 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0xC0C53B8B EQ PUSH2 0x2E3 JUMPI DUP1 PUSH4 0xD13E2E60 EQ PUSH2 0x2F6 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x309 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x9C66556F GT PUSH2 0xBD JUMPI DUP1 PUSH4 0x9C66556F EQ PUSH2 0x2B5 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2C8 JUMPI DUP1 PUSH4 0xA6A145D9 EQ PUSH2 0x2D0 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x8FD5FF00 EQ PUSH2 0x28F JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2A2 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x13A JUMPI DUP1 PUSH4 0x7542FF95 GT PUSH2 0x114 JUMPI DUP1 PUSH4 0x7542FF95 EQ PUSH2 0x254 JUMPI DUP1 PUSH4 0x8A757ECC EQ PUSH2 0x25C JUMPI DUP1 PUSH4 0x8CE7FF4A EQ PUSH2 0x26F JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x21B JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x22E JUMPI DUP1 PUSH4 0x7164F0D6 EQ PUSH2 0x241 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x248A9CA3 GT PUSH2 0x16B JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x1C5 JUMPI DUP1 PUSH4 0x283E2905 EQ PUSH2 0x1E5 JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x206 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x187 JUMPI DUP1 PUSH4 0x125F68F1 EQ PUSH2 0x1B0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x19A PUSH2 0x195 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x337 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x1E23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C3 PUSH2 0x1BE CALLDATASIZE PUSH1 0x4 PUSH2 0x1CB1 JUMP JUMPDEST PUSH2 0x395 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D8 PUSH2 0x1D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A4D JUMP JUMPDEST PUSH2 0xCC8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x1DF0 JUMP JUMPDEST PUSH2 0x1F8 PUSH2 0x1F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D96 JUMP JUMPDEST PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP3 SWAP2 SWAP1 PUSH2 0x1DE2 JUMP JUMPDEST PUSH2 0x20E PUSH2 0xD08 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x1E0F JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0x229 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A65 JUMP JUMPDEST PUSH2 0xD17 JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0x23C CALLDATASIZE PUSH1 0x4 PUSH2 0x1A65 JUMP JUMPDEST PUSH2 0xD55 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x24F CALLDATASIZE PUSH1 0x4 PUSH2 0x1C90 JUMP JUMPDEST PUSH2 0xD97 JUMP JUMPDEST PUSH2 0x20E PUSH2 0xDB4 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x1C90 JUMP JUMPDEST PUSH2 0xDC3 JUMP JUMPDEST PUSH2 0x282 PUSH2 0x27D CALLDATASIZE PUSH1 0x4 PUSH2 0x1D96 JUMP JUMPDEST PUSH2 0xDE0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x2234 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x29D CALLDATASIZE PUSH1 0x4 PUSH2 0x1D96 JUMP JUMPDEST PUSH2 0xE26 JUMP JUMPDEST PUSH2 0x19A PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A65 JUMP JUMPDEST PUSH2 0xE49 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x2C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D96 JUMP JUMPDEST PUSH2 0xE74 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0xE98 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x2DE CALLDATASIZE PUSH1 0x4 PUSH2 0x1C90 JUMP JUMPDEST PUSH2 0xE9D JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0x2F1 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A03 JUMP JUMPDEST PUSH2 0xEBA JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x1C90 JUMP JUMPDEST PUSH2 0xFB0 JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0x317 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A65 JUMP JUMPDEST PUSH2 0xFCD JUMP JUMPDEST PUSH2 0x20E PUSH2 0xFF5 JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0x332 CALLDATASIZE PUSH1 0x4 PUSH2 0x1C90 JUMP JUMPDEST PUSH2 0x1004 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x38D JUMPI POP PUSH2 0x38D DUP3 PUSH2 0x1694 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x3C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x208F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP9 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x404 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x418 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x43C SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST DUP2 EQ PUSH2 0x45A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x20C6 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0x6022A485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6022A485 SWAP1 PUSH2 0x48B SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x1E0F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4DB SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x4FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1FFB JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0x52E SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DF0 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x547 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x55B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x57F SWAP2 SWAP1 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x5B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x20FD JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SLOAD SWAP2 MLOAD PUSH2 0x5E5 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP11 SWAP2 ADD PUSH2 0x1DF9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x618 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1E8B JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EQ ISZERO PUSH2 0xAFE JUMPI PUSH20 0x0 PUSH4 0xA475B5DD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x66D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x681 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6A5 SWAP2 SWAP1 PUSH2 0x1DC1 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x70A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x72E SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST EQ PUSH2 0x74B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1F30 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x40 ADD MLOAD GT PUSH2 0x76F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1EC2 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0x99E JUMPI PUSH2 0x7FA DUP8 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x79E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP11 DUP11 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x7C7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7DF SWAP2 SWAP1 PUSH2 0x1DF0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x16DE JUMP JUMPDEST PUSH2 0x816 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1EF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP10 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x841 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD DUP3 MSTORE PUSH1 0x40 DUP1 DUP7 ADD DUP1 MLOAD SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x0 DUP15 DUP2 MSTORE PUSH1 0x3 DUP4 MSTORE DUP2 DUP2 KECCAK256 DUP9 DUP3 MSTORE DUP4 MSTORE DUP2 DUP2 KECCAK256 DUP7 DUP3 MSTORE DUP4 MSTORE DUP2 DUP2 KECCAK256 DUP6 MLOAD DUP2 SSTORE SWAP5 DUP4 ADD MLOAD PUSH1 0x1 SWAP1 SWAP6 ADD SWAP5 SWAP1 SWAP5 SSTORE SWAP2 MLOAD DUP14 DUP5 MSTORE PUSH1 0x5 DUP3 MSTORE DUP3 DUP5 KECCAK256 DUP6 DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP3 KECCAK256 DUP11 MLOAD SWAP2 SWAP3 SWAP1 SWAP2 DUP12 SWAP1 DUP6 SWAP1 DUP2 LT PUSH2 0x8C5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x8E6 SWAP2 SWAP1 PUSH2 0x2337 JUMP JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP11 MLOAD SWAP1 SWAP2 SWAP1 DUP12 SWAP1 DUP6 SWAP1 DUP2 LT PUSH2 0x924 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x40 ADD MLOAD PUSH1 0x4 PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x972 SWAP2 SWAP1 PUSH2 0x2337 JUMP JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE DUP1 PUSH2 0x996 DUP2 PUSH2 0x2366 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x772 JUMP JUMPDEST POP PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH32 0xFABB989000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xFABB9890 SWAP1 PUSH2 0x9EA SWAP1 DUP6 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA18 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x6 SLOAD SWAP1 MLOAD PUSH32 0x9864F70A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 POP PUSH4 0x9864F70A SWAP1 PUSH2 0xA84 SWAP1 DUP6 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xAB2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x17F4759C403DFC3FA26AB75CE82D3D090A0BDBFE9977D8EE87445D6DD83C68A1 DUP10 DUP4 DUP4 PUSH1 0x40 ADD MLOAD DUP11 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0xAF1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2285 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0xCBD JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xB56 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB7A SWAP2 SWAP1 PUSH2 0x1DC1 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xBCB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBDF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC03 SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST EQ PUSH2 0xC20 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1FC4 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x6 SLOAD SWAP1 MLOAD PUSH32 0xF91CE1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xF91CE19 SWAP1 PUSH2 0xC8A SWAP1 DUP6 SWAP1 CALLER SWAP1 DUP15 SWAP1 PUSH1 0x4 ADD PUSH2 0x224B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xCA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCB8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP3 MSTORE SWAP3 DUP5 MSTORE DUP3 DUP5 KECCAK256 SWAP1 MSTORE DUP3 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0xD2B PUSH2 0xD23 DUP4 PUSH2 0xCC8 JUMP JUMPDEST PUSH2 0x2B0 PUSH2 0x1799 JUMP JUMPDEST PUSH2 0xD47 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1E2E JUMP JUMPDEST PUSH2 0xD51 DUP3 DUP3 PUSH2 0x179D JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xD5D PUSH2 0x1799 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xD8D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x21A0 JUMP JUMPDEST PUSH2 0xD51 DUP3 DUP3 PUSH2 0x1825 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP3 DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xDE8 PUSH2 0x18AA JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD DUP1 DUP5 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 ADD SLOAD SWAP1 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP3 MSTORE SWAP3 DUP5 MSTORE DUP3 DUP5 KECCAK256 SWAP1 MSTORE DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP4 DUP6 MSTORE SWAP3 DUP2 MSTORE DUP3 DUP5 KECCAK256 SWAP2 DUP5 MSTORE MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP3 DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xED3 JUMPI POP PUSH1 0x0 SLOAD PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0xEEF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x2032 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO DUP1 ISZERO PUSH2 0xF1A JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT PUSH2 0xFF00 NOT SWAP1 SWAP2 AND PUSH2 0x100 OR AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 PUSH2 0xF26 DUP2 CALLER PUSH2 0xE49 JUMP JUMPDEST PUSH2 0xF42 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x2132 JUMP JUMPDEST POP PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP8 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x7 DUP1 SLOAD DUP7 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x8 DUP1 SLOAD SWAP3 DUP6 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 ISZERO PUSH2 0xFAA JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND SWAP1 SSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xFD9 PUSH2 0xD23 DUP4 PUSH2 0xCC8 JUMP JUMPDEST PUSH2 0xD8D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1F67 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1026 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x208F JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x106A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x107E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10A2 SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST DUP2 EQ PUSH2 0x10C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x20C6 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1104 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1118 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x113C SWAP2 SWAP1 PUSH2 0x1DC1 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x118D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11A1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11C5 SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST DUP2 EQ PUSH2 0x11E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x2169 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0x6022A485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6022A485 SWAP1 PUSH2 0x1214 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x1E0F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x122C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1240 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1264 SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x129E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x21FD JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0x12CF SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DF0 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12FC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1320 SWAP2 SWAP1 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x8 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4C07569 PUSH2 0x133F PUSH1 0x1 DUP10 PUSH2 0x234F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x135B SWAP2 SWAP1 PUSH2 0x1DF0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1387 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x13AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1ADB JUMP JUMPDEST MLOAD ISZERO DUP1 ISZERO PUSH2 0x1445 JUMPI POP PUSH1 0x8 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE38C7C42 PUSH2 0x13D7 PUSH1 0x1 DUP11 PUSH2 0x234F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13F3 SWAP2 SWAP1 PUSH2 0x1DF0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x140B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1443 SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x14B3 JUMPI PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9B87F644 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x149A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x14AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH32 0x54EAE15E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x54EAE15E SWAP1 PUSH2 0x14FE SWAP1 DUP6 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1518 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x152C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1574 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1588 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15AC SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST DUP2 PUSH1 0x40 ADD MLOAD LT PUSH2 0x168C JUMPI PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP7 SWAP1 SSTORE PUSH1 0x6 SLOAD SWAP1 MLOAD PUSH32 0x188DC83B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x188DC83B SWAP1 PUSH2 0x161C SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DF0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1636 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x164A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x6AD04B07DBE80EE3971460EBC13808FB6DD0FA67FBF7D7EBC4DE85811D2C9928 DUP7 DUP4 DUP8 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x1683 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x226A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x178E JUMPI PUSH1 0x0 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x170E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP1 DUP4 GT PUSH2 0x174F JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1732 SWAP3 SWAP2 SWAP1 PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP PUSH2 0x177B JUMP JUMPDEST DUP1 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1762 SWAP3 SWAP2 SWAP1 PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP JUMPDEST POP DUP1 PUSH2 0x1786 DUP2 PUSH2 0x2366 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x16E3 JUMP JUMPDEST POP SWAP1 SWAP3 EQ SWAP4 SWAP3 POP POP POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x17A7 DUP3 DUP3 PUSH2 0xE49 JUMP JUMPDEST PUSH2 0xD51 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x17E1 PUSH2 0x1799 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x182F DUP3 DUP3 PUSH2 0xE49 JUMP JUMPDEST ISZERO PUSH2 0xD51 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x1866 PUSH2 0x1799 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x390 DUP2 PUSH2 0x23AD JUMP JUMPDEST DUP1 MLOAD PUSH2 0x390 DUP2 PUSH2 0x23AD JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x18EA JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x18FF PUSH2 0x18FA DUP4 PUSH2 0x2313 JUMP JUMPDEST PUSH2 0x22E9 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP2 DUP2 ADD SWAP1 DUP6 DUP4 ADD DUP6 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x198C JUMPI DUP2 CALLDATALOAD DUP9 ADD DUP10 PUSH1 0x3F DUP3 ADD SLT PUSH2 0x1925 JUMPI DUP8 DUP9 REVERT JUMPDEST DUP6 DUP2 ADD CALLDATALOAD PUSH1 0x40 PUSH2 0x1937 PUSH2 0x18FA DUP4 PUSH2 0x2313 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP9 DUP2 ADD SWAP1 DUP5 DUP4 ADD DUP11 DUP6 MUL DUP7 ADD DUP5 ADD DUP16 LT ISZERO PUSH2 0x1953 JUMPI DUP13 DUP14 REVERT JUMPDEST DUP13 SWAP6 POP JUMPDEST DUP5 DUP7 LT ISZERO PUSH2 0x1975 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP2 DUP11 ADD SWAP2 DUP11 ADD PUSH2 0x1957 JUMP JUMPDEST POP DUP9 MSTORE POP POP POP SWAP4 DUP6 ADD SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x190B JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x19A9 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x19B9 PUSH2 0x18FA DUP4 PUSH2 0x2313 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP2 DUP2 ADD SWAP1 DUP6 DUP4 ADD DUP4 DUP6 MUL DUP8 ADD DUP5 ADD DUP9 LT ISZERO PUSH2 0x19D5 JUMPI DUP6 DUP7 REVERT JUMPDEST DUP6 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x198C JUMPI DUP2 MLOAD DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x19D7 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x390 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1A17 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x1A22 DUP2 PUSH2 0x23AD JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x1A32 DUP2 PUSH2 0x23AD JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x1A42 DUP2 PUSH2 0x23AD JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A5E JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1A77 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x1A89 DUP2 PUSH2 0x23AD JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AA5 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x1AD4 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AEC JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1B03 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP PUSH2 0x100 DUP1 DUP4 DUP8 SUB SLT ISZERO PUSH2 0x1B19 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x1B22 DUP2 PUSH2 0x22E9 JUMP JUMPDEST SWAP1 POP DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1B39 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1B45 DUP8 DUP3 DUP7 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1B5C JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1B68 DUP8 DUP3 DUP7 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1B7F JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1B8B DUP8 DUP3 DUP7 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1BA2 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1BAE DUP8 DUP3 DUP7 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x1BD4 PUSH1 0xE0 DUP5 ADD PUSH2 0x19F3 JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1BF5 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1C18 JUMPI PUSH2 0x1C18 PUSH2 0x2397 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 MLOAD DUP2 MSTORE PUSH2 0x1C2C PUSH1 0x20 DUP6 ADD PUSH2 0x18CF JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP5 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0xE0 DUP3 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C89 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CA2 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x1CC9 JUMPI DUP4 DUP5 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 DUP1 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1CEF JUMPI DUP7 DUP8 REVERT JUMPDEST DUP2 DUP11 ADD SWAP2 POP DUP11 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1D02 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D10 PUSH2 0x18FA DUP3 PUSH2 0x2313 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 DUP2 ADD SWAP1 DUP5 DUP7 ADD DUP7 DUP5 MUL DUP7 ADD DUP8 ADD DUP16 LT ISZERO PUSH2 0x1D2C JUMPI DUP11 DUP12 REVERT JUMPDEST DUP11 SWAP6 POP JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x1D4E JUMPI DUP1 CALLDATALOAD DUP4 MSTORE PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP2 DUP7 ADD SWAP2 DUP7 ADD PUSH2 0x1D30 JUMP JUMPDEST POP SWAP9 POP POP POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x1D66 JUMPI DUP5 DUP6 REVERT JUMPDEST POP POP PUSH2 0x1D74 DUP10 DUP3 DUP11 ADD PUSH2 0x18DA JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH2 0x1D8A PUSH1 0xA0 DUP9 ADD PUSH2 0x18C4 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1DAA JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DD2 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1AD4 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x16 SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F7272656374207365637265742F76616C756500000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x6E6F6E706F736974697665207374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x696E76616C6964206D65726B6C652070726F6F66000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F742072657665616C20737461746500000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420636F6D6D697420737461746500000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1D SWAP1 DUP3 ADD MSTORE PUSH32 0x537472756374732E5374616B657220646F6573206E6F74206578697374000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x647920696E697469616C697A6564000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1E SWAP1 DUP3 ADD MSTORE PUSH32 0x436F6E74726163742073686F756C6420626520696E697469616C697A65640000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x6E6F7420636F6D6D69746564206F7220616C72656164792072657665616C6564 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x616C726561647920636F6D6D6974656400000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 ADD MLOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD DUP8 DUP4 MSTORE PUSH1 0x20 DUP8 DUP2 DUP6 ADD MSTORE DUP7 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x60 DUP6 ADD MSTORE DUP2 DUP7 MLOAD DUP1 DUP5 MSTORE PUSH1 0xC0 DUP7 ADD SWAP2 POP DUP3 DUP9 ADD SWAP4 POP DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x22D1 JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x22B5 JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x230B JUMPI PUSH2 0x230B PUSH2 0x2397 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x232D JUMPI PUSH2 0x232D PUSH2 0x2397 JUMP JUMPDEST POP PUSH1 0x20 SWAP1 DUP2 MUL ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x234A JUMPI PUSH2 0x234A PUSH2 0x2381 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x2361 JUMPI PUSH2 0x2361 PUSH2 0x2381 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x237A JUMPI PUSH2 0x237A PUSH2 0x2381 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x23C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4D JUMP 0x5D STATICCALL SHL 0x4E ADD 0xDE ISZERO 0x2C ISZERO SHL LOG2 0xAE SHL 0xE0 DUP15 0x4D 0xE DUP10 RETURNDATACOPY NOT 0xC9 STATICCALL EXTCODESIZE POP 0xD3 PUSH19 0x72538C2764736F6C6343000800003300000000 ", - "sourceMap": "373:5107:12:-:0;;;;;;;;;;;;-1:-1:-1;216:42:7;2408:4:0;247:10:7;216;:42::i;:::-;373:5107:12;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;6952:224::-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:12;;;;7096:4;7064:12;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;;;;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;3867:137::-;3945:4;3968:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;586:96:3:-;665:10;586:96;:::o;373:5107:12:-;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:21233:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "65:87:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "75:29:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "97:6:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "84:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "84:20:29" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "75:5:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "140:5:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "113:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "113:33:29" - }, - "nodeType": "YulExpressionStatement", - "src": "113:33:29" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "44:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "55:5:29", - "type": "" - } - ], - "src": "14:138:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "219:80:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "229:22:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "244:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "238:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "238:13:29" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "229:5:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "287:5:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "260:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "260:33:29" - }, - "nodeType": "YulExpressionStatement", - "src": "260:33:29" - } - ] - }, - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "198:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "209:5:29", - "type": "" - } - ], - "src": "157:142:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "388:1315:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "437:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "446:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "453:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "439:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "439:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "439:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "416:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "424:4:29", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "412:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "412:17:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "431:3:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "408:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "408:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "401:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "401:35:29" - }, - "nodeType": "YulIf", - "src": "398:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "470:30:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "493:6:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "480:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "480:20:29" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "474:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "509:14:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "519:4:29", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "513:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "532:90:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "618:2:29" - } - ], - "functionName": { - "name": "array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulIdentifier", - "src": "558:59:29" - }, - "nodeType": "YulFunctionCall", - "src": "558:63:29" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "543:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "543:79:29" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "536:3:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "631:16:29", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "644:3:29" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "635:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "663:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "668:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "656:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "656:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "656:15:29" - }, - { - "nodeType": "YulAssignment", - "src": "680:19:29", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "691:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "696:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "687:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "687:12:29" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "680:3:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "708:26:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "723:6:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "731:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "719:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "719:15:29" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "712:3:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "743:14:29", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "752:5:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "747:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "811:863:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "825:40:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "839:6:29" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "860:3:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "847:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "847:17:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "835:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "835:30:29" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "829:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "911:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "920:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "927:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "913:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "913:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "913:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "896:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "900:2:29", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "892:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "892:11:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "905:3:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "888:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "888:21:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "881:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "881:29:29" - }, - "nodeType": "YulIf", - "src": "878:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "948:35:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "975:2:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "979:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "971:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "971:11:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "958:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "958:25:29" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "952:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "996:12:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1006:2:29", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "_5", - "nodeType": "YulTypedName", - "src": "1000:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1021:92:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1109:2:29" - } - ], - "functionName": { - "name": "array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulIdentifier", - "src": "1049:59:29" - }, - "nodeType": "YulFunctionCall", - "src": "1049:63:29" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "1034:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "1034:79:29" - }, - "variables": [ - { - "name": "dst_2", - "nodeType": "YulTypedName", - "src": "1025:5:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1126:18:29", - "value": { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1139:5:29" - }, - "variables": [ - { - "name": "dst_3", - "nodeType": "YulTypedName", - "src": "1130:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1164:5:29" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1171:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1157:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1157:17:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1157:17:29" - }, - { - "nodeType": "YulAssignment", - "src": "1187:23:29", - "value": { - "arguments": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1200:5:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1207:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1196:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1196:14:29" - }, - "variableNames": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1187:5:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1223:24:29", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1240:2:29" - }, - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "1244:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1236:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1236:11:29" - }, - "variables": [ - { - "name": "src_1", - "nodeType": "YulTypedName", - "src": "1227:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1302:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1311:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1318:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1304:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1304:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1304:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1274:2:29" - }, - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1282:2:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1286:2:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "1278:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1278:11:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1270:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1270:20:29" - }, - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "1292:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1266:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1266:29:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1297:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1263:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1263:38:29" - }, - "nodeType": "YulIf", - "src": "1260:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1339:16:29", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1350:5:29" - }, - "variables": [ - { - "name": "i_1", - "nodeType": "YulTypedName", - "src": "1343:3:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1423:146:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1448:5:29" - }, - { - "arguments": [ - { - "name": "src_1", - "nodeType": "YulIdentifier", - "src": "1468:5:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1455:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1455:19:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1441:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1441:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1441:34:29" - }, - { - "nodeType": "YulAssignment", - "src": "1492:23:29", - "value": { - "arguments": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1505:5:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1512:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1501:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1501:14:29" - }, - "variableNames": [ - { - "name": "dst_2", - "nodeType": "YulIdentifier", - "src": "1492:5:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1532:23:29", - "value": { - "arguments": [ - { - "name": "src_1", - "nodeType": "YulIdentifier", - "src": "1545:5:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1552:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1541:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1541:14:29" - }, - "variableNames": [ - { - "name": "src_1", - "nodeType": "YulIdentifier", - "src": "1532:5:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i_1", - "nodeType": "YulIdentifier", - "src": "1379:3:29" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1384:2:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1376:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1376:11:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1388:22:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1390:18:29", - "value": { - "arguments": [ - { - "name": "i_1", - "nodeType": "YulIdentifier", - "src": "1401:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1406:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1397:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1397:11:29" - }, - "variableNames": [ - { - "name": "i_1", - "nodeType": "YulIdentifier", - "src": "1390:3:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1372:3:29", - "statements": [] - }, - "src": "1368:201:29" - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1589:3:29" - }, - { - "name": "dst_3", - "nodeType": "YulIdentifier", - "src": "1594:5:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1582:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1582:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1582:18:29" - }, - { - "nodeType": "YulAssignment", - "src": "1613:19:29", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1624:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1629:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1620:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1620:12:29" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1613:3:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1645:19:29", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1656:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1661:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1652:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1652:12:29" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1645:3:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "777:1:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "780:2:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "774:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "774:9:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "784:18:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "786:14:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "795:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "798:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "791:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "791:9:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "786:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "770:3:29", - "statements": [] - }, - "src": "766:908:29" - }, - { - "nodeType": "YulAssignment", - "src": "1683:14:29", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "1692:5:29" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1683:5:29" - } - ] - } - ] - }, - "name": "abi_decode_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "362:6:29", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "370:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "378:5:29", - "type": "" - } - ], - "src": "304:1399:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1789:635:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1838:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1847:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1854:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1840:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1840:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1840:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1817:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1825:4:29", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1813:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1813:17:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1832:3:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1809:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1809:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1802:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1802:35:29" - }, - "nodeType": "YulIf", - "src": "1799:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1871:23:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1887:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1881:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1881:13:29" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1875:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1903:14:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1913:4:29", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "1907:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1926:90:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2012:2:29" - } - ], - "functionName": { - "name": "array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulIdentifier", - "src": "1952:59:29" - }, - "nodeType": "YulFunctionCall", - "src": "1952:63:29" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "1937:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "1937:79:29" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "1930:3:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2025:16:29", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2038:3:29" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "2029:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2057:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2062:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2050:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2050:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2050:15:29" - }, - { - "nodeType": "YulAssignment", - "src": "2074:19:29", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2085:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2090:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2081:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2081:12:29" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2074:3:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2102:26:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2117:6:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2125:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2113:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2113:15:29" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "2106:3:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2183:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2192:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2199:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2185:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2185:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2185:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2151:6:29" - }, - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2163:2:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2167:2:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2159:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2159:11:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2147:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2147:24:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2173:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2143:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2143:33:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2178:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2140:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2140:42:29" - }, - "nodeType": "YulIf", - "src": "2137:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2216:14:29", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2225:5:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "2220:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2284:111:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2305:3:29" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2316:3:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2310:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "2310:10:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2298:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2298:23:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2298:23:29" - }, - { - "nodeType": "YulAssignment", - "src": "2334:19:29", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2345:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2350:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2341:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2341:12:29" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2334:3:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2366:19:29", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2377:3:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2382:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2373:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2373:12:29" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2366:3:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2250:1:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2253:2:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2247:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2247:9:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "2257:18:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2259:14:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2268:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2271:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2264:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2264:9:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2259:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "2243:3:29", - "statements": [] - }, - "src": "2239:156:29" - }, - { - "nodeType": "YulAssignment", - "src": "2404:14:29", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "2413:5:29" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2404:5:29" - } - ] - } - ] - }, - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1763:6:29", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1771:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "1779:5:29", - "type": "" - } - ], - "src": "1708:716:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2488:107:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2498:22:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2513:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2507:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "2507:13:29" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2498:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2573:16:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2582:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2585:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2575:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2575:12:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2575:12:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2542:5:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2563:5:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2556:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2556:13:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2549:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2549:21:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2539:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2539:32:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2532:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2532:40:29" - }, - "nodeType": "YulIf", - "src": "2529:2:29" - } - ] - }, - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2467:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2478:5:29", - "type": "" - } - ], - "src": "2429:166:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2704:441:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2750:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2759:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2767:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2752:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2752:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2752:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2725:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2734:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2721:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2721:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2746:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2717:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2717:32:29" - }, - "nodeType": "YulIf", - "src": "2714:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2785:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2811:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2798:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2798:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2789:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2857:5:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "2830:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "2830:33:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2830:33:29" - }, - { - "nodeType": "YulAssignment", - "src": "2872:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2882:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2872:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2896:47:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2928:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2939:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2924:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2924:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2911:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2911:32:29" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "2900:7:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "2979:7:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "2952:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "2952:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2952:35:29" - }, - { - "nodeType": "YulAssignment", - "src": "2996:17:29", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "3006:7:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2996:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3022:47:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3054:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3065:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3050:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3050:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3037:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "3037:32:29" - }, - "variables": [ - { - "name": "value_2", - "nodeType": "YulTypedName", - "src": "3026:7:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_2", - "nodeType": "YulIdentifier", - "src": "3105:7:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "3078:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "3078:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3078:35:29" - }, - { - "nodeType": "YulAssignment", - "src": "3122:17:29", - "value": { - "name": "value_2", - "nodeType": "YulIdentifier", - "src": "3132:7:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3122:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2654:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2665:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2677:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2685:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2693:6:29", - "type": "" - } - ], - "src": "2600:545:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3220:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3266:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3275:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3283:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3268:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3268:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3268:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3241:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3250:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3237:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3237:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3262:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3233:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3233:32:29" - }, - "nodeType": "YulIf", - "src": "3230:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "3301:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3324:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3311:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "3311:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3301:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3186:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3197:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3209:6:29", - "type": "" - } - ], - "src": "3150:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3432:240:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3478:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3487:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3495:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3480:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3480:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3480:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3453:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3462:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3449:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3449:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3474:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3445:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3445:32:29" - }, - "nodeType": "YulIf", - "src": "3442:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "3513:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3536:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3523:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "3523:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3513:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3555:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3585:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3596:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3581:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3581:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3568:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "3568:32:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3559:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3636:5:29" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "3609:26:29" - }, - "nodeType": "YulFunctionCall", - "src": "3609:33:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3609:33:29" - }, - { - "nodeType": "YulAssignment", - "src": "3651:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3661:5:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3651:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3390:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3401:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3413:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3421:6:29", - "type": "" - } - ], - "src": "3345:327:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3746:283:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3792:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3801:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3809:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3794:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3794:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3794:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3767:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3776:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3763:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3763:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3788:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3759:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3759:32:29" - }, - "nodeType": "YulIf", - "src": "3756:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3827:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3853:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3840:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "3840:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3831:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3973:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3982:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3990:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3975:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3975:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3975:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3885:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3896:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3903:66:29", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3892:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3892:78:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3882:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "3882:89:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3875:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3875:97:29" - }, - "nodeType": "YulIf", - "src": "3872:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "4008:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4018:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4008:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3712:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3723:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3735:6:29", - "type": "" - } - ], - "src": "3677:352:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4138:1434:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4184:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4193:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4201:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4186:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4186:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4186:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4159:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4168:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4155:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4155:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4180:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4151:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4151:32:29" - }, - "nodeType": "YulIf", - "src": "4148:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4219:30:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4239:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4233:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4233:16:29" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4223:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4258:28:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4268:18:29", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4262:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4313:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4322:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4330:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4315:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4315:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4315:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4301:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4309:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4298:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4298:14:29" - }, - "nodeType": "YulIf", - "src": "4295:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4348:32:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4362:9:29" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4373:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4358:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4358:22:29" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "4352:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4389:16:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4399:6:29", - "type": "", - "value": "0x0100" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "4393:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4443:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4452:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4460:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4445:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4445:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4445:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4425:7:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4434:2:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4421:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4421:16:29" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4439:2:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4417:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4417:25:29" - }, - "nodeType": "YulIf", - "src": "4414:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4478:31:29", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4506:2:29" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "4491:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "4491:18:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4482:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4525:5:29" - }, - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4538:2:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4532:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4532:9:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4518:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4518:24:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4518:24:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4551:34:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4577:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4581:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4573:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4573:11:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4567:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4567:18:29" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "4555:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4614:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4623:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4631:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4616:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4616:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4616:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "4600:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4610:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4597:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4597:16:29" - }, - "nodeType": "YulIf", - "src": "4594:2:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4660:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4667:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4656:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4656:14:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4722:2:29" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "4726:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4718:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4718:17:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4737:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4672:45:29" - }, - "nodeType": "YulFunctionCall", - "src": "4672:73:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4649:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4649:97:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4649:97:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4755:34:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4781:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4785:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4777:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4777:11:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4771:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4771:18:29" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "4759:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4818:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4827:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4835:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4820:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4820:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4820:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4804:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4814:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4801:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4801:16:29" - }, - "nodeType": "YulIf", - "src": "4798:2:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4864:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4871:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4860:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4860:14:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4926:2:29" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4930:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4922:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4922:17:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4941:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "4876:45:29" - }, - "nodeType": "YulFunctionCall", - "src": "4876:73:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4853:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4853:97:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4853:97:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4959:34:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4985:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4989:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4981:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4981:11:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4975:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4975:18:29" - }, - "variables": [ - { - "name": "offset_3", - "nodeType": "YulTypedName", - "src": "4963:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5022:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5031:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5039:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5024:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5024:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5024:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "5008:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5018:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5005:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5005:16:29" - }, - "nodeType": "YulIf", - "src": "5002:2:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5068:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5075:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5064:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5064:14:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5130:2:29" - }, - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "5134:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5126:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5126:17:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5145:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "5080:45:29" - }, - "nodeType": "YulFunctionCall", - "src": "5080:73:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5057:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5057:97:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5057:97:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5163:35:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5189:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5193:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5185:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5185:12:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5179:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "5179:19:29" - }, - "variables": [ - { - "name": "offset_4", - "nodeType": "YulTypedName", - "src": "5167:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5227:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5236:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5244:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5229:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5229:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5229:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_4", - "nodeType": "YulIdentifier", - "src": "5213:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5223:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5210:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5210:16:29" - }, - "nodeType": "YulIf", - "src": "5207:2:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5273:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5280:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5269:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5269:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5336:2:29" - }, - { - "name": "offset_4", - "nodeType": "YulIdentifier", - "src": "5340:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5332:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5332:17:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5351:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "5286:45:29" - }, - "nodeType": "YulFunctionCall", - "src": "5286:73:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5262:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5262:98:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5262:98:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5380:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5387:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5376:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5376:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5403:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5407:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5399:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5399:12:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5393:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "5393:19:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5369:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5369:44:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5369:44:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5433:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5440:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5429:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5429:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5456:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5460:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5452:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5452:12:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5446:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "5446:19:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5422:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5422:44:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5422:44:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5486:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5493:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5482:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5482:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5532:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5536:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5528:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5528:12:29" - } - ], - "functionName": { - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulIdentifier", - "src": "5499:28:29" - }, - "nodeType": "YulFunctionCall", - "src": "5499:42:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5475:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5475:67:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5475:67:29" - }, - { - "nodeType": "YulAssignment", - "src": "5551:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5561:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5551:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Block_$5615_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4104:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4115:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4127:6:29", - "type": "" - } - ], - "src": "4034:1538:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5682:815:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5692:13:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5702:3:29", - "type": "", - "value": "256" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "5696:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5750:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5759:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5767:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5752:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5752:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5752:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5725:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5734:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5721:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5721:23:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5746:2:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5717:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5717:32:29" - }, - "nodeType": "YulIf", - "src": "5714:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5785:23:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5805:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5799:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "5799:9:29" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "5789:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5817:33:29", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5839:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5847:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5835:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5835:15:29" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "5821:10:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5925:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "5927:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "5927:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5927:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5868:10:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5880:18:29", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5865:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5865:34:29" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5904:10:29" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5916:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5901:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5901:22:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "5862:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "5862:62:29" - }, - "nodeType": "YulIf", - "src": "5859:2:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5963:2:29", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5967:10:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5956:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5956:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5956:22:29" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5994:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6008:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6002:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "6002:16:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5987:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5987:32:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5987:32:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "6039:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6047:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6035:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6035:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6088:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6099:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6084:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6084:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "6052:31:29" - }, - "nodeType": "YulFunctionCall", - "src": "6052:51:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6028:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6028:76:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6028:76:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "6124:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6132:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6120:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6120:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6147:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6158:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6143:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6143:18:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6137:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "6137:25:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6113:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6113:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6113:50:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "6183:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6191:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6179:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6179:15:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6206:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6217:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6202:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6202:18:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6196:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "6196:25:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6172:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6172:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6172:50:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "6242:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6250:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6238:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6238:16:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6266:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6277:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6262:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6262:19:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6256:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "6256:26:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6231:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6231:52:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6231:52:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "6303:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6311:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6299:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6299:16:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6327:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6338:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6323:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6323:19:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6317:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "6317:26:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6292:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6292:52:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6292:52:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "6364:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6372:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6360:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6360:16:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6388:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6399:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6384:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6384:19:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6378:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "6378:26:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6353:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6353:52:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6353:52:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "6425:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6433:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6421:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6421:16:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6449:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6460:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6445:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6445:19:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6439:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "6439:26:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6414:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6414:52:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6414:52:29" - }, - { - "nodeType": "YulAssignment", - "src": "6475:16:29", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "6485:6:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6475:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Staker_$5594_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5648:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5659:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5671:6:29", - "type": "" - } - ], - "src": "5577:920:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6583:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6629:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6638:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6646:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6631:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6631:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6631:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6604:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6613:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6600:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6600:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6625:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6596:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6596:32:29" - }, - "nodeType": "YulIf", - "src": "6593:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "6664:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6680:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6674:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "6674:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6664:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6549:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6560:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6572:6:29", - "type": "" - } - ], - "src": "6502:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6788:171:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6834:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6843:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6851:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6836:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6836:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6836:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6809:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6818:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6805:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6805:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6830:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6801:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6801:32:29" - }, - "nodeType": "YulIf", - "src": "6798:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "6869:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6892:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6879:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6879:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6869:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6911:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6938:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6949:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6934:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6934:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6921:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "6921:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6911:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6746:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6757:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6769:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6777:6:29", - "type": "" - } - ], - "src": "6701:258:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7194:1322:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7241:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7250:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7258:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7243:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7243:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7243:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7215:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7224:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7211:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7211:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7236:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7207:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7207:33:29" - }, - "nodeType": "YulIf", - "src": "7204:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "7276:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7299:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7286:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "7286:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7276:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7318:12:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7328:2:29", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "7322:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7339:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7366:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7377:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7362:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7362:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7349:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "7349:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7339:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7390:46:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7421:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7432:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7417:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7417:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7404:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "7404:32:29" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7394:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7445:28:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7455:18:29", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "7449:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7500:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7509:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7517:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7502:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7502:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7502:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7488:6:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "7496:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7485:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "7485:14:29" - }, - "nodeType": "YulIf", - "src": "7482:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7535:32:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7549:9:29" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7560:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7545:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7545:22:29" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "7539:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7615:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7624:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7632:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7617:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7617:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7617:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "7594:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7598:4:29", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7590:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7590:13:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7605:7:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7586:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7586:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "7579:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7579:35:29" - }, - "nodeType": "YulIf", - "src": "7576:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7650:26:29", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "7673:2:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7660:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "7660:16:29" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "7654:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7685:90:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "7771:2:29" - } - ], - "functionName": { - "name": "array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulIdentifier", - "src": "7711:59:29" - }, - "nodeType": "YulFunctionCall", - "src": "7711:63:29" - } - ], - "functionName": { - "name": "allocateMemory", - "nodeType": "YulIdentifier", - "src": "7696:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "7696:79:29" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "7689:3:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7784:16:29", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "7797:3:29" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "7788:5:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "7816:3:29" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "7821:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7809:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7809:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7809:15:29" - }, - { - "nodeType": "YulAssignment", - "src": "7833:19:29", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "7844:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7849:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7840:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7840:12:29" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "7833:3:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7861:22:29", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "7876:2:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7880:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7872:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7872:11:29" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "7865:3:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7938:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7947:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7955:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7940:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7940:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7940:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "7906:2:29" - }, - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "7914:2:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7918:2:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "7910:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7910:11:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7902:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7902:20:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7924:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7898:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7898:29:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7929:7:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7895:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "7895:42:29" - }, - "nodeType": "YulIf", - "src": "7892:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7973:15:29", - "value": { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7982:6:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "7977:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8042:118:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8063:3:29" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8081:3:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8068:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "8068:17:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8056:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8056:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8056:30:29" - }, - { - "nodeType": "YulAssignment", - "src": "8099:19:29", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8110:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8115:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8106:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8106:12:29" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8099:3:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8131:19:29", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8142:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8147:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8138:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8138:12:29" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8131:3:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8008:1:29" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "8011:2:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "8005:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "8005:9:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "8015:18:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8017:14:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8026:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8029:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8022:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8022:9:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8017:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "8001:3:29", - "statements": [] - }, - "src": "7997:163:29" - }, - { - "nodeType": "YulAssignment", - "src": "8169:15:29", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "8179:5:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "8169:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8193:48:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8226:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8237:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8222:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8222:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8209:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "8209:32:29" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "8197:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8270:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "8279:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "8287:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8272:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8272:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8272:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "8256:8:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "8266:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8253:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "8253:16:29" - }, - "nodeType": "YulIf", - "src": "8250:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "8305:93:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8368:9:29" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "8379:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8364:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8364:24:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8390:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulIdentifier", - "src": "8315:48:29" - }, - "nodeType": "YulFunctionCall", - "src": "8315:83:29" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "8305:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8407:43:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8434:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8445:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8430:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8430:19:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8417:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "8417:33:29" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "8407:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8459:51:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8494:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8505:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8490:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8490:19:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "8469:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "8469:41:29" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "8459:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_bytes32t_array$_t_uint256_$dyn_memory_ptrt_array$_t_array$_t_bytes32_$dyn_memory_ptr_$dyn_memory_ptrt_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7120:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "7131:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7143:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7151:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "7159:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "7167:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "7175:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "7183:6:29", - "type": "" - } - ], - "src": "6964:1552:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8608:171:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8654:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8663:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8671:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8656:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8656:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8656:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8629:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8638:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8625:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8625:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8650:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8621:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8621:32:29" - }, - "nodeType": "YulIf", - "src": "8618:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "8689:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8712:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8699:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "8699:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8689:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8731:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8758:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8769:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8754:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8754:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8741:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "8741:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8731:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8566:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "8577:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8589:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8597:6:29", - "type": "" - } - ], - "src": "8521:258:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8888:222:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8934:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "8943:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "8951:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8936:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8936:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8936:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8909:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8918:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8905:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8905:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8930:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8901:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8901:32:29" - }, - "nodeType": "YulIf", - "src": "8898:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "8969:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8992:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8979:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "8979:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8969:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9011:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9038:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9049:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9034:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9034:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9021:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "9021:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9011:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9062:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9089:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9100:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9085:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9085:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9072:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "9072:32:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "9062:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8838:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "8849:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8861:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8869:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "8877:6:29", - "type": "" - } - ], - "src": "8784:326:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9194:214:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9240:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9249:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9257:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9242:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9242:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9242:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9215:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9224:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9211:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9211:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9236:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "9207:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9207:32:29" - }, - "nodeType": "YulIf", - "src": "9204:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9275:29:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9294:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "9288:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "9288:16:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "9279:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9352:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9361:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9369:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9354:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9354:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9354:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9326:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9337:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9344:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9333:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9333:16:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "9323:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "9323:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9316:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9316:35:29" - }, - "nodeType": "YulIf", - "src": "9313:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "9387:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9397:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9387:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9160:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "9171:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9183:6:29", - "type": "" - } - ], - "src": "9115:293:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9560:100:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9577:3:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9582:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9570:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9570:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9570:19:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9609:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9614:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9605:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9605:12:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9619:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9598:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9598:28:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9598:28:29" - }, - { - "nodeType": "YulAssignment", - "src": "9635:19:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9646:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9651:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9642:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9642:12:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9635:3:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9528:3:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9533:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9541:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "9552:3:29", - "type": "" - } - ], - "src": "9413:247:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9784:63:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9801:3:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9806:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9794:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9794:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9794:19:29" - }, - { - "nodeType": "YulAssignment", - "src": "9822:19:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9833:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9838:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9829:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9829:12:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9822:3:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9760:3:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9765:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "9776:3:29", - "type": "" - } - ], - "src": "9665:182:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10027:137:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10044:3:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10049:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10037:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10037:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10037:19:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10076:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10081:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10072:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10072:12:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10086:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10065:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10065:28:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10065:28:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10113:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10118:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10109:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10109:12:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "10123:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10102:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10102:28:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10102:28:29" - }, - { - "nodeType": "YulAssignment", - "src": "10139:19:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10150:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10155:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10146:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10146:12:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "10139:3:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_uint256_t_bytes32_t_bytes32__to_t_uint256_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9987:3:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9992:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "10000:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10008:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "10019:3:29", - "type": "" - } - ], - "src": "9852:312:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10270:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10280:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10292:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10303:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10288:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10288:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10280:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10322:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10337:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10345:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10333:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10333:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10315:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10315:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10315:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10239:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10250:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10261:4:29", - "type": "" - } - ], - "src": "10169:226:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10495:92:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10505:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10517:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10528:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10513:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10513:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10505:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10547:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10572:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10565:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10565:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10558:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10558:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10540:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10540:41:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10540:41:29" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10464:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10475:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10486:4:29", - "type": "" - } - ], - "src": "10400:187:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10693:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10703:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10715:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10726:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10711:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10711:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10703:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10745:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10756:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10738:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10738:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10738:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10662:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10673:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10684:4:29", - "type": "" - } - ], - "src": "10592:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10897:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10907:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10919:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10930:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10915:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10915:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10907:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10949:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10964:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10972:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10960:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10960:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10942:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10942:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10942:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IBlockManager_$4675__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10866:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10877:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10888:4:29", - "type": "" - } - ], - "src": "10774:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11150:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11160:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11172:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11183:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11168:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11168:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11160:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11202:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11217:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11225:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11213:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11213:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11195:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11195:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11195:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStakeManager_$4809__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11119:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11130:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11141:4:29", - "type": "" - } - ], - "src": "11027:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11403:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11413:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11425:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11436:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11421:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11421:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11413:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11455:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11470:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11478:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11466:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11466:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11448:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11448:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11448:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IStateManager_$4822__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11372:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11383:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11394:4:29", - "type": "" - } - ], - "src": "11280:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11707:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11724:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11735:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11717:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11717:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11717:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11758:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11769:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11754:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11754:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11774:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11747:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11747:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11747:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11797:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11808:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11793:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11793:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11813:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11786:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11786:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11786:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11868:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11879:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11864:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11864:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "11884:17:29", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11857:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "11857:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "11857:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "11911:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11923:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11934:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11919:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "11919:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11911:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11684:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11698:4:29", - "type": "" - } - ], - "src": "11533:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12123:172:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12140:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12151:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12133:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12133:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12133:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12174:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12185:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12170:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12170:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12190:2:29", - "type": "", - "value": "22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12163:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12163:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12163:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12213:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12224:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12209:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12209:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12229:24:29", - "type": "", - "value": "incorrect secret/value" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12202:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12202:52:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12202:52:29" - }, - { - "nodeType": "YulAssignment", - "src": "12263:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12275:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12286:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12271:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12271:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12263:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_117c0d3e1a97c48aed3d13ddb2f7e4f454991126eb3f4729b34034c97947c147__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12100:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12114:4:29", - "type": "" - } - ], - "src": "11949:346:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12474:167:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12491:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12502:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12484:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12484:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12484:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12525:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12536:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12521:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12521:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12541:2:29", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12514:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12514:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12514:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12564:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12575:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12560:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12560:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12580:19:29", - "type": "", - "value": "nonpositive stake" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12553:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12553:47:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12553:47:29" - }, - { - "nodeType": "YulAssignment", - "src": "12609:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12621:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12632:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12617:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12617:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12609:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_18946c3cfecfbaff9f580fe1dba9ddd240c806d5ebece06bfbecf58d9b7c810f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12451:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12465:4:29", - "type": "" - } - ], - "src": "12300:341:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12820:170:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12837:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12848:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12830:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12830:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12830:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12871:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12882:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12867:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12867:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12887:2:29", - "type": "", - "value": "20" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12860:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12860:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12860:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12910:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12921:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12906:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12906:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "12926:22:29", - "type": "", - "value": "invalid merkle proof" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12899:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "12899:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "12899:50:29" - }, - { - "nodeType": "YulAssignment", - "src": "12958:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12970:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12981:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12966:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "12966:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12958:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12797:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12811:4:29", - "type": "" - } - ], - "src": "12646:344:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13169:166:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13186:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13197:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13179:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13179:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13179:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13220:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13231:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13216:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13216:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13236:2:29", - "type": "", - "value": "16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13209:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13209:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13209:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13259:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13270:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13255:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13255:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13275:18:29", - "type": "", - "value": "Not reveal state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13248:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13248:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13248:46:29" - }, - { - "nodeType": "YulAssignment", - "src": "13303:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13315:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13326:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13311:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13311:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13303:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_268d2c599991ca0d37b6046592043de1b2c44a06b0ce5c2cfad84e09cba7d135__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13146:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13160:4:29", - "type": "" - } - ], - "src": "12995:340:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13514:238:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13531:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13542:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13524:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13524:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13524:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13565:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13576:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13561:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13561:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13581:2:29", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13554:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13554:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13554:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13604:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13615:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13600:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13600:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13620:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13593:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13593:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13593:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13675:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13686:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13671:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13671:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "13691:18:29", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13664:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13664:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13664:46:29" - }, - { - "nodeType": "YulAssignment", - "src": "13719:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13731:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13742:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13727:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13727:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13719:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13491:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13505:4:29", - "type": "" - } - ], - "src": "13340:412:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13931:166:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13948:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13959:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13941:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13941:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13941:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13982:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13993:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13978:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "13978:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13998:2:29", - "type": "", - "value": "16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13971:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "13971:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "13971:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14021:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14032:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14017:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14017:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14037:18:29", - "type": "", - "value": "Not commit state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14010:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14010:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14010:46:29" - }, - { - "nodeType": "YulAssignment", - "src": "14065:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14077:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14088:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14073:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14073:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14065:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6d593732acfcb443b5b44e4943456e2fce39381181ad947ffa33ce891bf81a45__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13908:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13922:4:29", - "type": "" - } - ], - "src": "13757:340:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14276:179:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14293:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14304:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14286:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14286:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14286:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14327:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14338:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14323:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14323:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14343:2:29", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14316:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14316:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14316:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14366:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14377:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14362:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14362:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14382:31:29", - "type": "", - "value": "Structs.Staker does not exist" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14355:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14355:59:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14355:59:29" - }, - { - "nodeType": "YulAssignment", - "src": "14423:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14435:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14446:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14431:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14431:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14423:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_743d03e1fcb061f47e6c95bfe6f5992a265f5b91e947a0c52d7b1b2db5a6c7f7__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14253:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14267:4:29", - "type": "" - } - ], - "src": "14102:353:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14634:236:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14651:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14662:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14644:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14644:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14644:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14685:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14696:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14681:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14681:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14701:2:29", - "type": "", - "value": "46" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14674:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14674:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14674:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14724:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14735:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14720:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14720:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14740:34:29", - "type": "", - "value": "Initializable: contract is alrea" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14713:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14713:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14713:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14795:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14806:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14791:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14791:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "14811:16:29", - "type": "", - "value": "dy initialized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14784:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "14784:44:29" - }, - "nodeType": "YulExpressionStatement", - "src": "14784:44:29" - }, - { - "nodeType": "YulAssignment", - "src": "14837:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14849:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14860:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14845:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "14845:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14837:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14611:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14625:4:29", - "type": "" - } - ], - "src": "14460:410:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15049:180:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15066:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15077:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15059:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15059:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15059:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15100:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15111:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15096:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15096:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15116:2:29", - "type": "", - "value": "30" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15089:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15089:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15089:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15139:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15150:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15135:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15135:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15155:32:29", - "type": "", - "value": "Contract should be initialized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15128:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15128:60:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15128:60:29" - }, - { - "nodeType": "YulAssignment", - "src": "15197:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15209:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15220:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15205:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15205:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15197:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7c4117488a466ed9cd19e8a36d161b8aec71671a9c9bd8fc5f630bc91a173f84__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15026:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15040:4:29", - "type": "" - } - ], - "src": "14875:354:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15408:165:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15425:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15436:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15418:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15418:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15418:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15459:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15470:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15455:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15455:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15475:2:29", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15448:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15448:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15448:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15498:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15509:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15494:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15494:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15514:17:29", - "type": "", - "value": "incorrect epoch" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15487:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15487:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15487:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "15541:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15553:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15564:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15549:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15549:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15541:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15385:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15399:4:29", - "type": "" - } - ], - "src": "15234:339:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15752:182:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15769:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15780:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15762:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15762:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15762:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15803:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15814:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15799:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15799:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15819:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15792:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15792:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15792:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15842:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15853:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15838:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15838:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "15858:34:29", - "type": "", - "value": "not commited or already revealed" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15831:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "15831:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "15831:62:29" - }, - { - "nodeType": "YulAssignment", - "src": "15902:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15914:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15925:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15910:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "15910:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15902:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_a940b2a52672d706cd6529433302ee1085aa924690eb9c0a6dfda6488ef2bcdb__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15729:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15743:4:29", - "type": "" - } - ], - "src": "15578:356:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16113:176:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16130:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16141:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16123:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16123:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16123:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16164:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16175:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16160:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16160:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16180:2:29", - "type": "", - "value": "26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16153:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16153:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16153:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16203:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16214:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16199:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16199:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16219:28:29", - "type": "", - "value": "ACL: sender not authorized" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16192:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16192:56:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16192:56:29" - }, - { - "nodeType": "YulAssignment", - "src": "16257:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16269:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16280:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16265:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16265:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16257:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16090:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16104:4:29", - "type": "" - } - ], - "src": "15939:350:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16468:165:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16485:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16496:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16478:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16478:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16478:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16519:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16530:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16515:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16515:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16535:2:29", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16508:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16508:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16508:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16558:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16569:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16554:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16554:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16574:17:29", - "type": "", - "value": "incorrect state" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16547:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16547:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16547:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "16601:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16613:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16624:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16609:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16609:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16601:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16445:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16459:4:29", - "type": "" - } - ], - "src": "16294:339:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16812:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16829:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16840:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16822:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16822:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16822:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16863:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16874:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16859:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16859:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16879:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16852:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16852:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16852:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16902:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16913:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16898:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16898:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16918:34:29", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16891:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16891:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16891:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16973:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16984:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16969:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "16969:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "16989:17:29", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16962:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "16962:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "16962:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "17016:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17028:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17039:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17024:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17024:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17016:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16789:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16803:4:29", - "type": "" - } - ], - "src": "16638:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17228:166:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17245:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17256:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17238:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17238:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17238:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17279:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17290:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17275:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17275:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17295:2:29", - "type": "", - "value": "16" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17268:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17268:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17268:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17318:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17329:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17314:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17314:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "17334:18:29", - "type": "", - "value": "already commited" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17307:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17307:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17307:46:29" - }, - { - "nodeType": "YulAssignment", - "src": "17362:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17374:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17385:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17370:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17370:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17362:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fde99a45e22e2bf34447c936fa58763b0e7ceae0cf197e297f2efc966d028475__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17205:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17219:4:29", - "type": "" - } - ], - "src": "17054:340:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17544:146:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17554:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17566:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17577:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17562:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17562:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17554:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17596:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17613:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17607:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "17607:13:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17589:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17589:32:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17589:32:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17641:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17652:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17637:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17637:20:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17669:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17677:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17665:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17665:17:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17659:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "17659:24:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17630:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17630:54:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17630:54:29" - } - ] - }, - "name": "abi_encode_tuple_t_struct$_Vote_$5577_memory_ptr__to_t_struct$_Vote_$5577_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17513:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17524:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17535:4:29", - "type": "" - } - ], - "src": "17399:291:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17796:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17806:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17818:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17829:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17814:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "17814:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17806:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17848:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17859:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17841:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "17841:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "17841:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17765:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17776:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17787:4:29", - "type": "" - } - ], - "src": "17695:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18034:211:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18044:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18056:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18067:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18052:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18052:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18044:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18086:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18097:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18079:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18079:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18079:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18124:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18135:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18120:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18120:18:29" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18144:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18152:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "18140:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18140:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18113:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18113:83:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18113:83:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18216:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18227:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18212:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18212:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "18232:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18205:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18205:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18205:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17987:9:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "17998:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18006:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18014:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18025:4:29", - "type": "" - } - ], - "src": "17877:368:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18379:119:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18389:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18401:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18412:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18397:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18397:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18389:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18431:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18442:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18424:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18424:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18424:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18469:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18480:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18465:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18465:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18485:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18458:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18458:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18458:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18340:9:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18351:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18359:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18370:4:29", - "type": "" - } - ], - "src": "18250:248:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18688:206:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18698:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18710:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18721:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18706:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18706:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18698:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18741:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18752:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18734:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18734:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18734:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18779:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18790:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18775:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18775:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18795:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18768:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18768:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18768:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18822:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18833:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18818:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18818:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "18838:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18811:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18811:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18811:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18865:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18876:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18861:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "18861:18:29" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "18881:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18854:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "18854:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "18854:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_bytes32_t_uint256__to_t_uint256_t_uint256_t_bytes32_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18633:9:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "18644:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "18652:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18660:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18668:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18679:4:29", - "type": "" - } - ], - "src": "18503:391:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19162:660:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "19172:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19190:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19201:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19186:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19186:19:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "19176:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19221:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "19232:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19214:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19214:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19214:25:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19248:12:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19258:2:29", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "19252:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19280:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19291:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19276:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19276:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "19296:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19269:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19269:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19269:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19323:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19334:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19319:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19319:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "19339:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19312:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19312:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19312:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19366:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19377:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19362:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19362:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19382:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19355:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19355:31:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19355:31:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19395:17:29", - "value": { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "19406:6:29" - }, - "variables": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "19399:3:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19421:27:29", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "19441:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "19435:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "19435:13:29" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "19425:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "19464:6:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19472:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19457:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19457:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19457:22:29" - }, - { - "nodeType": "YulAssignment", - "src": "19488:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19499:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19510:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19495:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19495:19:29" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19488:3:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19523:29:29", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "19541:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19549:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19537:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19537:15:29" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "19527:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19561:13:29", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19570:4:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "19565:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19632:120:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19653:3:29" - }, - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "19664:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "19658:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "19658:13:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19646:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19646:26:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19646:26:29" - }, - { - "nodeType": "YulAssignment", - "src": "19685:19:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19696:3:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19701:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19692:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19692:12:29" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19685:3:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "19717:25:29", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "19731:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19739:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19727:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19727:15:29" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "19717:6:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19594:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19597:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "19591:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "19591:13:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "19605:18:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19607:14:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19616:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19619:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19612:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19612:9:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "19607:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "19587:3:29", - "statements": [] - }, - "src": "19583:169:29" - }, - { - "nodeType": "YulAssignment", - "src": "19761:11:29", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19769:3:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19761:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19792:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19803:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19788:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19788:19:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "19809:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19781:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "19781:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "19781:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19099:9:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "19110:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "19118:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "19126:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "19134:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "19142:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19153:4:29", - "type": "" - } - ], - "src": "18899:923:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19871:207:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19881:19:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19897:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "19891:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "19891:9:29" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "19881:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19909:35:29", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "19931:6:29" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "19939:4:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19927:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "19927:17:29" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "19913:10:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20019:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "20021:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "20021:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20021:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "19962:10:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19974:18:29", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "19959:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "19959:34:29" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "19998:10:29" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "20010:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "19995:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "19995:22:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "19956:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "19956:62:29" - }, - "nodeType": "YulIf", - "src": "19953:2:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20057:2:29", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "20061:10:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20050:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20050:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20050:22:29" - } - ] - }, - "name": "allocateMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "19851:4:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "19860:6:29", - "type": "" - } - ], - "src": "19827:251:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20172:117:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "20216:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "20218:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "20218:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20218:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "20188:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20196:18:29", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "20185:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "20185:30:29" - }, - "nodeType": "YulIf", - "src": "20182:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "20247:36:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "20263:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20271:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "20259:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20259:17:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20278:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20255:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20255:28:29" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "20247:4:29" - } - ] - } - ] - }, - "name": "array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "20152:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "20163:4:29", - "type": "" - } - ], - "src": "20083:206:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20342:80:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "20369:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "20371:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "20371:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20371:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20358:1:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20365:1:29" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "20361:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20361:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "20355:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "20355:13:29" - }, - "nodeType": "YulIf", - "src": "20352:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "20400:16:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20411:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20414:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20407:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20407:9:29" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "20400:3:29" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "20325:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "20328:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "20334:3:29", - "type": "" - } - ], - "src": "20294:128:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20476:76:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "20498:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "20500:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "20500:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20500:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20492:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20495:1:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "20489:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "20489:8:29" - }, - "nodeType": "YulIf", - "src": "20486:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "20529:17:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "20541:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "20544:1:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20537:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20537:9:29" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "20529:4:29" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "20458:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "20461:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "20467:4:29", - "type": "" - } - ], - "src": "20427:125:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20604:88:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "20635:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "20637:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "20637:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20637:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "20620:5:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20631:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "20627:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20627:6:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "20617:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "20617:17:29" - }, - "nodeType": "YulIf", - "src": "20614:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "20666:20:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "20677:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20684:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20673:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "20673:13:29" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "20666:3:29" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "20586:5:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "20596:3:29", - "type": "" - } - ], - "src": "20557:135:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20729:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20746:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20749:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20739:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20739:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20739:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20843:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20846:4:29", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20836:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20836:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20836:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20867:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20870:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "20860:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20860:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20860:15:29" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "20697:184:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20918:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20935:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20938:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20928:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "20928:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "20928:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21032:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21035:4:29", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21025:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21025:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21025:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21056:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21059:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "21049:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21049:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21049:15:29" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "20886:184:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21122:109:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "21209:16:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21218:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21221:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "21211:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21211:12:29" - }, - "nodeType": "YulExpressionStatement", - "src": "21211:12:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "21145:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "21156:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21163:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "21152:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "21152:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "21142:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "21142:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "21135:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "21135:73:29" - }, - "nodeType": "YulIf", - "src": "21132:2:29" - } - ] - }, - "name": "validator_revert_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "21111:5:29", - "type": "" - } - ], - "src": "21075:156:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address(offset) -> value\n {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n function abi_decode_t_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n function abi_decode_t_array$_t_array$_t_bytes32_$dyn_$dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let dst := allocateMemory(array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let src := add(offset, _2)\n let i := array\n for { } lt(i, _1) { i := add(i, 1) }\n {\n let _3 := add(offset, calldataload(src))\n if iszero(slt(add(_3, 63), end)) { revert(array, array) }\n let _4 := calldataload(add(_3, _2))\n let _5 := 64\n let dst_2 := allocateMemory(array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn(_4))\n let dst_3 := dst_2\n mstore(dst_2, _4)\n dst_2 := add(dst_2, _2)\n let src_1 := add(_3, _5)\n if gt(add(add(_3, mul(_4, _2)), _5), end) { revert(array, array) }\n let i_1 := array\n for { } lt(i_1, _4) { i_1 := add(i_1, 1) }\n {\n mstore(dst_2, calldataload(src_1))\n dst_2 := add(dst_2, _2)\n src_1 := add(src_1, _2)\n }\n mstore(dst, dst_3)\n dst := add(dst, _2)\n src := add(src, _2)\n }\n array := dst_1\n }\n function abi_decode_t_array$_t_uint256_$dyn_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := mload(offset)\n let _2 := 0x20\n let dst := allocateMemory(array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let src := add(offset, _2)\n if gt(add(add(offset, mul(_1, _2)), _2), end) { revert(array, array) }\n let i := array\n for { } lt(i, _1) { i := add(i, 1) }\n {\n mstore(dst, mload(src))\n dst := add(dst, _2)\n src := add(src, _2)\n }\n array := dst_1\n }\n function abi_decode_t_bool_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_addresst_address(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value0, value0) }\n let value := calldataload(headStart)\n validator_revert_t_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_t_address(value_1)\n value1 := value_1\n let value_2 := calldataload(add(headStart, 64))\n validator_revert_t_address(value_2)\n value2 := value_2\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_t_address(value)\n value1 := value\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Block_$5615_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(value0, value0) }\n let _2 := add(headStart, offset)\n let _3 := 0x0100\n if slt(sub(dataEnd, _2), _3) { revert(value0, value0) }\n let value := allocateMemory(_3)\n mstore(value, mload(_2))\n let offset_1 := mload(add(_2, 32))\n if gt(offset_1, _1) { revert(value0, value0) }\n mstore(add(value, 32), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 64))\n if gt(offset_2, _1) { revert(value0, value0) }\n mstore(add(value, 64), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_2), dataEnd))\n let offset_3 := mload(add(_2, 96))\n if gt(offset_3, _1) { revert(value0, value0) }\n mstore(add(value, 96), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_3), dataEnd))\n let offset_4 := mload(add(_2, 128))\n if gt(offset_4, _1) { revert(value0, value0) }\n mstore(add(value, 128), abi_decode_t_array$_t_uint256_$dyn_fromMemory(add(_2, offset_4), dataEnd))\n mstore(add(value, 160), mload(add(_2, 160)))\n mstore(add(value, 192), mload(add(_2, 192)))\n mstore(add(value, 224), abi_decode_t_bool_fromMemory(add(_2, 224)))\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Staker_$5594_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 256\n if slt(sub(dataEnd, headStart), _1) { revert(value0, value0) }\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, _1)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, mload(headStart))\n mstore(add(memPtr, 32), abi_decode_t_address_fromMemory(add(headStart, 32)))\n mstore(add(memPtr, 64), mload(add(headStart, 64)))\n mstore(add(memPtr, 96), mload(add(headStart, 96)))\n mstore(add(memPtr, 128), mload(add(headStart, 128)))\n mstore(add(memPtr, 160), mload(add(headStart, 160)))\n mstore(add(memPtr, 192), mload(add(headStart, 192)))\n mstore(add(memPtr, 224), mload(add(headStart, 224)))\n value0 := memPtr\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_bytes32t_array$_t_uint256_$dyn_memory_ptrt_array$_t_array$_t_bytes32_$dyn_memory_ptr_$dyn_memory_ptrt_bytes32t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(value2, value2) }\n value0 := calldataload(headStart)\n let _1 := 32\n value1 := calldataload(add(headStart, _1))\n let offset := calldataload(add(headStart, 64))\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(value2, value2) }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(value2, value2) }\n let _4 := calldataload(_3)\n let dst := allocateMemory(array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn(_4))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _1)\n let src := add(_3, _1)\n if gt(add(add(_3, mul(_4, _1)), _1), dataEnd) { revert(value2, value2) }\n let i := value2\n for { } lt(i, _4) { i := add(i, 1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _1)\n src := add(src, _1)\n }\n value2 := dst_1\n let offset_1 := calldataload(add(headStart, 96))\n if gt(offset_1, _2) { revert(value4, value4) }\n value3 := abi_decode_t_array$_t_array$_t_bytes32_$dyn_$dyn(add(headStart, offset_1), dataEnd)\n value4 := calldataload(add(headStart, 128))\n value5 := abi_decode_t_address(add(headStart, 160))\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, 0xff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, value0)\n mstore(add(pos, 32), value1)\n end := add(pos, 64)\n }\n function abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n mstore(pos, value0)\n end := add(pos, 32)\n }\n function abi_encode_tuple_packed_t_uint256_t_bytes32_t_bytes32__to_t_uint256_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n {\n mstore(pos, value0)\n mstore(add(pos, 32), value1)\n mstore(add(pos, 64), value2)\n end := add(pos, 96)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_contract$_IBlockManager_$4675__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IStakeManager_$4809__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IStateManager_$4822__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_117c0d3e1a97c48aed3d13ddb2f7e4f454991126eb3f4729b34034c97947c147__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"incorrect secret/value\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_18946c3cfecfbaff9f580fe1dba9ddd240c806d5ebece06bfbecf58d9b7c810f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"nonpositive stake\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"invalid merkle proof\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_268d2c599991ca0d37b6046592043de1b2c44a06b0ce5c2cfad84e09cba7d135__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Not reveal state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_6d593732acfcb443b5b44e4943456e2fce39381181ad947ffa33ce891bf81a45__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Not commit state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_743d03e1fcb061f47e6c95bfe6f5992a265f5b91e947a0c52d7b1b2db5a6c7f7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Structs.Staker does not exist\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"Initializable: contract is alrea\")\n mstore(add(headStart, 96), \"dy initialized\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7c4117488a466ed9cd19e8a36d161b8aec71671a9c9bd8fc5f630bc91a173f84__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 30)\n mstore(add(headStart, 64), \"Contract should be initialized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect epoch\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a940b2a52672d706cd6529433302ee1085aa924690eb9c0a6dfda6488ef2bcdb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"not commited or already revealed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"ACL: sender not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"incorrect state\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fde99a45e22e2bf34447c936fa58763b0e7ceae0cf197e297f2efc966d028475__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"already commited\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_struct$_Vote_$5577_memory_ptr__to_t_struct$_Vote_$5577_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, mload(value0))\n mstore(add(headStart, 0x20), mload(add(value0, 0x20)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_address_t_uint256__to_t_uint256_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_bytes32_t_uint256__to_t_uint256_t_uint256_t_bytes32_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_uint256_t_uint256_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n let tail_1 := add(headStart, 160)\n mstore(headStart, value0)\n let _1 := 32\n mstore(add(headStart, _1), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 160)\n let pos := tail_1\n let length := mload(value3)\n mstore(tail_1, length)\n pos := add(headStart, 192)\n let srcPtr := add(value3, _1)\n let i := tail\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n mstore(add(headStart, 128), value4)\n }\n function allocateMemory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, size)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_t_array$_t_array$_t_bytes32_$dyn_$dyn(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(mul(length, 0x20), 0x20)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function validator_revert_t_address(value)\n {\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1579 - }, - { - "length": 20, - "start": 2816 - }, - { - "length": 20, - "start": 4290 - }, - { - "length": 20, - "start": 5426 - } - ] - } - }, - "object": "608060405234801561001057600080fd5b50600436106101825760003560e01c80638fd5ff00116100d8578063c0c53b8b1161008c578063d9169b3211610066578063d9169b321461031c578063f2f0387714610324578063f322bd7d146102b557610182565b8063c0c53b8b146102e3578063d13e2e60146102f6578063d547741f1461030957610182565b80639c66556f116100bd5780639c66556f146102b5578063a217fddf146102c8578063a6a145d9146102d057610182565b80638fd5ff001461028f57806391d14854146102a257610182565b80632f2ff15d1161013a5780637542ff95116101145780637542ff95146102545780638a757ecc1461025c5780638ce7ff4a1461026f57610182565b80632f2ff15d1461021b57806336568abe1461022e5780637164f0d61461024157610182565b8063248a9ca31161016b578063248a9ca3146101c5578063283e2905146101e55780632e716fb11461020657610182565b806301ffc9a714610187578063125f68f1146101b0575b600080fd5b61019a610195366004611a94565b610337565b6040516101a79190611e23565b60405180910390f35b6101c36101be366004611cb1565b610395565b005b6101d86101d3366004611a4d565b610cc8565b6040516101a79190611df0565b6101f86101f3366004611d96565b610cde565b6040516101a7929190611de2565b61020e610d08565b6040516101a79190611e0f565b6101c3610229366004611a65565b610d17565b6101c361023c366004611a65565b610d55565b6101d861024f366004611c90565b610d97565b61020e610db4565b6101d861026a366004611c90565b610dc3565b61028261027d366004611d96565b610de0565b6040516101a79190612234565b6101d861029d366004611d96565b610e26565b61019a6102b0366004611a65565b610e49565b6101d86102c3366004611d96565b610e74565b6101d8610e98565b6101d86102de366004611c90565b610e9d565b6101c36102f1366004611a03565b610eba565b6101d8610304366004611c90565b610fb0565b6101c3610317366004611a65565b610fcd565b61020e610ff5565b6101c3610332366004611c90565b611004565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061038d575061038d82611694565b90505b919050565b60005460ff166103c05760405162461bcd60e51b81526004016103b79061208f565b60405180910390fd5b60075460408051630eaf323560e31b8152905188926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561040457600080fd5b505afa158015610418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043c9190611c78565b811461045a5760405162461bcd60e51b81526004016103b7906120c6565b600654604051636022a48560e01b81526000916001600160a01b031690636022a4859061048b908690600401611e0f565b60206040518083038186803b1580156104a357600080fd5b505afa1580156104b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104db9190611c78565b9050600081116104fd5760405162461bcd60e51b81526004016103b790611ffb565b6006546040516371e4cc7f60e11b81526000916001600160a01b03169063e3c998fe9061052e908590600401611df0565b6101006040518083038186803b15801561054757600080fd5b505afa15801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f9190611be2565b60008a81526002602090815260408083208684529091529020549091506105b85760405162461bcd60e51b81526004016103b7906120fd565b60008981526002602090815260408083208584528252918290205491516105e5918c918c918a9101611df9565b60405160208183030381529060405280519060200120146106185760405162461bcd60e51b81526004016103b790611e8b565b336001600160a01b0385161415610afe5773__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561066d57600080fd5b505af4158015610681573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a59190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f657600080fd5b505afa15801561070a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072e9190611c78565b1461074b5760405162461bcd60e51b81526004016103b790611f30565b600081604001511161076f5760405162461bcd60e51b81526004016103b790611ec2565b60005b875181101561099e576107fa87828151811061079e57634e487b7160e01b600052603260045260246000fd5b60200260200101518a8a84815181106107c757634e487b7160e01b600052603260045260246000fd5b60200260200101516040516020016107df9190611df0565b604051602081830303815290604052805190602001206116de565b6108165760405162461bcd60e51b81526004016103b790611ef9565b604051806040016040528089838151811061084157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101518252604080860180519383019390935260008e81526003835281812088825283528181208682528352818120855181559483015160019095019490945591518d8452600582528284208585529091529082208a51919290918b90859081106108c557634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020546108e69190612337565b60008b815260056020908152604080832085845290915281208a519091908b908590811061092457634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020819055508160400151600460008c81526020019081526020016000206000838152602001908152602001600020546109729190612337565b60008b81526004602090815260408083208584529091529020558061099681612366565b915050610772565b506006546040517ffabb98900000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063fabb9890906109ea9085908d90600401611de2565b600060405180830381600087803b158015610a0457600080fd5b505af1158015610a18573d6000803e3d6000fd5b50505060008a81526002602090815260408083208684529091528082209190915560065490517f9864f70a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169150639864f70a90610a849085908d90600401611de2565b600060405180830381600087803b158015610a9e57600080fd5b505af1158015610ab2573d6000803e3d6000fd5b505050507f17f4759c403dfc3fa26ab75ce82d3d090a0bdbfe9977d8ee87445d6dd83c68a1898383604001518a42604051610af1959493929190612285565b60405180910390a1610cbd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b4257600080fd5b505af4158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a9190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bcb57600080fd5b505afa158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c78565b14610c205760405162461bcd60e51b81526004016103b790611fc4565b60008981526002602090815260408083208584529091528082209190915560065490517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630f91ce1990610c8a90859033908e9060040161224b565b600060405180830381600087803b158015610ca457600080fd5b505af1158015610cb8573d6000803e3d6000fd5b505050505b505050505050505050565b6000908152600160208190526040909120015490565b60036020908152600093845260408085208252928452828420905282529020805460019091015482565b6007546001600160a01b031681565b610d2b610d2383610cc8565b6102b0611799565b610d475760405162461bcd60e51b81526004016103b790611e2e565b610d51828261179d565b5050565b610d5d611799565b6001600160a01b0316816001600160a01b031614610d8d5760405162461bcd60e51b81526004016103b7906121a0565b610d518282611825565b600091825260026020908152604080842092845291905290205490565b6006546001600160a01b031681565b600460209081526000928352604080842090915290825290205481565b610de86118aa565b506000838152600360209081526040808320858452825280832084845282529182902082518084019093528054835260010154908201529392505050565b600560209081526000938452604080852082529284528284209052825290205481565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60009283526005602090815260408085209385529281528284209184525290205490565b600081565b600091825260046020908152604080842092845291905290205490565b600054610100900460ff1680610ed3575060005460ff16155b610eef5760405162461bcd60e51b81526004016103b790612032565b600054610100900460ff16158015610f1a576000805460ff1961ff0019909116610100171660011790555b6000610f268133610e49565b610f425760405162461bcd60e51b81526004016103b790612132565b50600680546001600160a01b038087167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556007805486841690831617905560088054928516929091169190911790558015610faa576000805461ff00191690555b50505050565b600260209081526000928352604080842090915290825290205481565b610fd9610d2383610cc8565b610d8d5760405162461bcd60e51b81526004016103b790611f67565b6008546001600160a01b031681565b60005460ff166110265760405162461bcd60e51b81526004016103b79061208f565b60075460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a29190611c78565b81146110c05760405162461bcd60e51b81526004016103b7906120c6565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561110457600080fd5b505af4158015611118573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113c9190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118d57600080fd5b505afa1580156111a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c59190611c78565b81146111e35760405162461bcd60e51b81526004016103b790612169565b600654604051636022a48560e01b81526000916001600160a01b031690636022a48590611214903390600401611e0f565b60206040518083038186803b15801561122c57600080fd5b505afa158015611240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112649190611c78565b60008681526002602090815260408083208484529091529020549091501561129e5760405162461bcd60e51b81526004016103b7906121fd565b6006546040516371e4cc7f60e11b81526000916001600160a01b03169063e3c998fe906112cf908590600401611df0565b6101006040518083038186803b1580156112e857600080fd5b505afa1580156112fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113209190611be2565b6008549091506001600160a01b03166304c0756961133f60018961234f565b6040518263ffffffff1660e01b815260040161135b9190611df0565b60006040518083038186803b15801561137357600080fd5b505afa158015611387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113af9190810190611adb565b5115801561144557506008546000906001600160a01b031663e38c7c426113d760018a61234f565b6040518263ffffffff1660e01b81526004016113f39190611df0565b60206040518083038186803b15801561140b57600080fd5b505afa15801561141f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114439190611c78565b115b156114b357600860009054906101000a90046001600160a01b03166001600160a01b0316639b87f6446040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561149a57600080fd5b505af11580156114ae573d6000803e3d6000fd5b505050505b6006546040517f54eae15e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906354eae15e906114fe9085908a90600401611de2565b600060405180830381600087803b15801561151857600080fd5b505af115801561152c573d6000803e3d6000fd5b5050505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157457600080fd5b505af4158015611588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ac9190611c78565b81604001511061168c5760008681526002602090815260408083208584529091529081902086905560065490517f188dc83b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063188dc83b9061161c908590600401611df0565b600060405180830381600087803b15801561163657600080fd5b505af115801561164a573d6000803e3d6000fd5b505050507f6ad04b07dbe80ee3971460ebc13808fb6dd0fa67fbf7d7ebc4de85811d2c992886838742604051611683949392919061226a565b60405180910390a15b505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600081815b855181101561178e57600086828151811061170e57634e487b7160e01b600052603260045260246000fd5b6020026020010151905080831161174f578281604051602001611732929190611de2565b60405160208183030381529060405280519060200120925061177b565b8083604051602001611762929190611de2565b6040516020818303038152906040528051906020012092505b508061178681612366565b9150506116e3565b509092149392505050565b3390565b6117a78282610e49565b610d515760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556117e1611799565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61182f8282610e49565b15610d515760008281526001602090815260408083206001600160a01b03851684529091529020805460ff19169055611866611799565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806040016040528060008152602001600081525090565b8035610390816123ad565b8051610390816123ad565b600082601f8301126118ea578081fd5b813560206118ff6118fa83612313565b6122e9565b82815281810190858301855b8581101561198c578135880189603f820112611925578788fd5b8581013560406119376118fa83612313565b828152888101908483018a8502860184018f1015611953578c8dfd5b8c95505b84861015611975578035835260019590950194918a01918a01611957565b50885250505093850193509084019060010161190b565b5090979650505050505050565b600082601f8301126119a9578081fd5b815160206119b96118fa83612313565b82815281810190858301838502870184018810156119d5578586fd5b855b8581101561198c578151845292840192908401906001016119d7565b8051801515811461039057600080fd5b600080600060608486031215611a17578283fd5b8335611a22816123ad565b92506020840135611a32816123ad565b91506040840135611a42816123ad565b809150509250925092565b600060208284031215611a5e578081fd5b5035919050565b60008060408385031215611a77578182fd5b823591506020830135611a89816123ad565b809150509250929050565b600060208284031215611aa5578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611ad4578182fd5b9392505050565b600060208284031215611aec578081fd5b815167ffffffffffffffff80821115611b03578283fd5b8184019150610100808387031215611b19578384fd5b611b22816122e9565b905082518152602083015182811115611b39578485fd5b611b4587828601611999565b602083015250604083015182811115611b5c578485fd5b611b6887828601611999565b604083015250606083015182811115611b7f578485fd5b611b8b87828601611999565b606083015250608083015182811115611ba2578485fd5b611bae87828601611999565b60808301525060a083015160a082015260c083015160c0820152611bd460e084016119f3565b60e082015295945050505050565b6000610100808385031215611bf5578182fd5b6040519081019067ffffffffffffffff82118183101715611c1857611c18612397565b8160405283518152611c2c602085016118cf565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600060208284031215611c89578081fd5b5051919050565b60008060408385031215611ca2578182fd5b50508035926020909101359150565b60008060008060008060c08789031215611cc9578384fd5b863595506020808801359550604088013567ffffffffffffffff80821115611cef578687fd5b818a0191508a601f830112611d02578687fd5b8135611d106118fa82612313565b81815284810190848601868402860187018f1015611d2c578a8bfd5b8a95505b83861015611d4e578035835260019590950194918601918601611d30565b509850505060608a0135925080831115611d66578485fd5b5050611d7489828a016118da565b93505060808701359150611d8a60a088016118c4565b90509295509295509295565b600080600060608486031215611daa578081fd5b505081359360208301359350604090920135919050565b600060208284031215611dd2578081fd5b815160ff81168114611ad4578182fd5b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b6001600160a01b0391909116815260200190565b901515815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526016908201527f696e636f7272656374207365637265742f76616c756500000000000000000000604082015260600190565b60208082526011908201527f6e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526014908201527f696e76616c6964206d65726b6c652070726f6f66000000000000000000000000604082015260600190565b60208082526010908201527f4e6f742072657665616c20737461746500000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526010908201527f4e6f7420636f6d6d697420737461746500000000000000000000000000000000604082015260600190565b6020808252601d908201527f537472756374732e5374616b657220646f6573206e6f74206578697374000000604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252818101527f6e6f7420636f6d6d69746564206f7220616c72656164792072657665616c6564604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526010908201527f616c726561647920636f6d6d6974656400000000000000000000000000000000604082015260600190565b815181526020918201519181019190915260400190565b9283526001600160a01b03919091166020830152604082015260600190565b93845260208401929092526040830152606082015260800190565b600060a082018783526020878185015286604085015260a0606085015281865180845260c0860191508288019350845b818110156122d1578451835293830193918301916001016122b5565b50508093505050508260808301529695505050505050565b60405181810167ffffffffffffffff8111828210171561230b5761230b612397565b604052919050565b600067ffffffffffffffff82111561232d5761232d612397565b5060209081020190565b6000821982111561234a5761234a612381565b500190565b60008282101561236157612361612381565b500390565b600060001982141561237a5761237a612381565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146123c257600080fd5b5056fea26469706673582212204d565dfa1b4e01de152c151ba2ae1be08e4d0e893e19c9fa3b50d37272538c2764736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x182 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8FD5FF00 GT PUSH2 0xD8 JUMPI DUP1 PUSH4 0xC0C53B8B GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xD9169B32 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD9169B32 EQ PUSH2 0x31C JUMPI DUP1 PUSH4 0xF2F03877 EQ PUSH2 0x324 JUMPI DUP1 PUSH4 0xF322BD7D EQ PUSH2 0x2B5 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0xC0C53B8B EQ PUSH2 0x2E3 JUMPI DUP1 PUSH4 0xD13E2E60 EQ PUSH2 0x2F6 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x309 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x9C66556F GT PUSH2 0xBD JUMPI DUP1 PUSH4 0x9C66556F EQ PUSH2 0x2B5 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2C8 JUMPI DUP1 PUSH4 0xA6A145D9 EQ PUSH2 0x2D0 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x8FD5FF00 EQ PUSH2 0x28F JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2A2 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x13A JUMPI DUP1 PUSH4 0x7542FF95 GT PUSH2 0x114 JUMPI DUP1 PUSH4 0x7542FF95 EQ PUSH2 0x254 JUMPI DUP1 PUSH4 0x8A757ECC EQ PUSH2 0x25C JUMPI DUP1 PUSH4 0x8CE7FF4A EQ PUSH2 0x26F JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x21B JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x22E JUMPI DUP1 PUSH4 0x7164F0D6 EQ PUSH2 0x241 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x248A9CA3 GT PUSH2 0x16B JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x1C5 JUMPI DUP1 PUSH4 0x283E2905 EQ PUSH2 0x1E5 JUMPI DUP1 PUSH4 0x2E716FB1 EQ PUSH2 0x206 JUMPI PUSH2 0x182 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x187 JUMPI DUP1 PUSH4 0x125F68F1 EQ PUSH2 0x1B0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x19A PUSH2 0x195 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x337 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x1E23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C3 PUSH2 0x1BE CALLDATASIZE PUSH1 0x4 PUSH2 0x1CB1 JUMP JUMPDEST PUSH2 0x395 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D8 PUSH2 0x1D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A4D JUMP JUMPDEST PUSH2 0xCC8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x1DF0 JUMP JUMPDEST PUSH2 0x1F8 PUSH2 0x1F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D96 JUMP JUMPDEST PUSH2 0xCDE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP3 SWAP2 SWAP1 PUSH2 0x1DE2 JUMP JUMPDEST PUSH2 0x20E PUSH2 0xD08 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x1E0F JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0x229 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A65 JUMP JUMPDEST PUSH2 0xD17 JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0x23C CALLDATASIZE PUSH1 0x4 PUSH2 0x1A65 JUMP JUMPDEST PUSH2 0xD55 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x24F CALLDATASIZE PUSH1 0x4 PUSH2 0x1C90 JUMP JUMPDEST PUSH2 0xD97 JUMP JUMPDEST PUSH2 0x20E PUSH2 0xDB4 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x1C90 JUMP JUMPDEST PUSH2 0xDC3 JUMP JUMPDEST PUSH2 0x282 PUSH2 0x27D CALLDATASIZE PUSH1 0x4 PUSH2 0x1D96 JUMP JUMPDEST PUSH2 0xDE0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0x2234 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x29D CALLDATASIZE PUSH1 0x4 PUSH2 0x1D96 JUMP JUMPDEST PUSH2 0xE26 JUMP JUMPDEST PUSH2 0x19A PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A65 JUMP JUMPDEST PUSH2 0xE49 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x2C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D96 JUMP JUMPDEST PUSH2 0xE74 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0xE98 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x2DE CALLDATASIZE PUSH1 0x4 PUSH2 0x1C90 JUMP JUMPDEST PUSH2 0xE9D JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0x2F1 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A03 JUMP JUMPDEST PUSH2 0xEBA JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x1C90 JUMP JUMPDEST PUSH2 0xFB0 JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0x317 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A65 JUMP JUMPDEST PUSH2 0xFCD JUMP JUMPDEST PUSH2 0x20E PUSH2 0xFF5 JUMP JUMPDEST PUSH2 0x1C3 PUSH2 0x332 CALLDATASIZE PUSH1 0x4 PUSH2 0x1C90 JUMP JUMPDEST PUSH2 0x1004 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x38D JUMPI POP PUSH2 0x38D DUP3 PUSH2 0x1694 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x3C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x208F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP9 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x404 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x418 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x43C SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST DUP2 EQ PUSH2 0x45A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x20C6 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0x6022A485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6022A485 SWAP1 PUSH2 0x48B SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x1E0F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x4DB SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x4FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1FFB JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0x52E SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DF0 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x547 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x55B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x57F SWAP2 SWAP1 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x5B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x20FD JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SLOAD SWAP2 MLOAD PUSH2 0x5E5 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP11 SWAP2 ADD PUSH2 0x1DF9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x618 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1E8B JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND EQ ISZERO PUSH2 0xAFE JUMPI PUSH20 0x0 PUSH4 0xA475B5DD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x66D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x681 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6A5 SWAP2 SWAP1 PUSH2 0x1DC1 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x70A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x72E SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST EQ PUSH2 0x74B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1F30 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x40 ADD MLOAD GT PUSH2 0x76F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1EC2 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP8 MLOAD DUP2 LT ISZERO PUSH2 0x99E JUMPI PUSH2 0x7FA DUP8 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x79E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP11 DUP11 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x7C7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7DF SWAP2 SWAP1 PUSH2 0x1DF0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x16DE JUMP JUMPDEST PUSH2 0x816 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1EF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP10 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x841 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD DUP3 MSTORE PUSH1 0x40 DUP1 DUP7 ADD DUP1 MLOAD SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x0 DUP15 DUP2 MSTORE PUSH1 0x3 DUP4 MSTORE DUP2 DUP2 KECCAK256 DUP9 DUP3 MSTORE DUP4 MSTORE DUP2 DUP2 KECCAK256 DUP7 DUP3 MSTORE DUP4 MSTORE DUP2 DUP2 KECCAK256 DUP6 MLOAD DUP2 SSTORE SWAP5 DUP4 ADD MLOAD PUSH1 0x1 SWAP1 SWAP6 ADD SWAP5 SWAP1 SWAP5 SSTORE SWAP2 MLOAD DUP14 DUP5 MSTORE PUSH1 0x5 DUP3 MSTORE DUP3 DUP5 KECCAK256 DUP6 DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP3 KECCAK256 DUP11 MLOAD SWAP2 SWAP3 SWAP1 SWAP2 DUP12 SWAP1 DUP6 SWAP1 DUP2 LT PUSH2 0x8C5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x8E6 SWAP2 SWAP1 PUSH2 0x2337 JUMP JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP11 MLOAD SWAP1 SWAP2 SWAP1 DUP12 SWAP1 DUP6 SWAP1 DUP2 LT PUSH2 0x924 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x40 ADD MLOAD PUSH1 0x4 PUSH1 0x0 DUP13 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x972 SWAP2 SWAP1 PUSH2 0x2337 JUMP JUMPDEST PUSH1 0x0 DUP12 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE DUP1 PUSH2 0x996 DUP2 PUSH2 0x2366 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x772 JUMP JUMPDEST POP PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH32 0xFABB989000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xFABB9890 SWAP1 PUSH2 0x9EA SWAP1 DUP6 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA18 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x6 SLOAD SWAP1 MLOAD PUSH32 0x9864F70A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 POP PUSH4 0x9864F70A SWAP1 PUSH2 0xA84 SWAP1 DUP6 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xAB2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x17F4759C403DFC3FA26AB75CE82D3D090A0BDBFE9977D8EE87445D6DD83C68A1 DUP10 DUP4 DUP4 PUSH1 0x40 ADD MLOAD DUP11 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0xAF1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2285 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0xCBD JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xB56 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB7A SWAP2 SWAP1 PUSH2 0x1DC1 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xBCB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBDF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC03 SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST EQ PUSH2 0xC20 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1FC4 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x6 SLOAD SWAP1 MLOAD PUSH32 0xF91CE1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xF91CE19 SWAP1 PUSH2 0xC8A SWAP1 DUP6 SWAP1 CALLER SWAP1 DUP15 SWAP1 PUSH1 0x4 ADD PUSH2 0x224B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xCA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCB8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP3 MSTORE SWAP3 DUP5 MSTORE DUP3 DUP5 KECCAK256 SWAP1 MSTORE DUP3 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0xD2B PUSH2 0xD23 DUP4 PUSH2 0xCC8 JUMP JUMPDEST PUSH2 0x2B0 PUSH2 0x1799 JUMP JUMPDEST PUSH2 0xD47 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1E2E JUMP JUMPDEST PUSH2 0xD51 DUP3 DUP3 PUSH2 0x179D JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xD5D PUSH2 0x1799 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xD8D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x21A0 JUMP JUMPDEST PUSH2 0xD51 DUP3 DUP3 PUSH2 0x1825 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP3 DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xDE8 PUSH2 0x18AA JUMP JUMPDEST POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD DUP1 DUP5 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 ADD SLOAD SWAP1 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP3 MSTORE SWAP3 DUP5 MSTORE DUP3 DUP5 KECCAK256 SWAP1 MSTORE DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 SWAP4 DUP6 MSTORE SWAP3 DUP2 MSTORE DUP3 DUP5 KECCAK256 SWAP2 DUP5 MSTORE MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP3 DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xED3 JUMPI POP PUSH1 0x0 SLOAD PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0xEEF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x2032 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO DUP1 ISZERO PUSH2 0xF1A JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT PUSH2 0xFF00 NOT SWAP1 SWAP2 AND PUSH2 0x100 OR AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 PUSH2 0xF26 DUP2 CALLER PUSH2 0xE49 JUMP JUMPDEST PUSH2 0xF42 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x2132 JUMP JUMPDEST POP PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP8 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x7 DUP1 SLOAD DUP7 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x8 DUP1 SLOAD SWAP3 DUP6 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 ISZERO PUSH2 0xFAA JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND SWAP1 SSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xFD9 PUSH2 0xD23 DUP4 PUSH2 0xCC8 JUMP JUMPDEST PUSH2 0xD8D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x1F67 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH2 0x1026 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x208F JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xEAF3235 PUSH1 0xE3 SHL DUP2 MSTORE SWAP1 MLOAD DUP5 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 PUSH4 0x757991A8 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x106A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x107E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x10A2 SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST DUP2 EQ PUSH2 0x10C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x20C6 JUMP JUMPDEST PUSH20 0x0 PUSH4 0x3C7A3AFF PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1104 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1118 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x113C SWAP2 SWAP1 PUSH2 0x1DC1 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1865C57D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x118D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x11A1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x11C5 SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST DUP2 EQ PUSH2 0x11E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x2169 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0x6022A485 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6022A485 SWAP1 PUSH2 0x1214 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x1E0F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x122C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1240 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1264 SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x129E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B7 SWAP1 PUSH2 0x21FD JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0x71E4CC7F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE3C998FE SWAP1 PUSH2 0x12CF SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DF0 JUMP JUMPDEST PUSH2 0x100 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12FC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1320 SWAP2 SWAP1 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x8 SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x4C07569 PUSH2 0x133F PUSH1 0x1 DUP10 PUSH2 0x234F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x135B SWAP2 SWAP1 PUSH2 0x1DF0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1387 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x13AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1ADB JUMP JUMPDEST MLOAD ISZERO DUP1 ISZERO PUSH2 0x1445 JUMPI POP PUSH1 0x8 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE38C7C42 PUSH2 0x13D7 PUSH1 0x1 DUP11 PUSH2 0x234F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13F3 SWAP2 SWAP1 PUSH2 0x1DF0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x140B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1443 SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST GT JUMPDEST ISZERO PUSH2 0x14B3 JUMPI PUSH1 0x8 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9B87F644 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x149A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x14AE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH32 0x54EAE15E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x54EAE15E SWAP1 PUSH2 0x14FE SWAP1 DUP6 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1518 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x152C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0x0 PUSH4 0x375B3C0A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1574 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1588 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15AC SWAP2 SWAP1 PUSH2 0x1C78 JUMP JUMPDEST DUP2 PUSH1 0x40 ADD MLOAD LT PUSH2 0x168C JUMPI PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP7 SWAP1 SSTORE PUSH1 0x6 SLOAD SWAP1 MLOAD PUSH32 0x188DC83B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x188DC83B SWAP1 PUSH2 0x161C SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x1DF0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1636 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x164A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x6AD04B07DBE80EE3971460EBC13808FB6DD0FA67FBF7D7EBC4DE85811D2C9928 DUP7 DUP4 DUP8 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x1683 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x226A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x178E JUMPI PUSH1 0x0 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x170E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP1 DUP4 GT PUSH2 0x174F JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1732 SWAP3 SWAP2 SWAP1 PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP PUSH2 0x177B JUMP JUMPDEST DUP1 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1762 SWAP3 SWAP2 SWAP1 PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP JUMPDEST POP DUP1 PUSH2 0x1786 DUP2 PUSH2 0x2366 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x16E3 JUMP JUMPDEST POP SWAP1 SWAP3 EQ SWAP4 SWAP3 POP POP POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH2 0x17A7 DUP3 DUP3 PUSH2 0xE49 JUMP JUMPDEST PUSH2 0xD51 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x17E1 PUSH2 0x1799 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x182F DUP3 DUP3 PUSH2 0xE49 JUMP JUMPDEST ISZERO PUSH2 0xD51 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x1866 PUSH2 0x1799 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x390 DUP2 PUSH2 0x23AD JUMP JUMPDEST DUP1 MLOAD PUSH2 0x390 DUP2 PUSH2 0x23AD JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x18EA JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x18FF PUSH2 0x18FA DUP4 PUSH2 0x2313 JUMP JUMPDEST PUSH2 0x22E9 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP2 DUP2 ADD SWAP1 DUP6 DUP4 ADD DUP6 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x198C JUMPI DUP2 CALLDATALOAD DUP9 ADD DUP10 PUSH1 0x3F DUP3 ADD SLT PUSH2 0x1925 JUMPI DUP8 DUP9 REVERT JUMPDEST DUP6 DUP2 ADD CALLDATALOAD PUSH1 0x40 PUSH2 0x1937 PUSH2 0x18FA DUP4 PUSH2 0x2313 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP9 DUP2 ADD SWAP1 DUP5 DUP4 ADD DUP11 DUP6 MUL DUP7 ADD DUP5 ADD DUP16 LT ISZERO PUSH2 0x1953 JUMPI DUP13 DUP14 REVERT JUMPDEST DUP13 SWAP6 POP JUMPDEST DUP5 DUP7 LT ISZERO PUSH2 0x1975 JUMPI DUP1 CALLDATALOAD DUP4 MSTORE PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP2 DUP11 ADD SWAP2 DUP11 ADD PUSH2 0x1957 JUMP JUMPDEST POP DUP9 MSTORE POP POP POP SWAP4 DUP6 ADD SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x190B JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x19A9 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x19B9 PUSH2 0x18FA DUP4 PUSH2 0x2313 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP2 DUP2 ADD SWAP1 DUP6 DUP4 ADD DUP4 DUP6 MUL DUP8 ADD DUP5 ADD DUP9 LT ISZERO PUSH2 0x19D5 JUMPI DUP6 DUP7 REVERT JUMPDEST DUP6 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x198C JUMPI DUP2 MLOAD DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x19D7 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x390 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1A17 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x1A22 DUP2 PUSH2 0x23AD JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x1A32 DUP2 PUSH2 0x23AD JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x1A42 DUP2 PUSH2 0x23AD JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A5E JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1A77 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x1A89 DUP2 PUSH2 0x23AD JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AA5 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x1AD4 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AEC JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1B03 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP PUSH2 0x100 DUP1 DUP4 DUP8 SUB SLT ISZERO PUSH2 0x1B19 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x1B22 DUP2 PUSH2 0x22E9 JUMP JUMPDEST SWAP1 POP DUP3 MLOAD DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1B39 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1B45 DUP8 DUP3 DUP7 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1B5C JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1B68 DUP8 DUP3 DUP7 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1B7F JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1B8B DUP8 DUP3 DUP7 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x1BA2 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x1BAE DUP8 DUP3 DUP7 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MSTORE POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x1BD4 PUSH1 0xE0 DUP5 ADD PUSH2 0x19F3 JUMP JUMPDEST PUSH1 0xE0 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1BF5 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1C18 JUMPI PUSH2 0x1C18 PUSH2 0x2397 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 MLOAD DUP2 MSTORE PUSH2 0x1C2C PUSH1 0x20 DUP6 ADD PUSH2 0x18CF JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP5 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0xE0 DUP3 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C89 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CA2 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x1CC9 JUMPI DUP4 DUP5 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 DUP1 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1CEF JUMPI DUP7 DUP8 REVERT JUMPDEST DUP2 DUP11 ADD SWAP2 POP DUP11 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1D02 JUMPI DUP7 DUP8 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D10 PUSH2 0x18FA DUP3 PUSH2 0x2313 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 DUP2 ADD SWAP1 DUP5 DUP7 ADD DUP7 DUP5 MUL DUP7 ADD DUP8 ADD DUP16 LT ISZERO PUSH2 0x1D2C JUMPI DUP11 DUP12 REVERT JUMPDEST DUP11 SWAP6 POP JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x1D4E JUMPI DUP1 CALLDATALOAD DUP4 MSTORE PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP2 DUP7 ADD SWAP2 DUP7 ADD PUSH2 0x1D30 JUMP JUMPDEST POP SWAP9 POP POP POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x1D66 JUMPI DUP5 DUP6 REVERT JUMPDEST POP POP PUSH2 0x1D74 DUP10 DUP3 DUP11 ADD PUSH2 0x18DA JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH2 0x1D8A PUSH1 0xA0 DUP9 ADD PUSH2 0x18C4 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1DAA JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DD2 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1AD4 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x16 SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F7272656374207365637265742F76616C756500000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH32 0x6E6F6E706F736974697665207374616B65000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH32 0x696E76616C6964206D65726B6C652070726F6F66000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F742072657665616C20737461746500000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420636F6D6D697420737461746500000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1D SWAP1 DUP3 ADD MSTORE PUSH32 0x537472756374732E5374616B657220646F6573206E6F74206578697374000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2E SWAP1 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x647920696E697469616C697A6564000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1E SWAP1 DUP3 ADD MSTORE PUSH32 0x436F6E74726163742073686F756C6420626520696E697469616C697A65640000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742065706F63680000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x6E6F7420636F6D6D69746564206F7220616C72656164792072657665616C6564 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x41434C3A2073656E646572206E6F7420617574686F72697A6564000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH32 0x696E636F72726563742073746174650000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH32 0x616C726561647920636F6D6D6974656400000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 SWAP2 DUP3 ADD MLOAD SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD DUP8 DUP4 MSTORE PUSH1 0x20 DUP8 DUP2 DUP6 ADD MSTORE DUP7 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x60 DUP6 ADD MSTORE DUP2 DUP7 MLOAD DUP1 DUP5 MSTORE PUSH1 0xC0 DUP7 ADD SWAP2 POP DUP3 DUP9 ADD SWAP4 POP DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x22D1 JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x22B5 JUMP JUMPDEST POP POP DUP1 SWAP4 POP POP POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x230B JUMPI PUSH2 0x230B PUSH2 0x2397 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x232D JUMPI PUSH2 0x232D PUSH2 0x2397 JUMP JUMPDEST POP PUSH1 0x20 SWAP1 DUP2 MUL ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x234A JUMPI PUSH2 0x234A PUSH2 0x2381 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x2361 JUMPI PUSH2 0x2361 PUSH2 0x2381 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x237A JUMPI PUSH2 0x237A PUSH2 0x2381 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x23C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4D JUMP 0x5D STATICCALL SHL 0x4E ADD 0xDE ISZERO 0x2C ISZERO SHL LOG2 0xAE SHL 0xE0 DUP15 0x4D 0xE DUP10 RETURNDATACOPY NOT 0xC9 STATICCALL EXTCODESIZE POP 0xD3 PUSH19 0x72538C2764736F6C6343000800003300000000 ", - "sourceMap": "373:5107:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2376:2040:12;;;;;;:::i;:::-;;:::i;:::-;;4185:121:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;280:89:21:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;475:33:12:-;;;:::i;:::-;;;;;;;:::i;4556:228:0:-;;;;;;:::i;:::-;;:::i;5740:214::-;;;;;;:::i;:::-;;:::i;4422:180:12:-;;;;;;:::i;:::-;;:::i;436:33::-;;;:::i;412:76:21:-;;;;;;:::i;:::-;;:::i;4608:216:12:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;540:90:21:-;;;;;;:::i;:::-;;:::i;3867:137:0:-;;;;;;:::i;:::-;;:::i;4830:220:12:-;;;;;;:::i;:::-;;:::i;2363:49:0:-;;;:::i;5056:192:12:-;;;;;;:::i;:::-;;:::i;1013:376::-;;;;;;:::i;:::-;;:::i;163:68:21:-;;;;;;:::i;:::-;;:::i;5018:231:0:-;;;;;;:::i;:::-;;:::i;514:33:12:-;;;:::i;1400:969::-;;;;;;:::i;:::-;;:::i;3566:214:0:-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;;3566:214;;;;:::o;2376:2040:12:-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;;;;;;;;;816:12:12::1;::::0;:23:::1;::::0;;-1:-1:-1;;;816:23:12;;;;2613:5;;-1:-1:-1;;;;;816:12:12::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;807:5;:32;799:60;;;;-1:-1:-1::0;;;799:60:12::1;;;;;;;:::i;:::-;2658:12:::2;::::0;:39:::2;::::0;-1:-1:-1;;;2658:39:12;;2635:20:::2;::::0;-1:-1:-1;;;;;2658:12:12::2;::::0;:24:::2;::::0;:39:::2;::::0;2683:13;;2658:39:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2635:62;;2730:1;2715:12;:16;2707:58;;;;-1:-1:-1::0;;;2707:58:12::2;;;;;;;:::i;:::-;2810:12;::::0;:36:::2;::::0;-1:-1:-1;;;2810:36:12;;2775:32:::2;::::0;-1:-1:-1;;;;;2810:12:12::2;::::0;:22:::2;::::0;:36:::2;::::0;2833:12;;2810:36:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2864:18;::::0;;;:11:::2;:18;::::0;;;;;;;:32;;;;;;;;;2775:71;;-1:-1:-1;2856:84:12::2;;;;-1:-1:-1::0;;;2856:84:12::2;;;;;;;:::i;:::-;3010:18;::::0;;;:11:::2;:18;::::0;;;;;;;:32;;;;;;;;;;2968:37;;::::2;::::0;3022:5;;2992:4;;2998:6;;2968:37:::2;;:::i;:::-;;;;;;;;;;;;;2958:48;;;;;;:84;2950:135;;;;-1:-1:-1::0;;;2950:135:12::2;;;;;;;:::i;:::-;3136:10;-1:-1:-1::0;;;;;3136:27:12;::::2;;3132:1278;;;3214:9;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3187:45;;:12;;;;;;;;;-1:-1:-1::0;;;;;3187:12:12::2;-1:-1:-1::0;;;;;3187:21:12::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;3179:74;;;;-1:-1:-1::0;;;3179:74:12::2;;;;;;;:::i;:::-;3294:1;3275:10;:16;;;:20;3267:50;;;;-1:-1:-1::0;;;3267:50:12::2;;;;;;;:::i;:::-;3336:9;3331:492;3355:6;:13;3351:1;:17;3331:492;;;3401:75;3420:6;3427:1;3420:9;;;;;;-1:-1:-1::0;;;3420:9:12::2;;;;;;;;;;;;;;;3431:4;3464:6;3471:1;3464:9;;;;;;-1:-1:-1::0;;;3464:9:12::2;;;;;;;;;;;;;;;3447:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;3437:38;;;;;;3401:18;:75::i;:::-;3393:124;;;;-1:-1:-1::0;;;3393:124:12::2;;;;;;;:::i;:::-;3567:41;;;;;;;;3580:6;3587:1;3580:9;;;;;;-1:-1:-1::0;;;3580:9:12::2;;;;;;;;;;::::0;;::::2;::::0;;;;;;;3567:41;;3591:16:::2;::::0;;::::2;::::0;;3567:41;;::::2;::::0;;;;-1:-1:-1;3535:12:12;;;:5:::2;:12:::0;;;;;:26;;;;;;;;:29;;;;;;;;:73;;;;;;::::2;::::0;::::2;::::0;;::::2;::::0;;;;3695:16;;3661:18;;;:11:::2;:18:::0;;;;;:21;;;;;;;;;3683:9;;3695:16;;3661:21;;3683:6;;3562:1;;3683:9;::::2;;;-1:-1:-1::0;;;3683:9:12::2;;;;;;;;;;;;;;;3661:32;;;;;;;;;;;;:51;;;;:::i;:::-;3626:18;::::0;;;:11:::2;:18;::::0;;;;;;;:21;;;;;;;;3648:9;;3626:21;;:18;3648:6;;3645:1;;3648:9;::::2;;;-1:-1:-1::0;;;3648:9:12::2;;;;;;;;;;;;;;;3626:32;;;;;;;;;;;:86;;;;3791:10;:16;;;3761:18;:25;3780:5;3761:25;;;;;;;;;;;:28;3787:1;3761:28;;;;;;;;;;;;:47;;;;:::i;:::-;3730:25;::::0;;;:18:::2;:25;::::0;;;;;;;:28;;;;;;;;:78;3756:1;3370:3:::2;3756:1:::0;3370:3:::2;:::i;:::-;;;;3331:492;;;-1:-1:-1::0;3837:12:12::2;::::0;:45:::2;::::0;;;;-1:-1:-1;;;;;3837:12:12;;::::2;::::0;:24:::2;::::0;:45:::2;::::0;3862:12;;3876:5;;3837:45:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;;3932:3:12::2;3897:18:::0;;;:11:::2;:18;::::0;;;;;;;:32;;;;;;;;;:38;;;;3949:12:::2;::::0;:60;;;;;-1:-1:-1;;;;;3949:12:12;;::::2;::::0;-1:-1:-1;3949:39:12::2;::::0;:60:::2;::::0;3916:12;;3909:5;;3949:60:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;4029:72;4038:5;4045:12;4059:10;:16;;;4077:6;4085:15;4029:72;;;;;;;;;;:::i;:::-;;;;;;;;3132:1278;;;4243:9;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4216:45;;:12;;;;;;;;;-1:-1:-1::0;;;;;4216:12:12::2;-1:-1:-1::0;;;;;4216:21:12::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;4208:74;;;;-1:-1:-1::0;;;4208:74:12::2;;;;;;;:::i;:::-;4331:3;4296:18:::0;;;:11:::2;:18;::::0;;;;;;;:32;;;;;;;;;:38;;;;4348:12:::2;::::0;:51;;;;;-1:-1:-1;;;;;4348:12:12;;::::2;::::0;:18:::2;::::0;:51:::2;::::0;4315:12;;4381:10:::2;::::0;4308:5;;4348:51:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;3132:1278;869:1;;2057::24::1;2376:2040:12::0;;;;;;:::o;4185:121:0:-;4251:7;4277:12;;;:6;:12;;;;;;;;:22;;;4185:121::o;280:89:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;475:33:12:-;;;-1:-1:-1;;;;;475:33:12;;:::o;4556:228:0:-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;5740:214::-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;4422:180:12:-;4498:7;4566:18;;;:11;:18;;;;;;;;:28;;;;;;;;;;4422:180::o;436:33::-;;;-1:-1:-1;;;;;436:33:12;;:::o;412:76:21:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;4608:216:12:-;4695:24;;:::i;:::-;-1:-1:-1;4785:12:12;;;;:5;:12;;;;;;;;:22;;;;;;;;:31;;;;;;;;;4778:39;;;;;;;;;;;;;;;;;;;4608:216;;;;;:::o;540:90:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3867:137:0:-;3945:4;3968:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;4830:220:12:-;4928:7;5004:18;;;:11;:18;;;;;;;;:27;;;;;;;;;:38;;;;;;;;4830:220::o;2363:49:0:-;2408:4;2363:49;:::o;5056:192:12:-;5139:7;5206:25;;;:18;:25;;;;;;;;:34;;;;;;;;;;5056:192::o;1013:376::-;1623:13:24;;;;;;;;:30;;-1:-1:-1;1641:12:24;;;;1640:13;1623:30;1615:89;;;;-1:-1:-1;;;1615:89:24;;;;;;;:::i;:::-;1715:19;1738:13;;;;;;1737:14;1761:98;;;;1795:13;:20;;-1:-1:-1;;;;1795:20:24;;;;;1829:19;1811:4;1829:19;;;1761:98;2408:4:0::1;322:26:7;2408:4:0::0;337:10:7::1;322:7;:26::i;:::-;314:65;;;;-1:-1:-1::0;;;314:65:7::1;;;;;;;:::i;:::-;-1:-1:-1::0;1215:12:12::2;:49:::0;;-1:-1:-1;;;;;1215:49:12;;::::2;::::0;;;::::2;;::::0;;;1274:12:::2;:49:::0;;;;::::2;::::0;;::::2;;::::0;;1333:12:::2;:49:::0;;;;::::2;::::0;;;::::2;::::0;;;::::2;::::0;;1881:66:24;;;;1931:5;1915:21;;-1:-1:-1;;1915:21:24;;;1881:66;1013:376:12;;;;:::o;163:68:21:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5018:231:0:-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;514:33:12:-;;;-1:-1:-1;;;;;514:33:12;;:::o;1400:969::-;2000:12:24;;;;1992:55;;;;-1:-1:-1;;;1992:55:24;;;;;;;:::i;:::-;816:12:12::1;::::0;:23:::1;::::0;;-1:-1:-1;;;816:23:12;;;;1481:5;;-1:-1:-1;;;;;816:12:12::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:12;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;807:5;:32;799:60;;;;-1:-1:-1::0;;;799:60:12::1;;;;;;;:::i;:::-;1499:9:::2;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;883:124;;946:12;;;;;;;;;-1:-1:-1::0;;;;;946:12:12::2;-1:-1:-1::0;;;;;946:21:12::2;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:5;:32;929:60;;;;-1:-1:-1::0;;;929:60:12::2;;;;;;;:::i;:::-;1548:12:::3;::::0;:36:::3;::::0;-1:-1:-1;;;1548:36:12;;1529:16:::3;::::0;-1:-1:-1;;;;;1548:12:12::3;::::0;:24:::3;::::0;:36:::3;::::0;1573:10:::3;::::0;1548:36:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1602:18;::::0;;;:11:::3;:18;::::0;;;;;;;:28;;;;;;;;;1529:55;;-1:-1:-1;1602:35:12;1594:64:::3;;;;-1:-1:-1::0;;;1594:64:12::3;;;;;;;:::i;:::-;1703:12;::::0;:32:::3;::::0;-1:-1:-1;;;1703:32:12;;1668::::3;::::0;-1:-1:-1;;;;;1703:12:12::3;::::0;:22:::3;::::0;:32:::3;::::0;1726:8;;1703:32:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1906:12;::::0;1668:67;;-1:-1:-1;;;;;;1906:12:12::3;:21;1928:7;1906:12:::0;1928:5;:7:::3;:::i;:::-;1906:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;::::0;;::::3;-1:-1:-1::0;;1906:30:12::3;::::0;::::3;;::::0;::::3;::::0;;;::::3;::::0;::::3;:::i;:::-;:41:::0;:46;:96;::::3;;;-1:-1:-1::0;1956:12:12::3;::::0;2001:1:::3;::::0;-1:-1:-1;;;;;1956:12:12::3;:33;1990:7;1956:12:::0;1990:5;:7:::3;:::i;:::-;1956:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;1906:96;1902:154;;;2018:12;;;;;;;;;-1:-1:-1::0;;;;;2018:12:12::3;-1:-1:-1::0;;;;;2018:25:12::3;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;1902:154;2065:12;::::0;:43:::3;::::0;;;;-1:-1:-1;;;;;2065:12:12;;::::3;::::0;:26:::3;::::0;:43:::3;::::0;2092:8;;2102:5;;2065:43:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;2143:9;:18;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2123:10;:16;;;:40;2119:244;;2179:18;::::0;;;:11:::3;:18;::::0;;;;;;;:28;;;;;;;;;;:41;;;2234:12:::3;::::0;:44;;;;;-1:-1:-1;;;;;2234:12:12;;::::3;::::0;:34:::3;::::0;:44:::3;::::0;2198:8;;2234:44:::3;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;2297:55;2307:5;2314:8;2324:10;2336:15;2297:55;;;;;;;;;:::i;:::-;;;;;;;;2119:244;999:1;;869::::2;2057::24::1;1400:969:12::0;;:::o;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;497:779:4:-;588:4;627;588;642:515;666:5;:12;662:1;:16;642:515;;;699:20;722:5;728:1;722:8;;;;;;-1:-1:-1;;;722:8:4;;;;;;;;;;;;;;;699:31;;765:12;749;:28;745:402;;917:12;931;900:44;;;;;;;;;:::i;:::-;;;;;;;;;;;;;890:55;;;;;;875:70;;745:402;;;1104:12;1118;1087:44;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1077:55;;;;;;1062:70;;745:402;-1:-1:-1;680:3:4;;;;:::i;:::-;;;;642:515;;;-1:-1:-1;1249:20:4;;;;497:779;-1:-1:-1;;;497:779:4:o;586:96:3:-;665:10;586:96;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:12;;;;7096:4;7064:12;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;;;;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;14:138:29:-;84:20;;113:33;84:20;113:33;:::i;157:142::-;238:13;;260:33;238:13;260:33;:::i;304:1399::-;;431:3;424:4;416:6;412:17;408:27;398:2;;453:5;446;439:20;398:2;493:6;480:20;519:4;543:79;558:63;618:2;558:63;:::i;:::-;543:79;:::i;:::-;656:15;;;687:12;;;;719:15;;;752:5;766:908;780:2;777:1;774:9;766:908;;;860:3;847:17;839:6;835:30;905:3;900:2;896;892:11;888:21;878:2;;927:5;920;913:20;878:2;979;975;971:11;958:25;1006:2;1034:79;1049:63;1109:2;1049:63;:::i;1034:79::-;1157:17;;;1196:14;;;;1236:11;;;1278;;;1270:20;;1266:29;;1263:38;-1:-1:-1;1260:2:29;;;1318:5;1311;1304:20;1260:2;1350:5;1339:16;;1368:201;1384:2;1379:3;1376:11;1368:201;;;1455:19;;1441:34;;1406:1;1397:11;;;;;1501:14;;;;1541;;1368:201;;;-1:-1:-1;1582:18:29;;-1:-1:-1;;;1620:12:29;;;;-1:-1:-1;1652:12:29;;;;798:1;791:9;766:908;;;-1:-1:-1;1692:5:29;;388:1315;-1:-1:-1;;;;;;;388:1315:29:o;1708:716::-;;1832:3;1825:4;1817:6;1813:17;1809:27;1799:2;;1854:5;1847;1840:20;1799:2;1887:6;1881:13;1913:4;1937:79;1952:63;2012:2;1952:63;:::i;1937:79::-;2050:15;;;2081:12;;;;2113:15;;;2159:11;;;2147:24;;2143:33;;2140:42;-1:-1:-1;2137:2:29;;;2199:5;2192;2185:20;2137:2;2225:5;2239:156;2253:2;2250:1;2247:9;2239:156;;;2310:10;;2298:23;;2341:12;;;;2373;;;;2271:1;2264:9;2239:156;;2429:166;2507:13;;2556;;2549:21;2539:32;;2529:2;;2585:1;2582;2575:12;2600:545;;;;2746:2;2734:9;2725:7;2721:23;2717:32;2714:2;;;2767:6;2759;2752:22;2714:2;2811:9;2798:23;2830:33;2857:5;2830:33;:::i;:::-;2882:5;-1:-1:-1;2939:2:29;2924:18;;2911:32;2952:35;2911:32;2952:35;:::i;:::-;3006:7;-1:-1:-1;3065:2:29;3050:18;;3037:32;3078:35;3037:32;3078:35;:::i;:::-;3132:7;3122:17;;;2704:441;;;;;:::o;3150:190::-;;3262:2;3250:9;3241:7;3237:23;3233:32;3230:2;;;3283:6;3275;3268:22;3230:2;-1:-1:-1;3311:23:29;;3220:120;-1:-1:-1;3220:120:29:o;3345:327::-;;;3474:2;3462:9;3453:7;3449:23;3445:32;3442:2;;;3495:6;3487;3480:22;3442:2;3536:9;3523:23;3513:33;;3596:2;3585:9;3581:18;3568:32;3609:33;3636:5;3609:33;:::i;:::-;3661:5;3651:15;;;3432:240;;;;;:::o;3677:352::-;;3788:2;3776:9;3767:7;3763:23;3759:32;3756:2;;;3809:6;3801;3794:22;3756:2;3853:9;3840:23;3903:66;3896:5;3892:78;3885:5;3882:89;3872:2;;3990:6;3982;3975:22;3872:2;4018:5;3746:283;-1:-1:-1;;;3746:283:29:o;4034:1538::-;;4180:2;4168:9;4159:7;4155:23;4151:32;4148:2;;;4201:6;4193;4186:22;4148:2;4239:9;4233:16;4268:18;4309:2;4301:6;4298:14;4295:2;;;4330:6;4322;4315:22;4295:2;4373:6;4362:9;4358:22;4348:32;;4399:6;4439:2;4434;4425:7;4421:16;4417:25;4414:2;;;4460:6;4452;4445:22;4414:2;4491:18;4506:2;4491:18;:::i;:::-;4478:31;;4538:2;4532:9;4525:5;4518:24;4581:2;4577;4573:11;4567:18;4610:2;4600:8;4597:16;4594:2;;;4631:6;4623;4616:22;4594:2;4672:73;4737:7;4726:8;4722:2;4718:17;4672:73;:::i;:::-;4667:2;4660:5;4656:14;4649:97;;4785:2;4781;4777:11;4771:18;4814:2;4804:8;4801:16;4798:2;;;4835:6;4827;4820:22;4798:2;4876:73;4941:7;4930:8;4926:2;4922:17;4876:73;:::i;:::-;4871:2;4864:5;4860:14;4853:97;;4989:2;4985;4981:11;4975:18;5018:2;5008:8;5005:16;5002:2;;;5039:6;5031;5024:22;5002:2;5080:73;5145:7;5134:8;5130:2;5126:17;5080:73;:::i;:::-;5075:2;5068:5;5064:14;5057:97;;5193:3;5189:2;5185:12;5179:19;5223:2;5213:8;5210:16;5207:2;;;5244:6;5236;5229:22;5207:2;5286:73;5351:7;5340:8;5336:2;5332:17;5286:73;:::i;:::-;5280:3;5273:5;5269:15;5262:98;;5407:3;5403:2;5399:12;5393:19;5387:3;5380:5;5376:15;5369:44;5460:3;5456:2;5452:12;5446:19;5440:3;5433:5;5429:15;5422:44;5499:42;5536:3;5532:2;5528:12;5499:42;:::i;:::-;5493:3;5482:15;;5475:67;5486:5;4138:1434;-1:-1:-1;;;;;4138:1434:29:o;5577:920::-;;5702:3;5746:2;5734:9;5725:7;5721:23;5717:32;5714:2;;;5767:6;5759;5752:22;5714:2;5805;5799:9;5835:15;;;;5880:18;5865:34;;5901:22;;;5862:62;5859:2;;;5927:18;;:::i;:::-;5967:10;5963:2;5956:22;6008:9;6002:16;5994:6;5987:32;6052:51;6099:2;6088:9;6084:18;6052:51;:::i;:::-;6047:2;6039:6;6035:15;6028:76;6158:2;6147:9;6143:18;6137:25;6132:2;6124:6;6120:15;6113:50;6217:2;6206:9;6202:18;6196:25;6191:2;6183:6;6179:15;6172:50;6277:3;6266:9;6262:19;6256:26;6250:3;6242:6;6238:16;6231:52;6338:3;6327:9;6323:19;6317:26;6311:3;6303:6;6299:16;6292:52;6399:3;6388:9;6384:19;6378:26;6372:3;6364:6;6360:16;6353:52;6460:3;6449:9;6445:19;6439:26;6433:3;6425:6;6421:16;6414:52;6485:6;6475:16;;;;5682:815;;;;:::o;6502:194::-;;6625:2;6613:9;6604:7;6600:23;6596:32;6593:2;;;6646:6;6638;6631:22;6593:2;-1:-1:-1;6674:16:29;;6583:113;-1:-1:-1;6583:113:29:o;6701:258::-;;;6830:2;6818:9;6809:7;6805:23;6801:32;6798:2;;;6851:6;6843;6836:22;6798:2;-1:-1:-1;;6879:23:29;;;6949:2;6934:18;;;6921:32;;-1:-1:-1;6788:171:29:o;6964:1552::-;;;;;;;7236:3;7224:9;7215:7;7211:23;7207:33;7204:2;;;7258:6;7250;7243:22;7204:2;7299:9;7286:23;7276:33;;7328:2;7377;7366:9;7362:18;7349:32;7339:42;;7432:2;7421:9;7417:18;7404:32;7455:18;7496:2;7488:6;7485:14;7482:2;;;7517:6;7509;7502:22;7482:2;7560:6;7549:9;7545:22;7535:32;;7605:7;7598:4;7594:2;7590:13;7586:27;7576:2;;7632:6;7624;7617:22;7576:2;7673;7660:16;7696:79;7711:63;7771:2;7711:63;:::i;7696:79::-;7809:15;;;7840:12;;;;7872:11;;;7910;;;7902:20;;7898:29;;7895:42;-1:-1:-1;7892:2:29;;;7955:6;7947;7940:22;7892:2;7982:6;7973:15;;7997:163;8011:2;8008:1;8005:9;7997:163;;;8068:17;;8056:30;;8029:1;8022:9;;;;;8106:12;;;;8138;;7997:163;;;-1:-1:-1;8179:5:29;-1:-1:-1;;;8237:2:29;8222:18;;8209:32;;-1:-1:-1;8253:16:29;;;8250:2;;;8287:6;8279;8272:22;8250:2;;;8315:83;8390:7;8379:8;8368:9;8364:24;8315:83;:::i;:::-;8305:93;;;8445:3;8434:9;8430:19;8417:33;8407:43;;8469:41;8505:3;8494:9;8490:19;8469:41;:::i;:::-;8459:51;;7194:1322;;;;;;;;:::o;8784:326::-;;;;8930:2;8918:9;8909:7;8905:23;8901:32;8898:2;;;8951:6;8943;8936:22;8898:2;-1:-1:-1;;8979:23:29;;;9049:2;9034:18;;9021:32;;-1:-1:-1;9100:2:29;9085:18;;;9072:32;;8888:222;-1:-1:-1;8888:222:29:o;9115:293::-;;9236:2;9224:9;9215:7;9211:23;9207:32;9204:2;;;9257:6;9249;9242:22;9204:2;9294:9;9288:16;9344:4;9337:5;9333:16;9326:5;9323:27;9313:2;;9369:6;9361;9354:22;9413:247;9570:19;;;9614:2;9605:12;;9598:28;9651:2;9642:12;;9560:100::o;9665:182::-;9794:19;;;9838:2;9829:12;;9784:63::o;9852:312::-;10037:19;;;10081:2;10072:12;;10065:28;;;;10118:2;10109:12;;10102:28;10155:2;10146:12;;10027:137::o;10169:226::-;-1:-1:-1;;;;;10333:55:29;;;;10315:74;;10303:2;10288:18;;10270:125::o;10400:187::-;10565:14;;10558:22;10540:41;;10528:2;10513:18;;10495:92::o;11533:411::-;11735:2;11717:21;;;11774:2;11754:18;;;11747:30;11813:34;11808:2;11793:18;;11786:62;11884:17;11879:2;11864:18;;11857:45;11934:3;11919:19;;11707:237::o;11949:346::-;12151:2;12133:21;;;12190:2;12170:18;;;12163:30;12229:24;12224:2;12209:18;;12202:52;12286:2;12271:18;;12123:172::o;12300:341::-;12502:2;12484:21;;;12541:2;12521:18;;;12514:30;12580:19;12575:2;12560:18;;12553:47;12632:2;12617:18;;12474:167::o;12646:344::-;12848:2;12830:21;;;12887:2;12867:18;;;12860:30;12926:22;12921:2;12906:18;;12899:50;12981:2;12966:18;;12820:170::o;12995:340::-;13197:2;13179:21;;;13236:2;13216:18;;;13209:30;13275:18;13270:2;13255:18;;13248:46;13326:2;13311:18;;13169:166::o;13340:412::-;13542:2;13524:21;;;13581:2;13561:18;;;13554:30;13620:34;13615:2;13600:18;;13593:62;13691:18;13686:2;13671:18;;13664:46;13742:3;13727:19;;13514:238::o;13757:340::-;13959:2;13941:21;;;13998:2;13978:18;;;13971:30;14037:18;14032:2;14017:18;;14010:46;14088:2;14073:18;;13931:166::o;14102:353::-;14304:2;14286:21;;;14343:2;14323:18;;;14316:30;14382:31;14377:2;14362:18;;14355:59;14446:2;14431:18;;14276:179::o;14460:410::-;14662:2;14644:21;;;14701:2;14681:18;;;14674:30;14740:34;14735:2;14720:18;;14713:62;14811:16;14806:2;14791:18;;14784:44;14860:3;14845:19;;14634:236::o;14875:354::-;15077:2;15059:21;;;15116:2;15096:18;;;15089:30;15155:32;15150:2;15135:18;;15128:60;15220:2;15205:18;;15049:180::o;15234:339::-;15436:2;15418:21;;;15475:2;15455:18;;;15448:30;15514:17;15509:2;15494:18;;15487:45;15564:2;15549:18;;15408:165::o;15578:356::-;15780:2;15762:21;;;15799:18;;;15792:30;15858:34;15853:2;15838:18;;15831:62;15925:2;15910:18;;15752:182::o;15939:350::-;16141:2;16123:21;;;16180:2;16160:18;;;16153:30;16219:28;16214:2;16199:18;;16192:56;16280:2;16265:18;;16113:176::o;16294:339::-;16496:2;16478:21;;;16535:2;16515:18;;;16508:30;16574:17;16569:2;16554:18;;16547:45;16624:2;16609:18;;16468:165::o;16638:411::-;16840:2;16822:21;;;16879:2;16859:18;;;16852:30;16918:34;16913:2;16898:18;;16891:62;16989:17;16984:2;16969:18;;16962:45;17039:3;17024:19;;16812:237::o;17054:340::-;17256:2;17238:21;;;17295:2;17275:18;;;17268:30;17334:18;17329:2;17314:18;;17307:46;17385:2;17370:18;;17228:166::o;17399:291::-;17607:13;;17589:32;;17677:4;17665:17;;;17659:24;17637:20;;;17630:54;;;;17577:2;17562:18;;17544:146::o;17877:368::-;18079:25;;;-1:-1:-1;;;;;18140:55:29;;;;18135:2;18120:18;;18113:83;18227:2;18212:18;;18205:34;18067:2;18052:18;;18034:211::o;18503:391::-;18734:25;;;18790:2;18775:18;;18768:34;;;;18833:2;18818:18;;18811:34;18876:2;18861:18;;18854:34;18721:3;18706:19;;18688:206::o;18899:923::-;;19201:3;19190:9;19186:19;19232:6;19221:9;19214:25;19258:2;19296:6;19291:2;19280:9;19276:18;19269:34;19339:6;19334:2;19323:9;19319:18;19312:34;19382:3;19377:2;19366:9;19362:18;19355:31;19406:6;19441;19435:13;19472:6;19464;19457:22;19510:3;19499:9;19495:19;19488:26;;19549:2;19541:6;19537:15;19523:29;;19570:4;19583:169;19597:6;19594:1;19591:13;19583:169;;;19658:13;;19646:26;;19727:15;;;;19692:12;;;;19619:1;19612:9;19583:169;;;19587:3;;19769;19761:11;;;;;19809:6;19803:3;19792:9;19788:19;19781:35;19162:660;;;;;;;;:::o;19827:251::-;19897:2;19891:9;19927:17;;;19974:18;19959:34;;19995:22;;;19956:62;19953:2;;;20021:18;;:::i;:::-;20057:2;20050:22;19871:207;;-1:-1:-1;19871:207:29:o;20083:206::-;;20196:18;20188:6;20185:30;20182:2;;;20218:18;;:::i;:::-;-1:-1:-1;20278:4:29;20259:17;;;20255:28;;20172:117::o;20294:128::-;;20365:1;20361:6;20358:1;20355:13;20352:2;;;20371:18;;:::i;:::-;-1:-1:-1;20407:9:29;;20342:80::o;20427:125::-;;20495:1;20492;20489:8;20486:2;;;20500:18;;:::i;:::-;-1:-1:-1;20537:9:29;;20476:76::o;20557:135::-;;-1:-1:-1;;20617:17:29;;20614:2;;;20637:18;;:::i;:::-;-1:-1:-1;20684:1:29;20673:13;;20604:88::o;20697:184::-;-1:-1:-1;;;20746:1:29;20739:88;20846:4;20843:1;20836:15;20870:4;20867:1;20860:15;20886:184;-1:-1:-1;;;20935:1:29;20928:88;21035:4;21032:1;21025:15;21059:4;21056:1;21049:15;21075:156;-1:-1:-1;;;;;21156:5:29;21152:54;21145:5;21142:65;21132:2;;21221:1;21218;21211:12;21132:2;21122:109;:::o" - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "blockManager()": "d9169b32", - "commit(uint256,bytes32)": "f2f03877", - "commitments(uint256,uint256)": "d13e2e60", - "getCommitment(uint256,uint256)": "7164f0d6", - "getRoleAdmin(bytes32)": "248a9ca3", - "getTotalStakeRevealed(uint256,uint256)": "a6a145d9", - "getTotalStakeRevealed(uint256,uint256,uint256)": "f322bd7d", - "getVote(uint256,uint256,uint256)": "8ce7ff4a", - "getVoteWeight(uint256,uint256,uint256)": "9c66556f", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "initialize(address,address,address)": "c0c53b8b", - "renounceRole(bytes32,address)": "36568abe", - "reveal(uint256,bytes32,uint256[],bytes32[][],bytes32,address)": "125f68f1", - "revokeRole(bytes32,address)": "d547741f", - "stakeManager()": "7542ff95", - "stateManager()": "2e716fb1", - "supportsInterface(bytes4)": "01ffc9a7", - "totalStakeRevealed(uint256,uint256)": "8a757ecc", - "voteWeights(uint256,uint256,uint256)": "8fd5ff00", - "votes(uint256,uint256,uint256)": "283e2905" - } - } - } - }, - "contracts/Core/interface/IBlockManager.sol": { - "IBlockManager": { - "abi": [ - { - "inputs": [], - "name": "confirmBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getHigherCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getLowerCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getNumProposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "sorted", - "type": "uint256[]" - } - ], - "name": "giveSorted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "isElectedProposer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - } - ], - "name": "propose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "resetDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "confirmBlock()": "9b87f644", - "getBlock(uint256)": "04c07569", - "getBlockMedians(uint256)": "378ab9a9", - "getHigherCutoffs(uint256)": "fae4425d", - "getLowerCutoffs(uint256)": "d2a4669a", - "getNumProposedBlocks(uint256)": "e38c7c42", - "getProposedBlockMedians(uint256,uint256)": "d1a4a43d", - "giveSorted(uint256,uint256,uint256[])": "4e6753b7", - "isElectedProposer(uint256,uint256,uint256)": "1d69ff9b", - "propose(uint256,uint256[],uint256[],uint256[],uint256[],uint256,uint256)": "17d99c04", - "resetDispute(uint256)": "5ce8772f" - } - } - } - }, - "contracts/Core/interface/IJobManager.sol": { - "IJobManager": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - } - ], - "name": "createJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "jobId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "fulfillJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "createJob(string,string,bool)": "25d10c3f", - "fulfillJob(uint256,uint256)": "56350bdf", - "getJob(uint256)": "bf22c457", - "getResult(uint256)": "995e4339" - } - } - } - }, - "contracts/Core/interface/IStakeManager.sol": { - "IStakeManager": { - "abi": [ - { - "inputs": [], - "name": "getNumStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getStaker", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "internalType": "struct Structs.Staker", - "name": "staker", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getStakerId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "givePenalties", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_epochLastRevealed", - "type": "uint256" - } - ], - "name": "setStakerEpochLastRevealed", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "bountyHunter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "updateCommitmentEpoch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "getNumStakers()": "bc788d46", - "getRewardPool()": "1b8b13a7", - "getStakeGettingReward()": "1ad54991", - "getStaker(uint256)": "e3c998fe", - "getStakerId(address)": "6022a485", - "giveBlockReward(uint256,uint256)": "746c8b65", - "givePenalties(uint256,uint256)": "54eae15e", - "giveRewards(uint256,uint256)": "fabb9890", - "setStakerEpochLastRevealed(uint256,uint256)": "9864f70a", - "slash(uint256,address,uint256)": "0f91ce19", - "stake(uint256,uint256)": "7b0472f0", - "unstake(uint256)": "2e17de78", - "updateCommitmentEpoch(uint256)": "188dc83b", - "withdraw(uint256)": "2e1a7d4d" - } - } - } - }, - "contracts/Core/interface/IStateManager.sol": { - "IStateManager": { - "abi": [ - { - "inputs": [], - "name": "getEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getState", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "getEpoch()": "757991a8", - "getState()": "1865c57d" - } - } - } - }, - "contracts/Core/interface/IVoteManager.sol": { - "IVoteManager": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - } - ], - "name": "commit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "getCommitment", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getVote", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "internalType": "struct Structs.Vote", - "name": "vote", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getVoteWeight", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "root", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes32[][]", - "name": "proofs", - "type": "bytes32[][]" - }, - { - "internalType": "bytes32", - "name": "secret", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "stakerAddress", - "type": "address" - } - ], - "name": "reveal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "commit(uint256,bytes32)": "f2f03877", - "getCommitment(uint256,uint256)": "7164f0d6", - "getTotalStakeRevealed(uint256,uint256)": "a6a145d9", - "getTotalStakeRevealed(uint256,uint256,uint256)": "f322bd7d", - "getVote(uint256,uint256,uint256)": "8ce7ff4a", - "getVoteWeight(uint256,uint256,uint256)": "9c66556f", - "reveal(uint256,bytes32,uint256[],bytes32[][],bytes32,address)": "125f68f1" - } - } - } - }, - "contracts/Core/storage/BlockStorage.sol": { - "BlockStorage": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "blocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "disputes", - "outputs": [ - { - "internalType": "uint256", - "name": "accWeight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "median", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lowerCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "higherCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastVisited", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50610255806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063828496d61461004657806392b4841114610074578063f25b3f9914610097575b600080fd5b610059610054366004610172565b6100aa565b60405161006b969594939291906101f7565b60405180910390f35b6100876100823660046101b9565b6100e7565b60405161006b94939291906101da565b6100876100a536600461015a565b610130565b6000602081815292815260408082209093529081522080546001820154600283015460038401546004850154600590950154939492939192909186565b6001602052816000526040600020818154811061010357600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60026020526000908152604090208054600582015460068301546007909301549192909160ff1684565b60006020828403121561016b578081fd5b5035919050565b60008060408385031215610184578081fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146101ae578182fd5b809150509250929050565b600080604083850312156101cb578182fd5b50508035926020909101359150565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c0019056fea2646970667358221220f5b8cd1e09410e6c4da2dbd27b1920804e740c9ed1c6489fd074234b0d2258cd64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x255 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x828496D6 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x92B48411 EQ PUSH2 0x74 JUMPI DUP1 PUSH4 0xF25B3F99 EQ PUSH2 0x97 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0x172 JUMP JUMPDEST PUSH2 0xAA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6B SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x87 PUSH2 0x82 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9 JUMP JUMPDEST PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x87 PUSH2 0xA5 CALLDATASIZE PUSH1 0x4 PUSH2 0x15A JUMP JUMPDEST PUSH2 0x130 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 DUP2 MSTORE SWAP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 MSTORE SWAP1 DUP2 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16B JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x184 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1AE JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CB JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x40 DUP6 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE2 0xB8 0xCD 0x1E MULMOD COINBASE 0xE PUSH13 0x4DA2DBD27B1920804E740C9ED1 0xC6 0x48 SWAP16 0xD0 PUSH21 0x234B0D2258CD64736F6C6343000800003300000000 ", - "sourceMap": "98:306:18:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1817:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "132:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "132:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:29" - }, - "nodeType": "YulIf", - "src": "94:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "165:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "188:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "175:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "175:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "165:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:29", - "type": "" - } - ], - "src": "14:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "296:310:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "342:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "351:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "359:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "344:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "344:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "344:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "317:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "326:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "313:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "313:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "338:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "309:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "309:32:29" - }, - "nodeType": "YulIf", - "src": "306:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "377:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "400:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "387:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "387:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "377:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "419:45:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "449:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "460:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "445:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "445:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "432:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "432:32:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "423:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "550:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "559:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "567:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "552:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "552:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "552:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "486:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "497:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "504:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "493:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "493:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "483:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "483:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "476:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "476:73:29" - }, - "nodeType": "YulIf", - "src": "473:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "585:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "595:5:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "585:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "254:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "265:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "277:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "285:6:29", - "type": "" - } - ], - "src": "209:397:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "698:171:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "744:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "753:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "761:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "746:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "746:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "746:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "719:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "728:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "715:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "715:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "740:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "711:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "711:32:29" - }, - "nodeType": "YulIf", - "src": "708:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "779:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "802:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "789:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "789:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "779:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "821:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "848:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "859:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "844:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "844:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "831:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "831:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "821:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "656:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "667:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "679:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "687:6:29", - "type": "" - } - ], - "src": "611:258:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1053:222:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1063:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1075:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1086:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1071:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1071:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1063:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1106:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1117:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1099:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1099:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1099:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1144:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1155:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1140:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1140:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1160:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1133:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1133:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1133:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1187:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1198:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1183:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1183:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1203:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1176:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1176:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1176:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1230:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1241:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1226:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1226:18:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1260:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1253:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1253:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1246:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1246:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1219:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1219:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1219:50:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_bool__to_t_uint256_t_uint256_t_uint256_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "998:9:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1009:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1017:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1025:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1033:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1044:4:29", - "type": "" - } - ], - "src": "874:401:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1521:294:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1531:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1543:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1554:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1539:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1539:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1531:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1574:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1585:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1567:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1567:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1567:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1612:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1623:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1608:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1608:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1628:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1601:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1601:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1601:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1655:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1666:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1651:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1651:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1671:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1644:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1644:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1644:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1698:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1709:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1694:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1694:18:29" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1714:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1687:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1687:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1687:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1741:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1752:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1737:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1737:19:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1758:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1730:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1730:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1730:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1785:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1796:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1781:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1781:19:29" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "1802:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1774:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1774:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1774:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1450:9:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "1461:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "1469:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1477:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1485:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1493:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1501:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1512:4:29", - "type": "" - } - ], - "src": "1280:535:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value1, value1) }\n value1 := value\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_bool__to_t_uint256_t_uint256_t_uint256_t_bool__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), iszero(iszero(value3)))\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 192)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c8063828496d61461004657806392b4841114610074578063f25b3f9914610097575b600080fd5b610059610054366004610172565b6100aa565b60405161006b969594939291906101f7565b60405180910390f35b6100876100823660046101b9565b6100e7565b60405161006b94939291906101da565b6100876100a536600461015a565b610130565b6000602081815292815260408082209093529081522080546001820154600283015460038401546004850154600590950154939492939192909186565b6001602052816000526040600020818154811061010357600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60026020526000908152604090208054600582015460068301546007909301549192909160ff1684565b60006020828403121561016b578081fd5b5035919050565b60008060408385031215610184578081fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146101ae578182fd5b809150509250929050565b600080604083850312156101cb578182fd5b50508035926020909101359150565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c0019056fea2646970667358221220f5b8cd1e09410e6c4da2dbd27b1920804e740c9ed1c6489fd074234b0d2258cd64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x828496D6 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x92B48411 EQ PUSH2 0x74 JUMPI DUP1 PUSH4 0xF25B3F99 EQ PUSH2 0x97 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0x172 JUMP JUMPDEST PUSH2 0xAA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6B SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x87 PUSH2 0x82 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B9 JUMP JUMPDEST PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x87 PUSH2 0xA5 CALLDATASIZE PUSH1 0x4 PUSH2 0x15A JUMP JUMPDEST PUSH2 0x130 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 DUP2 MSTORE SWAP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 MSTORE SWAP1 DUP2 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x8 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x5 DUP3 ADD SLOAD PUSH1 0x6 DUP4 ADD SLOAD PUSH1 0x7 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF AND DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16B JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x184 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1AE JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CB JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x40 DUP6 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE2 0xB8 0xCD 0x1E MULMOD COINBASE 0xE PUSH13 0x4DA2DBD27B1920804E740C9ED1 0xC6 0x48 SWAP16 0xD0 PUSH21 0x234B0D2258CD64736F6C6343000800003300000000 ", - "sourceMap": "98:306:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;171:73;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;289:58;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;353:48::-;;;;;;:::i;:::-;;:::i;171:73::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;289:58::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;289:58:18;-1:-1:-1;289:58:18;;;:::o;353:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:190:29:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;-1:-1:-1;175:23:29;;84:120;-1:-1:-1;84:120:29:o;209:397::-;;;338:2;326:9;317:7;313:23;309:32;306:2;;;359:6;351;344:22;306:2;400:9;387:23;377:33;;460:2;449:9;445:18;432:32;504:42;497:5;493:54;486:5;483:65;473:2;;567:6;559;552:22;473:2;595:5;585:15;;;296:310;;;;;:::o;611:258::-;;;740:2;728:9;719:7;715:23;711:32;708:2;;;761:6;753;746:22;708:2;-1:-1:-1;;789:23:29;;;859:2;844:18;;;831:32;;-1:-1:-1;698:171:29:o;874:401::-;1099:25;;;1155:2;1140:18;;1133:34;;;;1198:2;1183:18;;1176:34;1253:14;1246:22;1241:2;1226:18;;1219:50;1086:3;1071:19;;1053:222::o;1280:535::-;1567:25;;;1623:2;1608:18;;1601:34;;;;1666:2;1651:18;;1644:34;;;;1709:2;1694:18;;1687:34;1752:3;1737:19;;1730:35;1796:3;1781:19;;1774:35;1554:3;1539:19;;1521:294::o" - }, - "methodIdentifiers": { - "blocks(uint256)": "f25b3f99", - "disputes(uint256,address)": "828496d6", - "proposedBlocks(uint256,uint256)": "92b48411" - } - } - } - }, - "contracts/Core/storage/JobStorage.sol": { - "JobStorage": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "jobs", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50610413806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063180aedf31461003b5780639212051c1461006d575b600080fd5b61004e61004936600461028d565b610082565b6040516100649a999897969594939291906102f9565b60405180910390f35b610075610287565b60405161006491906102f0565b60016020819052600091825260409091208054918101546002820180549192916100ab90610389565b80601f01602080910402602001604051908101604052809291908181526020018280546100d790610389565b80156101245780601f106100f957610100808354040283529160200191610124565b820191906000526020600020905b81548152906001019060200180831161010757829003601f168201915b50505050509080600301805461013990610389565b80601f016020809104026020016040519081016040528092919081815260200182805461016590610389565b80156101b25780601f10610187576101008083540402835291602001916101b2565b820191906000526020600020905b81548152906001019060200180831161019557829003601f168201915b5050505050908060040180546101c790610389565b80601f01602080910402602001604051908101604052809291908181526020018280546101f390610389565b80156102405780601f1061021557610100808354040283529160200191610240565b820191906000526020600020905b81548152906001019060200180831161022357829003601f168201915b50505050600583015460068401546007850154600890950154939460ff8084169561010090940473ffffffffffffffffffffffffffffffffffffffff16945091929116908a565b60005481565b60006020828403121561029e578081fd5b5035919050565b60008151808452815b818110156102ca576020818501810151868301820152016102ae565b818111156102db5782602083870101525b50601f01601f19169290920160200192915050565b90815260200190565b60006101408c83528b60208401528060408401526103198184018c6102a5565b9050828103606084015261032d818b6102a5565b90508281036080840152610341818a6102a5565b97151560a0840152505073ffffffffffffffffffffffffffffffffffffffff9490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60028104600182168061039d57607f821691505b602082108114156103d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122046f6bdef400eef2035b17377e470a7a0437737166f43c8dad80dc4b98474622164736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x413 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x180AEDF3 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x9212051C EQ PUSH2 0x6D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x49 CALLDATASIZE PUSH1 0x4 PUSH2 0x28D JUMP JUMPDEST PUSH2 0x82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x64 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x75 PUSH2 0x287 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x64 SWAP2 SWAP1 PUSH2 0x2F0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD SWAP2 DUP2 ADD SLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0xAB SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD7 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x124 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x124 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x107 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x139 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x165 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x187 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x195 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x1C7 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1F3 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x240 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x215 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x240 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x223 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x8 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0xFF DUP1 DUP5 AND SWAP6 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP5 POP SWAP2 SWAP3 SWAP2 AND SWAP1 DUP11 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29E JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE DUP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2CA JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x2AE JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2DB JUMPI DUP3 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP13 DUP4 MSTORE DUP12 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x319 DUP2 DUP5 ADD DUP13 PUSH2 0x2A5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x32D DUP2 DUP12 PUSH2 0x2A5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x341 DUP2 DUP11 PUSH2 0x2A5 JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 SWAP1 SWAP5 AND PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x39D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x3D7 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CHAINID 0xF6 0xBD 0xEF BLOCKHASH 0xE 0xEF KECCAK256 CALLDATALOAD 0xB1 PUSH20 0x77E470A7A0437737166F43C8DAD80DC4B9847462 0x21 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "98:101:19:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2464:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "132:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "132:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:29" - }, - "nodeType": "YulIf", - "src": "94:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "165:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "188:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "175:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "175:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "165:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:29", - "type": "" - } - ], - "src": "14:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "261:426:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "271:26:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "291:5:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "285:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "285:12:29" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "275:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "313:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "318:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "306:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "306:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "306:19:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "334:12:29", - "value": { - "name": "end", - "nodeType": "YulIdentifier", - "src": "343:3:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "338:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "407:110:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "421:14:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "431:4:29", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "425:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "463:3:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "468:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "459:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "459:11:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "472:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "455:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "455:20:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "491:5:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "498:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "487:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "487:13:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "502:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "483:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "483:22:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "477:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "477:29:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "448:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "448:59:29" - }, - "nodeType": "YulExpressionStatement", - "src": "448:59:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "366:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "369:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "363:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "363:13:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "377:21:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "379:17:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "388:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "391:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "384:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "384:12:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "379:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "359:3:29", - "statements": [] - }, - "src": "355:162:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "551:64:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "580:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "585:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "576:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "576:16:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "594:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "572:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "572:27:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "601:3:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "565:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "565:40:29" - }, - "nodeType": "YulExpressionStatement", - "src": "565:40:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "532:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "535:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "529:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "529:13:29" - }, - "nodeType": "YulIf", - "src": "526:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "624:57:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "639:3:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "652:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "660:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "648:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "648:15:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "669:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "665:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "665:7:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "644:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "644:29:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "635:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "635:39:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "676:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "631:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "631:50:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "624:3:29" - } - ] - } - ] - }, - "name": "abi_encode_t_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "238:5:29", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "245:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "253:3:29", - "type": "" - } - ], - "src": "209:478:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "793:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "803:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "815:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "826:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "811:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "811:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "803:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "845:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "856:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "838:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "838:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "838:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "762:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "773:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "784:4:29", - "type": "" - } - ], - "src": "692:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1275:745:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1285:13:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1295:3:29", - "type": "", - "value": "320" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1289:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1314:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1325:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1307:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1307:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1307:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1352:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1363:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1348:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1348:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1368:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1341:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1341:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1341:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1395:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1406:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1391:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1391:18:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1411:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1384:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1384:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1384:30:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1423:61:29", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1457:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1469:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1480:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1465:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1465:18:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "1437:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "1437:47:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "1427:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1504:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1515:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1500:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1500:18:29" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "1524:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1532:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1520:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1520:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1493:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1493:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1493:50:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1552:49:29", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1586:6:29" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "1594:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "1566:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "1566:35:29" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "1556:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1621:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1632:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1617:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1617:19:29" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "1642:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1650:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1638:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1638:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1610:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1610:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1610:51:29" - }, - { - "nodeType": "YulAssignment", - "src": "1670:43:29", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1698:6:29" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "1706:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "1678:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "1678:35:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1670:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1733:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1744:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1729:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1729:19:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "1764:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1757:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1757:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1750:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1750:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1722:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1722:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1722:51:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1793:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1804:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1789:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1789:19:29" - }, - { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "1814:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1822:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1810:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1810:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1782:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1782:84:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1782:84:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1886:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1897:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1882:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1882:19:29" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "1903:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1875:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1875:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1875:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1930:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1941:3:29", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1926:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1926:19:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "1961:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1954:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1954:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1947:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1947:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1919:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1919:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1919:51:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1990:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2001:3:29", - "type": "", - "value": "288" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1986:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1986:19:29" - }, - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "2007:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1979:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1979:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1979:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1172:9:29", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "1183:6:29", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "1191:6:29", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "1199:6:29", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "1207:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "1215:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "1223:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1231:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1239:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1247:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1255:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1266:4:29", - "type": "" - } - ], - "src": "874:1146:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2080:382:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2090:22:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2104:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2110:1:29", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2100:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2100:12:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2090:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2121:38:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2151:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2157:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2147:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2147:12:29" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2125:18:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2198:31:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2200:27:29", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2214:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2222:4:29", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2210:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2210:17:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2200:6:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2178:18:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2171:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2171:26:29" - }, - "nodeType": "YulIf", - "src": "2168:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2288:168:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2309:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2312:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2302:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2302:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2302:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2410:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2413:4:29", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2403:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2403:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2403:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2438:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2441:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2431:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2431:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2431:15:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2244:18:29" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2267:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2275:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2264:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2264:14:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2241:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2241:38:29" - }, - "nodeType": "YulIf", - "src": "2238:2:29" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2060:4:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2069:6:29", - "type": "" - } - ], - "src": "2025:437:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_t_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := end\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(pos, length), 0x20), end)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__to_t_uint256_t_uint256_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_address_t_uint256_t_bool_t_uint256__fromStack_reversed(headStart, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 320\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_t_string(value2, add(headStart, _1))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string(value3, tail_1)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_t_string(value4, tail_2)\n mstore(add(headStart, 160), iszero(iszero(value5)))\n mstore(add(headStart, 192), and(value6, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 224), value7)\n mstore(add(headStart, 256), iszero(iszero(value8)))\n mstore(add(headStart, 288), value9)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063180aedf31461003b5780639212051c1461006d575b600080fd5b61004e61004936600461028d565b610082565b6040516100649a999897969594939291906102f9565b60405180910390f35b610075610287565b60405161006491906102f0565b60016020819052600091825260409091208054918101546002820180549192916100ab90610389565b80601f01602080910402602001604051908101604052809291908181526020018280546100d790610389565b80156101245780601f106100f957610100808354040283529160200191610124565b820191906000526020600020905b81548152906001019060200180831161010757829003601f168201915b50505050509080600301805461013990610389565b80601f016020809104026020016040519081016040528092919081815260200182805461016590610389565b80156101b25780601f10610187576101008083540402835291602001916101b2565b820191906000526020600020905b81548152906001019060200180831161019557829003601f168201915b5050505050908060040180546101c790610389565b80601f01602080910402602001604051908101604052809291908181526020018280546101f390610389565b80156102405780601f1061021557610100808354040283529160200191610240565b820191906000526020600020905b81548152906001019060200180831161022357829003601f168201915b50505050600583015460068401546007850154600890950154939460ff8084169561010090940473ffffffffffffffffffffffffffffffffffffffff16945091929116908a565b60005481565b60006020828403121561029e578081fd5b5035919050565b60008151808452815b818110156102ca576020818501810151868301820152016102ae565b818111156102db5782602083870101525b50601f01601f19169290920160200192915050565b90815260200190565b60006101408c83528b60208401528060408401526103198184018c6102a5565b9050828103606084015261032d818b6102a5565b90508281036080840152610341818a6102a5565b97151560a0840152505073ffffffffffffffffffffffffffffffffffffffff9490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60028104600182168061039d57607f821691505b602082108114156103d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122046f6bdef400eef2035b17377e470a7a0437737166f43c8dad80dc4b98474622164736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x180AEDF3 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x9212051C EQ PUSH2 0x6D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x49 CALLDATASIZE PUSH1 0x4 PUSH2 0x28D JUMP JUMPDEST PUSH2 0x82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x64 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x75 PUSH2 0x287 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x64 SWAP2 SWAP1 PUSH2 0x2F0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD SWAP2 DUP2 ADD SLOAD PUSH1 0x2 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0xAB SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD7 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x124 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x124 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x107 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x139 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x165 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x187 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x195 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x1C7 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1F3 SWAP1 PUSH2 0x389 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x240 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x215 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x240 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x223 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x5 DUP4 ADD SLOAD PUSH1 0x6 DUP5 ADD SLOAD PUSH1 0x7 DUP6 ADD SLOAD PUSH1 0x8 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0xFF DUP1 DUP5 AND SWAP6 PUSH2 0x100 SWAP1 SWAP5 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP5 POP SWAP2 SWAP3 SWAP2 AND SWAP1 DUP11 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29E JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE DUP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2CA JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x2AE JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2DB JUMPI DUP3 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP13 DUP4 MSTORE DUP12 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x319 DUP2 DUP5 ADD DUP13 PUSH2 0x2A5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x32D DUP2 DUP12 PUSH2 0x2A5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x341 DUP2 DUP11 PUSH2 0x2A5 JUMP JUMPDEST SWAP8 ISZERO ISZERO PUSH1 0xA0 DUP5 ADD MSTORE POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 SWAP1 SWAP5 AND PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE PUSH2 0x120 SWAP1 SWAP2 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x39D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x3D7 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CHAINID 0xF6 0xBD 0xEF BLOCKHASH 0xE 0xEF KECCAK256 CALLDATALOAD 0xB1 PUSH20 0x77E470A7A0437737166F43C8DAD80DC4B9847462 0x21 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "98:101:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:44;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;124:22;;;:::i;:::-;;;;;;;:::i;152:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;152:44:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;152:44:19;;;;;;:::o;124:22::-;;;;:::o;14:190:29:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;-1:-1:-1;175:23:29;;84:120;-1:-1:-1;84:120:29:o;209:478::-;;291:5;285:12;318:6;313:3;306:19;343:3;355:162;369:6;366:1;363:13;355:162;;;431:4;487:13;;;483:22;;477:29;459:11;;;455:20;;448:59;384:12;355:162;;;535:6;532:1;529:13;526:2;;;601:3;594:4;585:6;580:3;576:16;572:27;565:40;526:2;-1:-1:-1;669:2:29;648:15;-1:-1:-1;;644:29:29;635:39;;;;676:4;631:50;;261:426;-1:-1:-1;;261:426:29:o;692:177::-;838:25;;;826:2;811:18;;793:76::o;874:1146::-;;1295:3;1325:6;1314:9;1307:25;1368:6;1363:2;1352:9;1348:18;1341:34;1411:2;1406;1395:9;1391:18;1384:30;1437:47;1480:2;1469:9;1465:18;1457:6;1437:47;:::i;:::-;1423:61;;1532:9;1524:6;1520:22;1515:2;1504:9;1500:18;1493:50;1566:35;1594:6;1586;1566:35;:::i;:::-;1552:49;;1650:9;1642:6;1638:22;1632:3;1621:9;1617:19;1610:51;1678:35;1706:6;1698;1678:35;:::i;:::-;1757:14;;1750:22;1744:3;1729:19;;1722:51;-1:-1:-1;;1822:42:29;1810:55;;;;1804:3;1789:19;;1782:84;1897:3;1882:19;;1875:35;;;;1954:14;1947:22;1941:3;1926:19;;1919:51;2001:3;1986:19;;;1979:35;1670:43;1275:745;-1:-1:-1;;;;;1275:745:29:o;2025:437::-;2110:1;2100:12;;2157:1;2147:12;;;2168:2;;2222:4;2214:6;2210:17;2200:27;;2168:2;2275;2267:6;2264:14;2244:18;2241:38;2238:2;;;2312:77;2309:1;2302:88;2413:4;2410:1;2403:15;2441:4;2438:1;2431:15;2238:2;;2080:382;;;:::o" - }, - "methodIdentifiers": { - "jobs(uint256)": "180aedf3", - "numJobs()": "9212051c" - } - } - } - }, - "contracts/Core/storage/StakeStorage.sol": { - "StakeStorage": { - "abi": [ - { - "inputs": [], - "name": "blockReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakerIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "stakers", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5061024a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80636c8b052a116100505780636c8b052a146100a5578063c8ae0d7d146100ad578063fd5e6dd1146100c057610072565b80630ac168a1146100775780630ec88d3f1461009557806366666aa91461009d575b600080fd5b61007f6100e7565b60405161008c91906101bf565b60405180910390f35b61007f6100ed565b61007f6100f3565b61007f6100f9565b61007f6100bb36600461016c565b6100ff565b6100d36100ce3660046101a7565b610111565b60405161008c9897969594939291906101c8565b60005481565b60035481565b60025481565b60015481565b60046020526000908152604090205481565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600790960154949673ffffffffffffffffffffffffffffffffffffffff909416959294919392909188565b60006020828403121561017d578081fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101a0578182fd5b9392505050565b6000602082840312156101b8578081fd5b5035919050565b90815260200190565b97885273ffffffffffffffffffffffffffffffffffffffff96909616602088015260408701949094526060860192909252608085015260a084015260c083015260e0820152610100019056fea2646970667358221220c513f32e92b796ce202cf6ed9eba611795112221d2b5c12b7a1fe7830e1fc19164736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x72 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6C8B052A GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x6C8B052A EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0xC8AE0D7D EQ PUSH2 0xAD JUMPI DUP1 PUSH4 0xFD5E6DD1 EQ PUSH2 0xC0 JUMPI PUSH2 0x72 JUMP JUMPDEST DUP1 PUSH4 0xAC168A1 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0xEC88D3F EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0x66666AA9 EQ PUSH2 0x9D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7F PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x1BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7F PUSH2 0xED JUMP JUMPDEST PUSH2 0x7F PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x7F PUSH2 0xF9 JUMP JUMPDEST PUSH2 0x7F PUSH2 0xBB CALLDATASIZE PUSH1 0x4 PUSH2 0x16C JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST PUSH2 0xD3 PUSH2 0xCE CALLDATASIZE PUSH1 0x4 PUSH2 0x1A7 JUMP JUMPDEST PUSH2 0x111 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD SWAP6 DUP6 ADD SLOAD PUSH1 0x6 DUP7 ADD SLOAD PUSH1 0x7 SWAP1 SWAP7 ADD SLOAD SWAP5 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP5 AND SWAP6 SWAP3 SWAP5 SWAP2 SWAP4 SWAP3 SWAP1 SWAP2 DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1A0 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP8 DUP9 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 SWAP1 SWAP7 AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x60 DUP7 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC5 SGT RETURN 0x2E SWAP3 0xB7 SWAP7 0xCE KECCAK256 0x2C 0xF6 0xED SWAP15 0xBA PUSH2 0x1795 GT 0x22 0x21 0xD2 0xB5 0xC1 0x2B PUSH27 0x1FE7830E1FC19164736F6C63430008000033000000000000000000 ", - "sourceMap": "97:267:20:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1455:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:259:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "132:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "132:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:29" - }, - "nodeType": "YulIf", - "src": "94:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "165:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "191:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "178:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "178:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "169:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "287:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "296:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "304:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "289:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "289:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "289:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "223:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "234:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "241:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "230:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "230:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "220:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "220:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "213:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "213:73:29" - }, - "nodeType": "YulIf", - "src": "210:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "322:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "332:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "322:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:29", - "type": "" - } - ], - "src": "14:329:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "418:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "464:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "473:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "481:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "466:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "466:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "466:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "439:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "448:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "435:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "435:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "460:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "431:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "431:32:29" - }, - "nodeType": "YulIf", - "src": "428:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "499:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "522:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "509:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "509:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "499:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "384:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "395:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "407:6:29", - "type": "" - } - ], - "src": "348:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "644:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "654:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "666:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "677:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "662:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "662:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "654:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "696:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "707:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "689:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "689:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "689:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "613:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "624:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "635:4:29", - "type": "" - } - ], - "src": "543:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1022:431:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1032:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1044:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1055:3:29", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1040:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1040:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1032:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1075:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1086:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1068:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1068:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1068:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1113:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1124:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1109:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1109:18:29" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1133:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1141:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1129:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1129:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1102:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1102:83:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1102:83:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1205:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1216:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1201:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1201:18:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1221:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1194:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1194:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1194:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1248:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1259:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1244:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1244:18:29" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1264:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1237:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1237:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1237:34:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1291:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1302:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1287:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1287:19:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1308:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1280:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1280:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1280:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1335:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1346:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1331:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1331:19:29" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "1352:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1324:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1324:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1324:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1379:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1390:3:29", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1375:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1375:19:29" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "1396:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1368:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1368:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1368:35:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1423:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1434:3:29", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1419:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1419:19:29" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "1440:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1412:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1412:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1412:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "935:9:29", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "946:6:29", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "954:6:29", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "962:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "970:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "978:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "986:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "994:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1002:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1013:4:29", - "type": "" - } - ], - "src": "725:728:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__to_t_uint256_t_address_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 256)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), value6)\n mstore(add(headStart, 224), value7)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100725760003560e01c80636c8b052a116100505780636c8b052a146100a5578063c8ae0d7d146100ad578063fd5e6dd1146100c057610072565b80630ac168a1146100775780630ec88d3f1461009557806366666aa91461009d575b600080fd5b61007f6100e7565b60405161008c91906101bf565b60405180910390f35b61007f6100ed565b61007f6100f3565b61007f6100f9565b61007f6100bb36600461016c565b6100ff565b6100d36100ce3660046101a7565b610111565b60405161008c9897969594939291906101c8565b60005481565b60035481565b60025481565b60015481565b60046020526000908152604090205481565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600790960154949673ffffffffffffffffffffffffffffffffffffffff909416959294919392909188565b60006020828403121561017d578081fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101a0578182fd5b9392505050565b6000602082840312156101b8578081fd5b5035919050565b90815260200190565b97885273ffffffffffffffffffffffffffffffffffffffff96909616602088015260408701949094526060860192909252608085015260a084015260c083015260e0820152610100019056fea2646970667358221220c513f32e92b796ce202cf6ed9eba611795112221d2b5c12b7a1fe7830e1fc19164736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x72 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6C8B052A GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x6C8B052A EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0xC8AE0D7D EQ PUSH2 0xAD JUMPI DUP1 PUSH4 0xFD5E6DD1 EQ PUSH2 0xC0 JUMPI PUSH2 0x72 JUMP JUMPDEST DUP1 PUSH4 0xAC168A1 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0xEC88D3F EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0x66666AA9 EQ PUSH2 0x9D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7F PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x1BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7F PUSH2 0xED JUMP JUMPDEST PUSH2 0x7F PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x7F PUSH2 0xF9 JUMP JUMPDEST PUSH2 0x7F PUSH2 0xBB CALLDATASIZE PUSH1 0x4 PUSH2 0x16C JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST PUSH2 0xD3 PUSH2 0xCE CALLDATASIZE PUSH1 0x4 PUSH2 0x1A7 JUMP JUMPDEST PUSH2 0x111 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD SWAP6 DUP6 ADD SLOAD PUSH1 0x6 DUP7 ADD SLOAD PUSH1 0x7 SWAP1 SWAP7 ADD SLOAD SWAP5 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP5 AND SWAP6 SWAP3 SWAP5 SWAP2 SWAP4 SWAP3 SWAP1 SWAP2 DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1A0 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP8 DUP9 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 SWAP1 SWAP7 AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x60 DUP7 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE PUSH2 0x100 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC5 SGT RETURN 0x2E SWAP3 0xB7 SWAP7 0xCE KECCAK256 0x2C 0xF6 0xED SWAP15 0xBA PUSH2 0x1795 GT 0x22 0x21 0xD2 0xB5 0xC1 0x2B PUSH27 0x1FE7830E1FC19164736F6C63430008000033000000000000000000 ", - "sourceMap": "97:267:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;126:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;220:33;;;:::i;189:25::-;;;:::i;158:::-;;;:::i;260:45::-;;;;;;:::i;:::-;;:::i;311:50::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;126:26::-;;;;:::o;220:33::-;;;;:::o;189:25::-;;;;:::o;158:::-;;;;:::o;260:45::-;;;;;;;;;;;;;:::o;311:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:329:29:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;241:42;234:5;230:54;223:5;220:65;210:2;;304:6;296;289:22;210:2;332:5;84:259;-1:-1:-1;;;84:259:29:o;348:190::-;;460:2;448:9;439:7;435:23;431:32;428:2;;;481:6;473;466:22;428:2;-1:-1:-1;509:23:29;;418:120;-1:-1:-1;418:120:29:o;543:177::-;689:25;;;677:2;662:18;;644:76::o;725:728::-;1068:25;;;1141:42;1129:55;;;;1124:2;1109:18;;1102:83;1216:2;1201:18;;1194:34;;;;1259:2;1244:18;;1237:34;;;;1302:3;1287:19;;1280:35;1346:3;1331:19;;1324:35;1390:3;1375:19;;1368:35;1434:3;1419:19;;1412:35;1055:3;1040:19;;1022:431::o" - }, - "methodIdentifiers": { - "blockReward()": "0ac168a1", - "numStakers()": "6c8b052a", - "rewardPool()": "66666aa9", - "stakeGettingReward()": "0ec88d3f", - "stakerIds(address)": "c8ae0d7d", - "stakers(uint256)": "fd5e6dd1" - } - } - } - }, - "contracts/Core/storage/VoteStorage.sol": { - "VoteStorage": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "commitments", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "voteWeights", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "votes", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506101dc806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063283e2905146100515780638a757ecc1461007b5780638fd5ff001461009b578063d13e2e60146100ae575b600080fd5b61006461005f366004610164565b6100c1565b604051610072929190610198565b60405180910390f35b61008e610089366004610143565b6100e9565b604051610072919061018f565b61008e6100a9366004610164565b610106565b61008e6100bc366004610143565b610129565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b600260209081526000928352604080842090915290825290205481565b600360209081526000938452604080852082529284528284209052825290205481565b600060208181529281526040808220909352908152205481565b60008060408385031215610155578182fd5b50508035926020909101359150565b600080600060608486031215610178578081fd5b505081359360208301359350604090920135919050565b90815260200190565b91825260208201526040019056fea2646970667358221220b012e634c3a4d0c8952171cb34b9e517585de625e92bdfefcf77582c8988922864736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x283E2905 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8A757ECC EQ PUSH2 0x7B JUMPI DUP1 PUSH4 0x8FD5FF00 EQ PUSH2 0x9B JUMPI DUP1 PUSH4 0xD13E2E60 EQ PUSH2 0xAE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x5F CALLDATASIZE PUSH1 0x4 PUSH2 0x164 JUMP JUMPDEST PUSH2 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP3 SWAP2 SWAP1 PUSH2 0x198 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8E PUSH2 0x89 CALLDATASIZE PUSH1 0x4 PUSH2 0x143 JUMP JUMPDEST PUSH2 0xE9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP2 SWAP1 PUSH2 0x18F JUMP JUMPDEST PUSH2 0x8E PUSH2 0xA9 CALLDATASIZE PUSH1 0x4 PUSH2 0x164 JUMP JUMPDEST PUSH2 0x106 JUMP JUMPDEST PUSH2 0x8E PUSH2 0xBC CALLDATASIZE PUSH1 0x4 PUSH2 0x143 JUMP JUMPDEST PUSH2 0x129 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 DUP3 MSTORE SWAP4 DUP6 MSTORE DUP4 DUP6 KECCAK256 SWAP1 MSTORE SWAP1 DUP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP3 MSTORE SWAP3 DUP5 MSTORE DUP3 DUP5 KECCAK256 SWAP1 MSTORE DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 DUP2 MSTORE SWAP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 MSTORE SWAP1 DUP2 MSTORE KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x155 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x178 JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB0 SLT 0xE6 CALLVALUE 0xC3 LOG4 0xD0 0xC8 SWAP6 0x21 PUSH18 0xCB34B9E517585DE625E92BDFEFCF77582C89 DUP9 SWAP3 0x28 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "98:535:21:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1222:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "101:171:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "147:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "156:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "164:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "149:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "149:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "149:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "122:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "131:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "118:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "118:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "143:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "114:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "114:32:29" - }, - "nodeType": "YulIf", - "src": "111:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "182:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "205:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "192:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "192:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "182:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "224:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "251:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "262:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "247:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "247:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "234:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "234:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "224:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "59:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "70:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "82:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "90:6:29", - "type": "" - } - ], - "src": "14:258:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "381:222:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "427:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "436:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "444:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "429:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "429:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "429:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "402:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "411:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "398:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "398:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "423:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "394:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "394:32:29" - }, - "nodeType": "YulIf", - "src": "391:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "462:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "485:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "472:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "472:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "462:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "504:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "531:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "542:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "527:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "527:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "514:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "514:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "504:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "555:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "582:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "593:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "578:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "578:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "565:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "565:32:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "555:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "331:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "342:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "354:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "362:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "370:6:29", - "type": "" - } - ], - "src": "277:326:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "709:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "719:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "731:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "742:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "727:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "727:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "719:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "761:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "772:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "754:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "754:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "754:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "678:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "689:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "700:4:29", - "type": "" - } - ], - "src": "608:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "891:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "901:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "913:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "924:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "909:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "909:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "901:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "943:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "954:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "936:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "936:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "936:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "860:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "871:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "882:4:29", - "type": "" - } - ], - "src": "790:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1101:119:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1111:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1123:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1134:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1119:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1119:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1111:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1153:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1164:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1146:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1146:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1146:25:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1191:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1202:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1187:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1187:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1207:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1180:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1180:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1180:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1062:9:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1073:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1081:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1092:4:29", - "type": "" - } - ], - "src": "972:248:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c8063283e2905146100515780638a757ecc1461007b5780638fd5ff001461009b578063d13e2e60146100ae575b600080fd5b61006461005f366004610164565b6100c1565b604051610072929190610198565b60405180910390f35b61008e610089366004610143565b6100e9565b604051610072919061018f565b61008e6100a9366004610164565b610106565b61008e6100bc366004610143565b610129565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b600260209081526000928352604080842090915290825290205481565b600360209081526000938452604080852082529284528284209052825290205481565b600060208181529281526040808220909352908152205481565b60008060408385031215610155578182fd5b50508035926020909101359150565b600080600060608486031215610178578081fd5b505081359360208301359350604090920135919050565b90815260200190565b91825260208201526040019056fea2646970667358221220b012e634c3a4d0c8952171cb34b9e517585de625e92bdfefcf77582c8988922864736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x283E2905 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8A757ECC EQ PUSH2 0x7B JUMPI DUP1 PUSH4 0x8FD5FF00 EQ PUSH2 0x9B JUMPI DUP1 PUSH4 0xD13E2E60 EQ PUSH2 0xAE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x5F CALLDATASIZE PUSH1 0x4 PUSH2 0x164 JUMP JUMPDEST PUSH2 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP3 SWAP2 SWAP1 PUSH2 0x198 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8E PUSH2 0x89 CALLDATASIZE PUSH1 0x4 PUSH2 0x143 JUMP JUMPDEST PUSH2 0xE9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP2 SWAP1 PUSH2 0x18F JUMP JUMPDEST PUSH2 0x8E PUSH2 0xA9 CALLDATASIZE PUSH1 0x4 PUSH2 0x164 JUMP JUMPDEST PUSH2 0x106 JUMP JUMPDEST PUSH2 0x8E PUSH2 0xBC CALLDATASIZE PUSH1 0x4 PUSH2 0x143 JUMP JUMPDEST PUSH2 0x129 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x0 SWAP5 DUP6 MSTORE PUSH1 0x40 DUP1 DUP7 KECCAK256 DUP3 MSTORE SWAP4 DUP6 MSTORE DUP4 DUP6 KECCAK256 SWAP1 MSTORE SWAP1 DUP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE PUSH1 0x40 DUP1 DUP6 KECCAK256 DUP3 MSTORE SWAP3 DUP5 MSTORE DUP3 DUP5 KECCAK256 SWAP1 MSTORE DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 DUP2 MSTORE SWAP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 MSTORE SWAP1 DUP2 MSTORE KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x155 JUMPI DUP2 DUP3 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x178 JUMPI DUP1 DUP2 REVERT JUMPDEST POP POP DUP2 CALLDATALOAD SWAP4 PUSH1 0x20 DUP4 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 SWAP1 SWAP3 ADD CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB0 SLT 0xE6 CALLVALUE 0xC3 LOG4 0xD0 0xC8 SWAP6 0x21 PUSH18 0xCB34B9E517585DE625E92BDFEFCF77582C89 DUP9 SWAP3 0x28 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "98:535:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;280:89;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;412:76;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;540:90::-;;;;;;:::i;:::-;;:::i;163:68::-;;;;;;:::i;:::-;;:::i;280:89::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;412:76::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;540:90::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;163:68::-;;;;;;;;;;;;;;;;;;;;;;:::o;14:258:29:-;;;143:2;131:9;122:7;118:23;114:32;111:2;;;164:6;156;149:22;111:2;-1:-1:-1;;192:23:29;;;262:2;247:18;;;234:32;;-1:-1:-1;101:171:29:o;277:326::-;;;;423:2;411:9;402:7;398:23;394:32;391:2;;;444:6;436;429:22;391:2;-1:-1:-1;;472:23:29;;;542:2;527:18;;514:32;;-1:-1:-1;593:2:29;578:18;;;565:32;;381:222;-1:-1:-1;381:222:29:o;608:177::-;754:25;;;742:2;727:18;;709:76::o;972:248::-;1146:25;;;1202:2;1187:18;;1180:34;1134:2;1119:18;;1101:119::o" - }, - "methodIdentifiers": { - "commitments(uint256,uint256)": "d13e2e60", - "totalStakeRevealed(uint256,uint256)": "8a757ecc", - "voteWeights(uint256,uint256,uint256)": "8fd5ff00", - "votes(uint256,uint256,uint256)": "283e2905" - } - } - } - }, - "contracts/Delegator.sol": { - "Delegator": { - "abi": [ - { - "inputs": [], - "name": "delegate", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "jobManager", - "outputs": [ - { - "internalType": "contract IJobManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newDelegateAddress", - "type": "address" - } - ], - "name": "upgradeDelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "6080604052600180546001600160a01b0319163317905534801561002257600080fd5b506105fd806100326000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063995e433911610050578063995e4339146100b2578063bf22c457146100d2578063c89e4361146100f657610072565b80632da4e75c146100775780633df395a31461008c5780638da5cb5b146100aa575b600080fd5b61008a610085366004610395565b6100fe565b005b61009461018f565b6040516100a191906104c6565b60405180910390f35b61009461019e565b6100c56100c036600461046a565b6101ad565b6040516100a1919061055f565b6100e56100e036600461046a565b61024d565b6040516100a19594939291906104da565b610094610306565b6001546001600160a01b0316331461014b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014290610528565b60405180910390fd5b600080546001600160a01b039092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790915560028054909216179055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6002546040517f995e43390000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063995e4339906101f790859060040161055f565b60206040518083038186803b15801561020f57600080fd5b505afa158015610223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102479190610482565b92915050565b6002546040517fbf22c4570000000000000000000000000000000000000000000000000000000081526060918291829160009182916001600160a01b03169063bf22c457906102a090899060040161055f565b60006040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f491908101906103c3565b939a9299509097509550909350915050565b6000546001600160a01b031681565b600082601f830112610325578081fd5b815167ffffffffffffffff8082111561034057610340610598565b604051601f8301601f19168101602001828111828210171561036457610364610598565b60405282815284830160200186101561037b578384fd5b61038c836020830160208801610568565b95945050505050565b6000602082840312156103a6578081fd5b81356001600160a01b03811681146103bc578182fd5b9392505050565b600080600080600060a086880312156103da578081fd5b855167ffffffffffffffff808211156103f1578283fd5b6103fd89838a01610315565b96506020880151915080821115610412578283fd5b61041e89838a01610315565b95506040880151915080821115610433578283fd5b5061044088828901610315565b93505060608601518015158114610455578182fd5b80925050608086015190509295509295909350565b60006020828403121561047b578081fd5b5035919050565b600060208284031215610493578081fd5b5051919050565b600081518084526104b2816020860160208601610568565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060a082526104ed60a083018861049a565b82810360208401526104ff818861049a565b90508281036040840152610513818761049a565b94151560608401525050608001529392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b90815260200190565b60005b8381101561058357818101518382015260200161056b565b83811115610592576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212202b4f74bce8a4ea2a7f82c1d06c64ef70cd5c06a785a8dea5c37a43f298d3e01a64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5FD DUP1 PUSH2 0x32 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x72 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x995E4339 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x995E4339 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xBF22C457 EQ PUSH2 0xD2 JUMPI DUP1 PUSH4 0xC89E4361 EQ PUSH2 0xF6 JUMPI PUSH2 0x72 JUMP JUMPDEST DUP1 PUSH4 0x2DA4E75C EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x3DF395A3 EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xAA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8A PUSH2 0x85 CALLDATASIZE PUSH1 0x4 PUSH2 0x395 JUMP JUMPDEST PUSH2 0xFE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x94 PUSH2 0x18F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP2 SWAP1 PUSH2 0x4C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH2 0x19E JUMP JUMPDEST PUSH2 0xC5 PUSH2 0xC0 CALLDATASIZE PUSH1 0x4 PUSH2 0x46A JUMP JUMPDEST PUSH2 0x1AD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP2 SWAP1 PUSH2 0x55F JUMP JUMPDEST PUSH2 0xE5 PUSH2 0xE0 CALLDATASIZE PUSH1 0x4 PUSH2 0x46A JUMP JUMPDEST PUSH2 0x24D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4DA JUMP JUMPDEST PUSH2 0x94 PUSH2 0x306 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x14B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x142 SWAP1 PUSH2 0x528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x2 DUP1 SLOAD SWAP1 SWAP3 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH32 0x995E433900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x995E4339 SWAP1 PUSH2 0x1F7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x55F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x20F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x223 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x247 SWAP2 SWAP1 PUSH2 0x482 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH32 0xBF22C45700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x60 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xBF22C457 SWAP1 PUSH2 0x2A0 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x55F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2CC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2F4 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x3C3 JUMP JUMPDEST SWAP4 SWAP11 SWAP3 SWAP10 POP SWAP1 SWAP8 POP SWAP6 POP SWAP1 SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x325 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x340 JUMPI PUSH2 0x340 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x20 ADD DUP3 DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x364 JUMPI PUSH2 0x364 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP5 DUP4 ADD PUSH1 0x20 ADD DUP7 LT ISZERO PUSH2 0x37B JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x38C DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x568 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A6 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3BC JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x3DA JUMPI DUP1 DUP2 REVERT JUMPDEST DUP6 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3F1 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x3FD DUP10 DUP4 DUP11 ADD PUSH2 0x315 JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x412 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x41E DUP10 DUP4 DUP11 ADD PUSH2 0x315 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x433 JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH2 0x440 DUP9 DUP3 DUP10 ADD PUSH2 0x315 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x455 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP3 POP POP PUSH1 0x80 DUP7 ADD MLOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x47B JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x493 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4B2 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x568 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 MSTORE PUSH2 0x4ED PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x49A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4FF DUP2 DUP9 PUSH2 0x49A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x513 DUP2 DUP8 PUSH2 0x49A JUMP JUMPDEST SWAP5 ISZERO ISZERO PUSH1 0x60 DUP5 ADD MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x17 SWAP1 DUP3 ADD MSTORE PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x583 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x56B JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x592 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2B 0x4F PUSH21 0xBCE8A4EA2A7F82C1D06C64EF70CD5C06A785A8DEA5 0xC3 PUSH27 0x43F298D3E01A64736F6C6343000800003300000000000000000000 ", - "sourceMap": "110:777:22:-:0;;;165:33;;;-1:-1:-1;;;;;;165:33:22;188:10;165:33;;;110:777;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:4909:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "80:610:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "129:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "138:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "145:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "131:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "131:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "131:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "108:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "116:4:29", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "104:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "104:17:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "123:3:29" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "100:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "100:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "93:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "93:35:29" - }, - "nodeType": "YulIf", - "src": "90:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "162:23:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "178:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "172:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "172:13:29" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "166:2:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "194:28:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "204:18:29", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "198:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "245:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "247:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "247:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "247:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "237:2:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "241:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "234:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "234:10:29" - }, - "nodeType": "YulIf", - "src": "231:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "276:23:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "296:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "290:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "290:9:29" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "280:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "308:69:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "334:6:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "350:2:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "354:4:29", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "346:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "346:13:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "365:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "361:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "361:7:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "342:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "342:27:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "330:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "330:40:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "372:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "326:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "326:51:29" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "312:10:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "436:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "438:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "438:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "438:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "395:10:29" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "407:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "392:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "392:18:29" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "415:10:29" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "427:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "412:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "412:22:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "389:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "389:46:29" - }, - "nodeType": "YulIf", - "src": "386:2:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "474:2:29", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "478:10:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "467:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "467:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "467:22:29" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "505:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "513:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "498:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "498:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "498:18:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "564:24:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "573:5:29" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "580:5:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "566:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "566:20:29" - }, - "nodeType": "YulExpressionStatement", - "src": "566:20:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "539:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "547:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "535:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "535:15:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "552:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "531:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "531:26:29" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "559:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "528:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "528:35:29" - }, - "nodeType": "YulIf", - "src": "525:2:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "623:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "631:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "619:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "619:17:29" - }, - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "642:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "650:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "638:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "638:17:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "657:2:29" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "597:21:29" - }, - "nodeType": "YulFunctionCall", - "src": "597:63:29" - }, - "nodeType": "YulExpressionStatement", - "src": "597:63:29" - }, - { - "nodeType": "YulAssignment", - "src": "669:15:29", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "678:6:29" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "669:5:29" - } - ] - } - ] - }, - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "54:6:29", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "62:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "70:5:29", - "type": "" - } - ], - "src": "14:676:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "765:259:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "811:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "820:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "828:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "813:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "813:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "813:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "786:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "795:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "782:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "782:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "807:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "778:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "778:32:29" - }, - "nodeType": "YulIf", - "src": "775:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "846:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "872:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "859:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "859:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "850:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "968:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "977:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "985:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "970:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "970:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "970:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "904:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "915:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "922:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "911:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "911:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "901:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "901:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "894:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "894:73:29" - }, - "nodeType": "YulIf", - "src": "891:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1003:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1013:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1003:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "731:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "742:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "754:6:29", - "type": "" - } - ], - "src": "695:329:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1205:863:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1252:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1261:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1269:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1254:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1254:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1254:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1226:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1235:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1222:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1222:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1247:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1218:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1218:33:29" - }, - "nodeType": "YulIf", - "src": "1215:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1287:30:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1307:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1301:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1301:16:29" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1291:6:29", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1326:28:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1336:18:29", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1330:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1381:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1390:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1398:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1383:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1383:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1383:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1369:6:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1377:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1366:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1366:14:29" - }, - "nodeType": "YulIf", - "src": "1363:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1416:73:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1461:9:29" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1472:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1457:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1457:22:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1481:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1426:30:29" - }, - "nodeType": "YulFunctionCall", - "src": "1426:63:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1416:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1498:41:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1524:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1535:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1520:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1520:18:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1514:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1514:25:29" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1502:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1568:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1577:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1585:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1570:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1570:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1570:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1554:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1564:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1551:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1551:16:29" - }, - "nodeType": "YulIf", - "src": "1548:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1603:75:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1648:9:29" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1659:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1644:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1644:24:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1670:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1613:30:29" - }, - "nodeType": "YulFunctionCall", - "src": "1613:65:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1603:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1687:41:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1713:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1724:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1709:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1709:18:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1703:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1703:25:29" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "1691:8:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1757:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1766:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1774:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1759:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1759:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1759:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "1743:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1753:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1740:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1740:16:29" - }, - "nodeType": "YulIf", - "src": "1737:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1792:75:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1837:9:29" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "1848:8:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1833:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1833:24:29" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1859:7:29" - } - ], - "functionName": { - "name": "abi_decode_t_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1802:30:29" - }, - "nodeType": "YulFunctionCall", - "src": "1802:65:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1792:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1876:38:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1899:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1910:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1895:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1895:18:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1889:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1889:25:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1880:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1967:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1976:6:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1984:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1969:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1969:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1969:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1936:5:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1957:5:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1950:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1950:13:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1943:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1943:21:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1933:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1933:32:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1926:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1926:40:29" - }, - "nodeType": "YulIf", - "src": "1923:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2002:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2012:5:29" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "2002:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2026:36:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2046:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2057:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2042:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2042:19:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2036:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "2036:26:29" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2026:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_boolt_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1139:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1150:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1162:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1170:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1178:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1186:6:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "1194:6:29", - "type": "" - } - ], - "src": "1029:1039:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2143:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2189:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2198:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2206:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2191:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2191:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2191:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2164:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2173:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2160:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2160:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2185:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2156:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2156:32:29" - }, - "nodeType": "YulIf", - "src": "2153:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2224:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2247:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2234:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "2234:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2224:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2109:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2120:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2132:6:29", - "type": "" - } - ], - "src": "2073:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2349:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2395:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2404:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2412:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2397:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2397:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2397:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2370:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2379:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2366:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2366:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2391:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2362:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2362:32:29" - }, - "nodeType": "YulIf", - "src": "2359:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2430:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2446:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2440:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "2440:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2430:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2315:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2326:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2338:6:29", - "type": "" - } - ], - "src": "2268:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2519:208:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2529:26:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2549:5:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2543:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "2543:12:29" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2533:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2571:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2576:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2564:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2564:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2564:19:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2618:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2625:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2614:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2614:16:29" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2636:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2641:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2632:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2632:14:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2648:6:29" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "2592:21:29" - }, - "nodeType": "YulFunctionCall", - "src": "2592:63:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2592:63:29" - }, - { - "nodeType": "YulAssignment", - "src": "2664:57:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2679:3:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2692:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2700:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2688:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2688:15:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2709:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2705:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2705:7:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2684:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2684:29:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2675:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2675:39:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2716:4:29", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2671:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2671:50:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2664:3:29" - } - ] - } - ] - }, - "name": "abi_encode_t_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2496:5:29", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2503:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2511:3:29", - "type": "" - } - ], - "src": "2467:260:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2833:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2843:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2855:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2866:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2851:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2851:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2843:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2885:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2900:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2908:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2896:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2896:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2878:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2878:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2878:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2802:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2813:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2824:4:29", - "type": "" - } - ], - "src": "2732:226:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3084:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3094:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3106:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3117:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3102:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3102:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3094:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3136:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3151:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3159:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3147:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3147:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3129:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3129:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3129:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IJobManager_$4716__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3053:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3064:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3075:4:29", - "type": "" - } - ], - "src": "2963:246:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3481:440:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3498:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3509:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3491:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3491:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3491:22:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3522:62:29", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3556:6:29" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3568:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3579:3:29", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3564:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3564:19:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "3536:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "3536:48:29" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "3526:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3604:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3615:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3600:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3600:18:29" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "3624:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3632:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3620:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3620:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3593:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3593:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3593:50:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3652:49:29", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3686:6:29" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "3694:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "3666:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "3666:35:29" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "3656:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3721:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3732:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3717:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3717:18:29" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "3741:6:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3749:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3737:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3737:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3710:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3710:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3710:50:29" - }, - { - "nodeType": "YulAssignment", - "src": "3769:43:29", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3797:6:29" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "3805:6:29" - } - ], - "functionName": { - "name": "abi_encode_t_string", - "nodeType": "YulIdentifier", - "src": "3777:19:29" - }, - "nodeType": "YulFunctionCall", - "src": "3777:35:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3769:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3832:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3843:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3828:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3828:18:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "3862:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3855:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3855:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3848:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3848:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3821:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3821:50:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3821:50:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3891:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3902:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3887:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3887:19:29" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "3908:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3880:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3880:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3880:35:29" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3418:9:29", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "3429:6:29", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3437:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3445:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3453:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3461:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3472:4:29", - "type": "" - } - ], - "src": "3214:707:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4100:173:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4117:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4128:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4110:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4110:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4110:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4151:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4162:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4147:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4147:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4167:2:29", - "type": "", - "value": "23" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4140:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4140:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4140:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4190:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4201:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4186:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4186:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4206:25:29", - "type": "", - "value": "caller is not the owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4179:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4179:53:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4179:53:29" - }, - { - "nodeType": "YulAssignment", - "src": "4241:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4253:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4264:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4249:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4249:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4241:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4077:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4091:4:29", - "type": "" - } - ], - "src": "3926:347:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4379:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4389:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4401:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4412:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4397:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4397:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4389:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4431:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4442:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4424:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4424:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4424:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4348:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4359:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4370:4:29", - "type": "" - } - ], - "src": "4278:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4513:205:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4523:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4532:1:29", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4527:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4592:63:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "4617:3:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4622:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4613:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4613:11:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "4636:3:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4641:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4632:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4632:11:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4626:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "4626:18:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4606:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4606:39:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4606:39:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4553:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4556:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4550:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4550:13:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4564:19:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4566:15:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4575:1:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4578:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4571:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4571:10:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4566:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4546:3:29", - "statements": [] - }, - "src": "4542:113:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4681:31:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "4694:3:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4699:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4690:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4690:16:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4708:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4683:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4683:27:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4683:27:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4670:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4673:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4667:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "4667:13:29" - }, - "nodeType": "YulIf", - "src": "4664:2:29" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "4491:3:29", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "4496:3:29", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "4501:6:29", - "type": "" - } - ], - "src": "4460:258:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4755:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4772:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4775:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4765:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4765:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4765:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4869:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4872:4:29", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4862:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4862:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4862:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4893:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4896:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4886:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4886:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4886:15:29" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "4723:184:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n let _1 := mload(offset)\n let _2 := 0xffffffffffffffff\n if gt(_1, _2) { panic_error_0x41() }\n let memPtr := mload(64)\n let newFreePtr := add(add(memPtr, and(add(_1, 0x1f), not(31))), 0x20)\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(array, array) }\n copy_memory_to_memory(add(offset, 0x20), add(memPtr, 0x20), _1)\n array := memPtr\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_boolt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(value4, value4) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(value4, value4) }\n value0 := abi_decode_t_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(value4, value4) }\n value1 := abi_decode_t_string_fromMemory(add(headStart, offset_1), dataEnd)\n let offset_2 := mload(add(headStart, 64))\n if gt(offset_2, _1) { revert(value4, value4) }\n value2 := abi_decode_t_string_fromMemory(add(headStart, offset_2), dataEnd)\n let value := mload(add(headStart, 96))\n if iszero(eq(value, iszero(iszero(value)))) { revert(value4, value4) }\n value3 := value\n value4 := mload(add(headStart, 128))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_encode_t_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_contract$_IJobManager_$4716__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 160)\n let tail_1 := abi_encode_t_string(value0, add(headStart, 160))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_t_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_t_string(value2, tail_2)\n mstore(add(headStart, 96), iszero(iszero(value3)))\n mstore(add(headStart, 128), value4)\n }\n function abi_encode_tuple_t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function copy_memory_to_memory(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100725760003560e01c8063995e433911610050578063995e4339146100b2578063bf22c457146100d2578063c89e4361146100f657610072565b80632da4e75c146100775780633df395a31461008c5780638da5cb5b146100aa575b600080fd5b61008a610085366004610395565b6100fe565b005b61009461018f565b6040516100a191906104c6565b60405180910390f35b61009461019e565b6100c56100c036600461046a565b6101ad565b6040516100a1919061055f565b6100e56100e036600461046a565b61024d565b6040516100a19594939291906104da565b610094610306565b6001546001600160a01b0316331461014b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014290610528565b60405180910390fd5b600080546001600160a01b039092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790915560028054909216179055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6002546040517f995e43390000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063995e4339906101f790859060040161055f565b60206040518083038186803b15801561020f57600080fd5b505afa158015610223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102479190610482565b92915050565b6002546040517fbf22c4570000000000000000000000000000000000000000000000000000000081526060918291829160009182916001600160a01b03169063bf22c457906102a090899060040161055f565b60006040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f491908101906103c3565b939a9299509097509550909350915050565b6000546001600160a01b031681565b600082601f830112610325578081fd5b815167ffffffffffffffff8082111561034057610340610598565b604051601f8301601f19168101602001828111828210171561036457610364610598565b60405282815284830160200186101561037b578384fd5b61038c836020830160208801610568565b95945050505050565b6000602082840312156103a6578081fd5b81356001600160a01b03811681146103bc578182fd5b9392505050565b600080600080600060a086880312156103da578081fd5b855167ffffffffffffffff808211156103f1578283fd5b6103fd89838a01610315565b96506020880151915080821115610412578283fd5b61041e89838a01610315565b95506040880151915080821115610433578283fd5b5061044088828901610315565b93505060608601518015158114610455578182fd5b80925050608086015190509295509295909350565b60006020828403121561047b578081fd5b5035919050565b600060208284031215610493578081fd5b5051919050565b600081518084526104b2816020860160208601610568565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060a082526104ed60a083018861049a565b82810360208401526104ff818861049a565b90508281036040840152610513818761049a565b94151560608401525050608001529392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b90815260200190565b60005b8381101561058357818101518382015260200161056b565b83811115610592576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212202b4f74bce8a4ea2a7f82c1d06c64ef70cd5c06a785a8dea5c37a43f298d3e01a64736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x72 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x995E4339 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x995E4339 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xBF22C457 EQ PUSH2 0xD2 JUMPI DUP1 PUSH4 0xC89E4361 EQ PUSH2 0xF6 JUMPI PUSH2 0x72 JUMP JUMPDEST DUP1 PUSH4 0x2DA4E75C EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x3DF395A3 EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xAA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8A PUSH2 0x85 CALLDATASIZE PUSH1 0x4 PUSH2 0x395 JUMP JUMPDEST PUSH2 0xFE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x94 PUSH2 0x18F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP2 SWAP1 PUSH2 0x4C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH2 0x19E JUMP JUMPDEST PUSH2 0xC5 PUSH2 0xC0 CALLDATASIZE PUSH1 0x4 PUSH2 0x46A JUMP JUMPDEST PUSH2 0x1AD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP2 SWAP1 PUSH2 0x55F JUMP JUMPDEST PUSH2 0xE5 PUSH2 0xE0 CALLDATASIZE PUSH1 0x4 PUSH2 0x46A JUMP JUMPDEST PUSH2 0x24D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4DA JUMP JUMPDEST PUSH2 0x94 PUSH2 0x306 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x14B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x142 SWAP1 PUSH2 0x528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x2 DUP1 SLOAD SWAP1 SWAP3 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH32 0x995E433900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x995E4339 SWAP1 PUSH2 0x1F7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x55F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x20F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x223 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x247 SWAP2 SWAP1 PUSH2 0x482 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH32 0xBF22C45700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x60 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xBF22C457 SWAP1 PUSH2 0x2A0 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x55F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2CC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x2F4 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x3C3 JUMP JUMPDEST SWAP4 SWAP11 SWAP3 SWAP10 POP SWAP1 SWAP8 POP SWAP6 POP SWAP1 SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x325 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x340 JUMPI PUSH2 0x340 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x20 ADD DUP3 DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x364 JUMPI PUSH2 0x364 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP5 DUP4 ADD PUSH1 0x20 ADD DUP7 LT ISZERO PUSH2 0x37B JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x38C DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x568 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A6 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3BC JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x3DA JUMPI DUP1 DUP2 REVERT JUMPDEST DUP6 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3F1 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x3FD DUP10 DUP4 DUP11 ADD PUSH2 0x315 JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x412 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x41E DUP10 DUP4 DUP11 ADD PUSH2 0x315 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x433 JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH2 0x440 DUP9 DUP3 DUP10 ADD PUSH2 0x315 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x455 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP3 POP POP PUSH1 0x80 DUP7 ADD MLOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x47B JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x493 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4B2 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x568 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 MSTORE PUSH2 0x4ED PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x49A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4FF DUP2 DUP9 PUSH2 0x49A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x513 DUP2 DUP8 PUSH2 0x49A JUMP JUMPDEST SWAP5 ISZERO ISZERO PUSH1 0x60 DUP5 ADD MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x17 SWAP1 DUP3 ADD MSTORE PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x583 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x56B JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x592 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2B 0x4F PUSH21 0xBCE8A4EA2A7F82C1D06C64EF70CD5C06A785A8DEA5 0xC3 PUSH27 0x43F298D3E01A64736F6C6343000800003300000000000000000000 ", - "sourceMap": "110:777:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;546:225;;;;;;:::i;:::-;;:::i;:::-;;204:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;165:33;;;:::i;777:108::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;240:300::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;136:23::-;;;:::i;546:225::-;638:5;;-1:-1:-1;;;;;638:5:22;624:10;:19;616:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;681:8;:29;;-1:-1:-1;;;;;681:29:22;;;;;;;;;;;;720:10;:44;;;;;;;;546:225::o;204:29::-;;;-1:-1:-1;;;;;204:29:22;;:::o;165:33::-;;;-1:-1:-1;;;;;165:33:22;;:::o;777:108::-;854:10;;:24;;;;;828:7;;-1:-1:-1;;;;;854:10:22;;:20;;:24;;875:2;;854:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;847:31;777:108;-1:-1:-1;;777:108:22:o;240:300::-;512:10;;:21;;;;;342:17;;;;;;441:11;;;;-1:-1:-1;;;;;512:10:22;;:17;;:21;;530:2;;512:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;512:21:22;;;;;;;;;;;;:::i;:::-;505:28;;;;-1:-1:-1;505:28:22;;-1:-1:-1;505:28:22;-1:-1:-1;505:28:22;;-1:-1:-1;240:300:22;-1:-1:-1;;240:300:22:o;136:23::-;;;-1:-1:-1;;;;;136:23:22;;:::o;14:676:29:-;;123:3;116:4;108:6;104:17;100:27;90:2;;145:5;138;131:20;90:2;178:6;172:13;204:18;241:2;237;234:10;231:2;;;247:18;;:::i;:::-;296:2;290:9;365:2;346:13;;-1:-1:-1;;342:27:29;330:40;;372:4;326:51;392:18;;;412:22;;;389:46;386:2;;;438:18;;:::i;:::-;474:2;467:22;498:18;;;535:15;;;552:4;531:26;528:35;-1:-1:-1;525:2:29;;;580:5;573;566:20;525:2;597:63;657:2;650:4;642:6;638:17;631:4;623:6;619:17;597:63;:::i;:::-;678:6;80:610;-1:-1:-1;;;;;80:610:29:o;695:329::-;;807:2;795:9;786:7;782:23;778:32;775:2;;;828:6;820;813:22;775:2;872:9;859:23;-1:-1:-1;;;;;915:5:29;911:54;904:5;901:65;891:2;;985:6;977;970:22;891:2;1013:5;765:259;-1:-1:-1;;;765:259:29:o;1029:1039::-;;;;;;1247:3;1235:9;1226:7;1222:23;1218:33;1215:2;;;1269:6;1261;1254:22;1215:2;1307:9;1301:16;1336:18;1377:2;1369:6;1366:14;1363:2;;;1398:6;1390;1383:22;1363:2;1426:63;1481:7;1472:6;1461:9;1457:22;1426:63;:::i;:::-;1416:73;;1535:2;1524:9;1520:18;1514:25;1498:41;;1564:2;1554:8;1551:16;1548:2;;;1585:6;1577;1570:22;1548:2;1613:65;1670:7;1659:8;1648:9;1644:24;1613:65;:::i;:::-;1603:75;;1724:2;1713:9;1709:18;1703:25;1687:41;;1753:2;1743:8;1740:16;1737:2;;;1774:6;1766;1759:22;1737:2;;1802:65;1859:7;1848:8;1837:9;1833:24;1802:65;:::i;:::-;1792:75;;;1910:2;1899:9;1895:18;1889:25;1957:5;1950:13;1943:21;1936:5;1933:32;1923:2;;1984:6;1976;1969:22;1923:2;2012:5;2002:15;;;2057:3;2046:9;2042:19;2036:26;2026:36;;1205:863;;;;;;;;:::o;2073:190::-;;2185:2;2173:9;2164:7;2160:23;2156:32;2153:2;;;2206:6;2198;2191:22;2153:2;-1:-1:-1;2234:23:29;;2143:120;-1:-1:-1;2143:120:29:o;2268:194::-;;2391:2;2379:9;2370:7;2366:23;2362:32;2359:2;;;2412:6;2404;2397:22;2359:2;-1:-1:-1;2440:16:29;;2349:113;-1:-1:-1;2349:113:29:o;2467:260::-;;2549:5;2543:12;2576:6;2571:3;2564:19;2592:63;2648:6;2641:4;2636:3;2632:14;2625:4;2618:5;2614:16;2592:63;:::i;:::-;2709:2;2688:15;-1:-1:-1;;2684:29:29;2675:39;;;;2716:4;2671:50;;2519:208;-1:-1:-1;;2519:208:29:o;2732:226::-;-1:-1:-1;;;;;2896:55:29;;;;2878:74;;2866:2;2851:18;;2833:125::o;3214:707::-;;3509:3;3498:9;3491:22;3536:48;3579:3;3568:9;3564:19;3556:6;3536:48;:::i;:::-;3632:9;3624:6;3620:22;3615:2;3604:9;3600:18;3593:50;3666:35;3694:6;3686;3666:35;:::i;:::-;3652:49;;3749:9;3741:6;3737:22;3732:2;3721:9;3717:18;3710:50;3777:35;3805:6;3797;3777:35;:::i;:::-;3855:14;;3848:22;3843:2;3828:18;;3821:50;-1:-1:-1;;3902:3:29;3887:19;3880:35;3769:43;3481:440;-1:-1:-1;;;3481:440:29:o;3926:347::-;4128:2;4110:21;;;4167:2;4147:18;;;4140:30;4206:25;4201:2;4186:18;;4179:53;4264:2;4249:18;;4100:173::o;4278:177::-;4424:25;;;4412:2;4397:18;;4379:76::o;4460:258::-;4532:1;4542:113;4556:6;4553:1;4550:13;4542:113;;;4632:11;;;4626:18;4613:11;;;4606:39;4578:2;4571:10;4542:113;;;4673:6;4670:1;4667:13;4664:2;;;4708:1;4699:6;4694:3;4690:16;4683:27;4664:2;;4513:205;;;:::o;4723:184::-;4775:77;4772:1;4765:88;4872:4;4869:1;4862:15;4896:4;4893:1;4886:15" - }, - "methodIdentifiers": { - "delegate()": "c89e4361", - "getJob(uint256)": "bf22c457", - "getResult(uint256)": "995e4339", - "jobManager()": "3df395a3", - "owner()": "8da5cb5b", - "upgradeDelegate(address)": "2da4e75c" - } - } - } - }, - "contracts/Faucet.sol": { - "Faucet": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Donate", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "faucet", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "requested", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:326:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "95:229:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "141:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "150:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "158:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "143:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "143:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "143:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "116:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "125:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "112:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "112:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "137:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "108:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "108:32:29" - }, - "nodeType": "YulIf", - "src": "105:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "176:29:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "195:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "189:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "189:16:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "180:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "268:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "277:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "285:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "270:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "270:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "270:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "227:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "238:5:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "253:3:29", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "258:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "249:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "249:11:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "262:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "245:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "245:19:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "234:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "234:31:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "224:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "224:42:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "217:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "217:50:29" - }, - "nodeType": "YulIf", - "src": "214:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "303:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "313:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "303:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "61:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "72:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "84:6:29", - "type": "" - } - ], - "src": "14:310:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(value0, value0) }\n value0 := value\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5060405161038438038061038483398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b6102f3806100916000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b86d1d6314610046578063eecf0b4f1461005b578063fc0c546a14610084575b600080fd5b610059610054366004610210565b610099565b005b61006e610069366004610210565b6101df565b60405161007b9190610291565b60405180910390f35b61008c6101f4565b60405161007b919061029c565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166101dc5773ffffffffffffffffffffffffffffffffffffffff8082166000908152600160208190526040808320805460ff1916909217909155905490517fa9059cbb00000000000000000000000000000000000000000000000000000000815291169063a9059cbb9061014590849069021e19e0c9bab24000009060040161026b565b602060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610197919061024b565b507f0553260a2e46b0577270d8992db02d30856ca880144c72d6e9503760946aef138169021e19e0c9bab24000006040516101d392919061026b565b60405180910390a15b50565b60016020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600060208284031215610221578081fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610244578182fd5b9392505050565b60006020828403121561025c578081fd5b81518015158114610244578182fd5b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b73ffffffffffffffffffffffffffffffffffffffff9190911681526020019056fea2646970667358221220eff413b08102076b0713cd723920d8a01712787a9be92867dbf97674b269a51864736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x384 CODESIZE SUB DUP1 PUSH2 0x384 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x54 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x82 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x65 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x7B JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x2F3 DUP1 PUSH2 0x91 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB86D1D63 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xEECF0B4F EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x84 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0x210 JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6E PUSH2 0x69 CALLDATASIZE PUSH1 0x4 PUSH2 0x210 JUMP JUMPDEST PUSH2 0x1DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x291 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8C PUSH2 0x1F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x29C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1DC JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE SWAP1 SLOAD SWAP1 MLOAD PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x145 SWAP1 DUP5 SWAP1 PUSH10 0x21E19E0C9BAB2400000 SWAP1 PUSH1 0x4 ADD PUSH2 0x26B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x173 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x197 SWAP2 SWAP1 PUSH2 0x24B JUMP JUMPDEST POP PUSH32 0x553260A2E46B0577270D8992DB02D30856CA880144C72D6E9503760946AEF13 DUP2 PUSH10 0x21E19E0C9BAB2400000 PUSH1 0x40 MLOAD PUSH2 0x1D3 SWAP3 SWAP2 SWAP1 PUSH2 0x26B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x221 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x244 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25C JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x244 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEF DELEGATECALL SGT 0xB0 DUP2 MUL SMOD PUSH12 0x713CD723920D8A01712787A SWAP12 0xE9 0x28 PUSH8 0xDBF97674B269A518 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "122:610:23:-:0;;;273:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;317:5;:28;;-1:-1:-1;;;;;;317:28:23;-1:-1:-1;;;;;317:28:23;;;;;;;;;;122:610;;14:310:29;;137:2;125:9;116:7;112:23;108:32;105:2;;;158:6;150;143:22;105:2;189:16;;-1:-1:-1;;;;;234:31:29;;224:42;;214:2;;285:6;277;270:22;214:2;313:5;95:229;-1:-1:-1;;;95:229:29:o;:::-;122:610:23;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1415:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:259:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "132:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "132:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:29" - }, - "nodeType": "YulIf", - "src": "94:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "165:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "191:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "178:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "178:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "169:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "287:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "296:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "304:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "289:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "289:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "289:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "223:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "234:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "241:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "230:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "230:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "220:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "220:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "213:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "213:73:29" - }, - "nodeType": "YulIf", - "src": "210:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "322:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "332:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "322:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:29", - "type": "" - } - ], - "src": "14:329:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "426:219:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "472:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "481:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "489:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "474:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "474:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "474:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "447:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "456:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "443:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "443:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "468:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "439:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "439:32:29" - }, - "nodeType": "YulIf", - "src": "436:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "507:29:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "526:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "520:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "520:16:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "511:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "589:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "598:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "606:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "591:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "591:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "591:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "558:5:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "579:5:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "572:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "572:13:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "565:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "565:21:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "555:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "555:32:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "548:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "548:40:29" - }, - "nodeType": "YulIf", - "src": "545:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "624:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "634:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "624:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "392:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "403:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "415:6:29", - "type": "" - } - ], - "src": "348:297:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "809:168:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "819:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "831:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "842:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "827:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "827:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "819:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "861:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "876:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "884:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "872:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "872:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "854:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "854:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "854:74:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "948:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "959:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "944:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "944:18:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "964:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "937:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "937:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "937:34:29" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_rational_10000000000000000000000_by_1__to_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "770:9:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "781:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "789:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "800:4:29", - "type": "" - } - ], - "src": "650:327:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1077:92:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1087:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1099:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1110:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1095:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1095:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1087:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1129:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1154:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1147:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1147:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1140:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1140:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1122:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1122:41:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1122:41:29" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1046:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1057:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1068:4:29", - "type": "" - } - ], - "src": "982:187:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1288:125:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1298:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1310:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1321:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1306:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1306:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1298:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1340:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1355:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1363:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1351:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1351:55:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1333:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1333:74:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1333:74:29" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_ERC20_$823__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1257:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1268:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1279:4:29", - "type": "" - } - ], - "src": "1174:239:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(value0, value0) }\n value0 := value\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_t_address_t_rational_10000000000000000000000_by_1__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_contract$_ERC20_$823__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c8063b86d1d6314610046578063eecf0b4f1461005b578063fc0c546a14610084575b600080fd5b610059610054366004610210565b610099565b005b61006e610069366004610210565b6101df565b60405161007b9190610291565b60405180910390f35b61008c6101f4565b60405161007b919061029c565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166101dc5773ffffffffffffffffffffffffffffffffffffffff8082166000908152600160208190526040808320805460ff1916909217909155905490517fa9059cbb00000000000000000000000000000000000000000000000000000000815291169063a9059cbb9061014590849069021e19e0c9bab24000009060040161026b565b602060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610197919061024b565b507f0553260a2e46b0577270d8992db02d30856ca880144c72d6e9503760946aef138169021e19e0c9bab24000006040516101d392919061026b565b60405180910390a15b50565b60016020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600060208284031215610221578081fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610244578182fd5b9392505050565b60006020828403121561025c578081fd5b81518015158114610244578182fd5b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b73ffffffffffffffffffffffffffffffffffffffff9190911681526020019056fea2646970667358221220eff413b08102076b0713cd723920d8a01712787a9be92867dbf97674b269a51864736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB86D1D63 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xEECF0B4F EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x84 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0x54 CALLDATASIZE PUSH1 0x4 PUSH2 0x210 JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6E PUSH2 0x69 CALLDATASIZE PUSH1 0x4 PUSH2 0x210 JUMP JUMPDEST PUSH2 0x1DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x291 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8C PUSH2 0x1F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x29C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1DC JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE SWAP1 SLOAD SWAP1 MLOAD PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH2 0x145 SWAP1 DUP5 SWAP1 PUSH10 0x21E19E0C9BAB2400000 SWAP1 PUSH1 0x4 ADD PUSH2 0x26B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x173 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x197 SWAP2 SWAP1 PUSH2 0x24B JUMP JUMPDEST POP PUSH32 0x553260A2E46B0577270D8992DB02D30856CA880144C72D6E9503760946AEF13 DUP2 PUSH10 0x21E19E0C9BAB2400000 PUSH1 0x40 MLOAD PUSH2 0x1D3 SWAP3 SWAP2 SWAP1 PUSH2 0x26B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x221 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x244 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25C JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x244 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEF DELEGATECALL SGT 0xB0 DUP2 MUL SMOD PUSH12 0x713CD723920D8A01712787A SWAP12 0xE9 0x28 PUSH8 0xDBF97674B269A518 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "122:610:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;444:286;;;;;;:::i;:::-;;:::i;:::-;;169:41;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;145:18;;;:::i;:::-;;;;;;;:::i;444:286::-;502:19;;;;;;;:9;:19;;;;;;;;497:227;;537:19;;;;;;;;559:4;537:19;;;;;;;;:26;;-1:-1:-1;;537:26:23;;;;;;;614:5;;:44;;;;;:5;;;:14;;:44;;547:8;;639:18;;614:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;677:36;684:8;694:18;677:36;;;;;;;:::i;:::-;;;;;;;;497:227;444:286;:::o;169:41::-;;;;;;;;;;;;;;;:::o;145:18::-;;;;;;:::o;14:329:29:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;241:42;234:5;230:54;223:5;220:65;210:2;;304:6;296;289:22;210:2;332:5;84:259;-1:-1:-1;;;84:259:29:o;348:297::-;;468:2;456:9;447:7;443:23;439:32;436:2;;;489:6;481;474:22;436:2;526:9;520:16;579:5;572:13;565:21;558:5;555:32;545:2;;606:6;598;591:22;650:327;884:42;872:55;;;;854:74;;959:2;944:18;;937:34;842:2;827:18;;809:168::o;982:187::-;1147:14;;1140:22;1122:41;;1110:2;1095:18;;1077:92::o;1174:239::-;1363:42;1351:55;;;;1333:74;;1321:2;1306:18;;1288:125::o" - }, - "methodIdentifiers": { - "faucet(address)": "b86d1d63", - "requested(address)": "eecf0b4f", - "token()": "fc0c546a" - } - } - } - }, - "contracts/Initializable.sol": { - "Initializable": { - "abi": [], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": {} - } - } - }, - "contracts/SchellingCoin.sol": { - "SchellingCoin": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "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": [], - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INITIAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINTER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addMinter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": "amount", - "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": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "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": "removeMinter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2905:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "188:181:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "205:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "216:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "198:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "198:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "198:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "239:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "250:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "235:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "235:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "255:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "228:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "228:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "228:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "278:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "289:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "274:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "274:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "294:33:29", - "type": "", - "value": "ERC20: mint to the zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "267:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "267:61:29" - }, - "nodeType": "YulExpressionStatement", - "src": "267:61:29" - }, - { - "nodeType": "YulAssignment", - "src": "337:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "349:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "360:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "345:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "345:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "337:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "165:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "179:4:29", - "type": "" - } - ], - "src": "14:355:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "475:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "485:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "497:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "508:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "493:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "493:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "485:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "527:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "538:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "520:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "520:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "520:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "444:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "455:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "466:4:29", - "type": "" - } - ], - "src": "374:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "604:80:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "631:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "633:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "633:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "633:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "620:1:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "627:1:29" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "623:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "623:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "617:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "617:13:29" - }, - "nodeType": "YulIf", - "src": "614:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "662:16:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "673:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "676:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "669:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "669:9:29" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "662:3:29" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "587:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "590:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "596:3:29", - "type": "" - } - ], - "src": "556:128:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "766:376:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "776:15:29", - "value": { - "name": "_power", - "nodeType": "YulIdentifier", - "src": "785:6:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "776:5:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "800:13:29", - "value": { - "name": "_base", - "nodeType": "YulIdentifier", - "src": "808:5:29" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "800:4:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "847:289:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "861:11:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "871:1:29", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "865:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "913:9:29", - "statements": [ - { - "nodeType": "YulBreak", - "src": "915:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "898:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "908:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "895:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "895:16:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "888:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "888:24:29" - }, - "nodeType": "YulIf", - "src": "885:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "963:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "965:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "965:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "965:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "941:4:29" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "951:3:29" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "956:4:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "947:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "947:14:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "938:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "938:24:29" - }, - "nodeType": "YulIf", - "src": "935:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1019:29:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1021:25:29", - "value": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1034:5:29" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1041:4:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "1030:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1030:16:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1021:5:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1005:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1015:2:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1001:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1001:17:29" - }, - "nodeType": "YulIf", - "src": "998:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1061:23:29", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1073:4:29" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1079:4:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "1069:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1069:15:29" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1061:4:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1097:29:29", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1113:2:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1117:8:29" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1109:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1109:17:29" - }, - "variableNames": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1097:8:29" - } - ] - } - ] - }, - "condition": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "830:4:29", - "type": "", - "value": "true" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "835:3:29", - "statements": [] - }, - "pre": { - "nodeType": "YulBlock", - "src": "826:3:29", - "statements": [] - }, - "src": "822:314:29" - } - ] - }, - "name": "checked_exp_helper", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "_power", - "nodeType": "YulTypedName", - "src": "717:6:29", - "type": "" - }, - { - "name": "_base", - "nodeType": "YulTypedName", - "src": "725:5:29", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "732:8:29", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "742:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "750:5:29", - "type": "" - }, - { - "name": "base", - "nodeType": "YulTypedName", - "src": "757:4:29", - "type": "" - } - ], - "src": "689:453:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1217:69:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1227:53:29", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1257:4:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1263:8:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1277:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1273:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1273:6:29" - } - ], - "functionName": { - "name": "checked_exp_unsigned", - "nodeType": "YulIdentifier", - "src": "1236:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "1236:44:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1227:5:29" - } - ] - } - ] - }, - "name": "checked_exp_t_uint256_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "1188:4:29", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "1194:8:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "1207:5:29", - "type": "" - } - ], - "src": "1147:139:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1355:858:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1393:52:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1407:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1416:1:29", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1407:5:29" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "1430:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1375:8:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1368:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1368:16:29" - }, - "nodeType": "YulIf", - "src": "1365:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1478:52:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1492:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1501:1:29", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1492:5:29" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "1515:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1464:4:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1457:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1457:12:29" - }, - "nodeType": "YulIf", - "src": "1454:2:29" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1566:52:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1580:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1589:1:29", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1580:5:29" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "1603:5:29" - } - ] - }, - "nodeType": "YulCase", - "src": "1559:59:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1564:1:29", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1634:176:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1669:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1671:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "1671:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1671:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1654:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1664:3:29", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1651:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1651:17:29" - }, - "nodeType": "YulIf", - "src": "1648:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1704:25:29", - "value": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1717:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1727:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1713:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1713:16:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1704:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1760:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1762:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "1762:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1762:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1748:5:29" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "1755:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1745:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1745:14:29" - }, - "nodeType": "YulIf", - "src": "1742:2:29" - }, - { - "nodeType": "YulLeave", - "src": "1795:5:29" - } - ] - }, - "nodeType": "YulCase", - "src": "1627:183:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1632:1:29", - "type": "", - "value": "2" - } - } - ], - "expression": { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1546:4:29" - }, - "nodeType": "YulSwitch", - "src": "1539:271:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1908:123:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1922:28:29", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1935:4:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1941:8:29" - } - ], - "functionName": { - "name": "exp", - "nodeType": "YulIdentifier", - "src": "1931:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1931:19:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1922:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1981:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1983:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "1983:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1983:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1969:5:29" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "1976:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1966:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1966:14:29" - }, - "nodeType": "YulIf", - "src": "1963:2:29" - }, - { - "nodeType": "YulLeave", - "src": "2016:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1832:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1838:2:29", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1829:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1829:12:29" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1846:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1856:2:29", - "type": "", - "value": "78" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1843:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1843:16:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1825:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1825:35:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1869:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1875:3:29", - "type": "", - "value": "307" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1866:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1866:13:29" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1884:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1894:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1881:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1881:16:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1862:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1862:36:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1822:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1822:77:29" - }, - "nodeType": "YulIf", - "src": "1819:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2040:65:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2082:1:29", - "type": "", - "value": "1" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "2085:4:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "2091:8:29" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "2101:3:29" - } - ], - "functionName": { - "name": "checked_exp_helper", - "nodeType": "YulIdentifier", - "src": "2063:18:29" - }, - "nodeType": "YulFunctionCall", - "src": "2063:42:29" - }, - "variables": [ - { - "name": "power_1", - "nodeType": "YulTypedName", - "src": "2044:7:29", - "type": "" - }, - { - "name": "base_1", - "nodeType": "YulTypedName", - "src": "2053:6:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2147:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2149:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "2149:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2149:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "2120:7:29" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "2133:3:29" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "2138:6:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2129:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2129:16:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2117:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2117:29:29" - }, - "nodeType": "YulIf", - "src": "2114:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2178:29:29", - "value": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "2191:7:29" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "2200:6:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2187:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2187:20:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2178:5:29" - } - ] - } - ] - }, - "name": "checked_exp_unsigned", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "1321:4:29", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "1327:8:29", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "1337:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "1345:5:29", - "type": "" - } - ], - "src": "1291:922:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2270:116:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2329:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2331:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "2331:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2331:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2301:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2294:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2294:9:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2287:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2287:17:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2309:1:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2320:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2316:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2316:6:29" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2324:1:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2312:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2312:14:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2306:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2306:21:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2283:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2283:45:29" - }, - "nodeType": "YulIf", - "src": "2280:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2360:20:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2375:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2378:1:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2371:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2371:9:29" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "2360:7:29" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "2249:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "2252:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "2258:7:29", - "type": "" - } - ], - "src": "2218:168:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2446:325:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2456:22:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2470:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2476:1:29", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2466:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2466:12:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2456:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2487:38:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2517:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2523:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2513:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2513:12:29" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2491:18:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2564:31:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2566:27:29", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2580:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2588:4:29", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2576:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2576:17:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2566:6:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2544:18:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2537:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2537:26:29" - }, - "nodeType": "YulIf", - "src": "2534:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2654:111:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2675:1:29", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2682:3:29", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2687:10:29", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2678:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2678:20:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2668:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2668:31:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2668:31:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2719:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2722:4:29", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2712:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2712:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2712:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2747:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2750:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2740:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2740:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2740:15:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2610:18:29" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2633:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2641:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2630:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2630:14:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2607:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2607:38:29" - }, - "nodeType": "YulIf", - "src": "2604:2:29" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2426:4:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2435:6:29", - "type": "" - } - ], - "src": "2391:380:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2808:95:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2825:1:29", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2832:3:29", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2837:10:29", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2828:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2828:20:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2818:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2818:31:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2818:31:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2865:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2868:4:29", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2858:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2858:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2858:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2889:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2892:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2882:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2882:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2882:15:29" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "2776:127:29" - } - ] - }, - "contents": "{\n { }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_exp_helper(_power, _base, exponent, max) -> power, base\n {\n power := _power\n base := _base\n for { } true { }\n {\n let _1 := 1\n if iszero(gt(exponent, _1)) { break }\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, _1) { power := mul(power, base) }\n base := mul(base, base)\n exponent := shr(_1, exponent)\n }\n }\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power\n {\n power := checked_exp_unsigned(base, exponent, not(0))\n }\n function checked_exp_unsigned(base, exponent, max) -> power\n {\n if iszero(exponent)\n {\n power := 1\n leave\n }\n if iszero(base)\n {\n power := 0\n leave\n }\n switch base\n case 1 {\n power := 1\n leave\n }\n case 2 {\n if gt(exponent, 255) { panic_error_0x11() }\n power := shl(exponent, 1)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n let power_1, base_1 := checked_exp_helper(1, base, exponent, max)\n if gt(power_1, div(max, base_1)) { panic_error_0x11() }\n power := mul(power_1, base_1)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b506040518060400160405280600d81526020016c29b1b432b63634b733a1b7b4b760991b815250604051806040016040528060038152602001620a686960eb1b81525081600390805190602001906200006c92919062000267565b5080516200008290600490602084019062000267565b506200009491506000905033620000c3565b620000bd33620000a76012600a620003b5565b620000b790633b9aca00620004aa565b620000d3565b6200051f565b620000cf8282620001a7565b5050565b6001600160a01b038216620001055760405162461bcd60e51b8152600401620000fc906200030d565b60405180910390fd5b620001136000838362000233565b80600260008282546200012791906200034d565b90915550506001600160a01b03821660009081526020819052604081208054839290620001569084906200034d565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200019b90859062000344565b60405180910390a35050565b620001b3828262000238565b620000cf5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620001ef62000263565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b505050565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b8280546200027590620004cc565b90600052602060002090601f016020900481019282620002995760008555620002e4565b82601f10620002b457805160ff1916838001178555620002e4565b82800160010185558215620002e4579182015b82811115620002e4578251825591602001919060010190620002c7565b50620002f2929150620002f6565b5090565b5b80821115620002f25760008155600101620002f7565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6000821982111562000363576200036362000509565b500190565b80825b60018086116200037c5750620003ac565b81870482111562000391576200039162000509565b808616156200039f57918102915b9490941c9380026200036b565b94509492505050565b6000620003c66000198484620003cd565b9392505050565b600082620003de57506001620003c6565b81620003ed57506000620003c6565b8160018114620004065760028114620004115762000445565b6001915050620003c6565b60ff84111562000425576200042562000509565b6001841b9150848211156200043e576200043e62000509565b50620003c6565b5060208310610133831016604e8410600b84101617156200047d575081810a8381111562000477576200047762000509565b620003c6565b6200048c848484600162000368565b808604821115620004a157620004a162000509565b02949350505050565b6000816000190483118215151615620004c757620004c762000509565b500290565b600281046001821680620004e157607f821691505b602082108114156200050357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6113bf806200052f6000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806339509351116100e3578063a217fddf1161008c578063d539139311610066578063d53913931461031e578063d547741f14610326578063dd62ed3e1461033957610198565b8063a217fddf146102f0578063a457c2d7146102f8578063a9059cbb1461030b57610198565b806391d14854116100bd57806391d14854146102c257806395d89b41146102d5578063983b2d56146102dd57610198565b8063395093511461028957806340c10f191461029c57806370a08231146102af57610198565b80632e0f2625116101455780633092afd51161011f5780633092afd51461024e578063313ce5671461026157806336568abe1461027657610198565b80632e0f2625146102295780632f2ff15d146102315780632ff2e9dc1461024657610198565b806318160ddd1161017657806318160ddd146101ee57806323b872dd14610203578063248a9ca31461021657610198565b806301ffc9a71461019d57806306fdde03146101c6578063095ea7b3146101db575b600080fd5b6101b06101ab366004610d11565b61034c565b6040516101bd9190610d51565b60405180910390f35b6101ce6103aa565b6040516101bd9190610d65565b6101b06101e9366004610cae565b61043c565b6101f6610459565b6040516101bd9190610d5c565b6101b0610211366004610c73565b61045f565b6101f6610224366004610cd7565b610501565b6101f6610516565b61024461023f366004610cef565b61051b565b005b6101f6610559565b61024461025c366004610c27565b610576565b6102696105a3565b6040516101bd91906111c8565b610244610284366004610cef565b6105a8565b6101b0610297366004610cae565b6105ea565b6101b06102aa366004610cae565b610639565b6101f66102bd366004610c27565b61068b565b6101b06102d0366004610cef565b6106a6565b6101ce6106d1565b6102446102eb366004610c27565b6106e0565b6101f661070a565b6101b0610306366004610cae565b61070f565b6101b0610319366004610cae565b61078a565b6101f661079e565b610244610334366004610cef565b6107c2565b6101f6610347366004610c41565b6107ea565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103a257506103a282610815565b90505b919050565b6060600380546103b990611338565b80601f01602080910402602001604051908101604052809291908181526020018280546103e590611338565b80156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b5050505050905090565b600061045061044961085f565b8484610863565b50600192915050565b60025490565b600061046c848484610917565b6001600160a01b03841660009081526001602052604081208161048d61085f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104d95760405162461bcd60e51b81526004016104d090610fc0565b60405180910390fd5b6104f4856104e561085f565b6104ef8685611321565b610863565b60019150505b9392505050565b60009081526005602052604090206001015490565b601281565b61052f61052783610501565b6102d061085f565b61054b5760405162461bcd60e51b81526004016104d090610e15565b6105558282610a3f565b5050565b6105656012600a611234565b61057390633b9aca00611302565b81565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826107c2565b50565b601290565b6105b061085f565b6001600160a01b0316816001600160a01b0316146105e05760405162461bcd60e51b81526004016104d090611134565b6105558282610ac6565b60006104506105f761085f565b84846001600061060561085f565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546104ef91906111d6565b60006106657f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336106a6565b6106815760405162461bcd60e51b81526004016104d090610f89565b6104508383610b4b565b6001600160a01b031660009081526020819052604090205490565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546103b990611338565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261051b565b600081565b6000806001600061071e61085f565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561076a5760405162461bcd60e51b81526004016104d0906110d7565b61078061077561085f565b856104ef8685611321565b5060019392505050565b600061045061079761085f565b8484610917565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6107ce61052783610501565b6105e05760405162461bcd60e51b81526004016104d090610f2c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6001600160a01b0383166108895760405162461bcd60e51b81526004016104d09061107a565b6001600160a01b0382166108af5760405162461bcd60e51b81526004016104d090610e72565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061090a908590610d5c565b60405180910390a3505050565b6001600160a01b03831661093d5760405162461bcd60e51b81526004016104d09061101d565b6001600160a01b0382166109635760405162461bcd60e51b81526004016104d090610db8565b61096e838383610c0b565b6001600160a01b038316600090815260208190526040902054818110156109a75760405162461bcd60e51b81526004016104d090610ecf565b6109b18282611321565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906109e79084906111d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a319190610d5c565b60405180910390a350505050565b610a4982826106a6565b6105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a8261085f565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610ad082826106a6565b156105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19169055610b0761085f565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6001600160a01b038216610b715760405162461bcd60e51b81526004016104d090611191565b610b7d60008383610c0b565b8060026000828254610b8f91906111d6565b90915550506001600160a01b03821660009081526020819052604081208054839290610bbc9084906111d6565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bff908590610d5c565b60405180910390a35050565b505050565b80356001600160a01b03811681146103a557600080fd5b600060208284031215610c38578081fd5b6104fa82610c10565b60008060408385031215610c53578081fd5b610c5c83610c10565b9150610c6a60208401610c10565b90509250929050565b600080600060608486031215610c87578081fd5b610c9084610c10565b9250610c9e60208501610c10565b9150604084013590509250925092565b60008060408385031215610cc0578182fd5b610cc983610c10565b946020939093013593505050565b600060208284031215610ce8578081fd5b5035919050565b60008060408385031215610d01578182fd5b82359150610c6a60208401610c10565b600060208284031215610d22578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104fa578182fd5b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015610d9157858101830151858201604001528201610d75565b81811115610da25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526016908201527f43616c6c6572206973206e6f742061206d696e74657200000000000000000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60ff91909116815260200190565b600082198211156111e9576111e9611373565b500190565b80825b6001808611611200575061122b565b81870482111561121257611212611373565b8086161561121f57918102915b9490941c9380026111f1565b94509492505050565b60006104fa600019848460008261124d575060016104fa565b8161125a575060006104fa565b8160018114611270576002811461127a576112a7565b60019150506104fa565b60ff84111561128b5761128b611373565b6001841b9150848211156112a1576112a1611373565b506104fa565b5060208310610133831016604e8410600b84101617156112da575081810a838111156112d5576112d5611373565b6104fa565b6112e784848460016111ee565b8086048211156112f9576112f9611373565b02949350505050565b600081600019048311821515161561131c5761131c611373565b500290565b60008282101561133357611333611373565b500390565b60028104600182168061134c57607f821691505b6020821081141561136d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220de4d14037a98f876b7b08bb2b7d3d05b37719e395af849ca4eece8bfc1e70fc064736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xD DUP2 MSTORE PUSH1 0x20 ADD PUSH13 0x29B1B432B63634B733A1B7B4B7 PUSH1 0x99 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH3 0xA6869 PUSH1 0xEB SHL DUP2 MSTORE POP DUP2 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x6C SWAP3 SWAP2 SWAP1 PUSH3 0x267 JUMP JUMPDEST POP DUP1 MLOAD PUSH3 0x82 SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP5 ADD SWAP1 PUSH3 0x267 JUMP JUMPDEST POP PUSH3 0x94 SWAP2 POP PUSH1 0x0 SWAP1 POP CALLER PUSH3 0xC3 JUMP JUMPDEST PUSH3 0xBD CALLER PUSH3 0xA7 PUSH1 0x12 PUSH1 0xA PUSH3 0x3B5 JUMP JUMPDEST PUSH3 0xB7 SWAP1 PUSH4 0x3B9ACA00 PUSH3 0x4AA JUMP JUMPDEST PUSH3 0xD3 JUMP JUMPDEST PUSH3 0x51F JUMP JUMPDEST PUSH3 0xCF DUP3 DUP3 PUSH3 0x1A7 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0x105 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0xFC SWAP1 PUSH3 0x30D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x113 PUSH1 0x0 DUP4 DUP4 PUSH3 0x233 JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH3 0x127 SWAP2 SWAP1 PUSH3 0x34D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH3 0x156 SWAP1 DUP5 SWAP1 PUSH3 0x34D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH3 0x19B SWAP1 DUP6 SWAP1 PUSH3 0x344 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH3 0x1B3 DUP3 DUP3 PUSH3 0x238 JUMP JUMPDEST PUSH3 0xCF JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0x1EF PUSH3 0x263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x275 SWAP1 PUSH3 0x4CC JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x299 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x2E4 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x2B4 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x2E4 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x2E4 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x2E4 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x2C7 JUMP JUMPDEST POP PUSH3 0x2F2 SWAP3 SWAP2 POP PUSH3 0x2F6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x2F2 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x2F7 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1F SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH3 0x363 JUMPI PUSH3 0x363 PUSH3 0x509 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 JUMPDEST PUSH1 0x1 DUP1 DUP7 GT PUSH3 0x37C JUMPI POP PUSH3 0x3AC JUMP JUMPDEST DUP2 DUP8 DIV DUP3 GT ISZERO PUSH3 0x391 JUMPI PUSH3 0x391 PUSH3 0x509 JUMP JUMPDEST DUP1 DUP7 AND ISZERO PUSH3 0x39F JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP5 SWAP1 SWAP5 SHR SWAP4 DUP1 MUL PUSH3 0x36B JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3C6 PUSH1 0x0 NOT DUP5 DUP5 PUSH3 0x3CD JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH3 0x3DE JUMPI POP PUSH1 0x1 PUSH3 0x3C6 JUMP JUMPDEST DUP2 PUSH3 0x3ED JUMPI POP PUSH1 0x0 PUSH3 0x3C6 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH3 0x406 JUMPI PUSH1 0x2 DUP2 EQ PUSH3 0x411 JUMPI PUSH3 0x445 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH3 0x3C6 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH3 0x425 JUMPI PUSH3 0x425 PUSH3 0x509 JUMP JUMPDEST PUSH1 0x1 DUP5 SHL SWAP2 POP DUP5 DUP3 GT ISZERO PUSH3 0x43E JUMPI PUSH3 0x43E PUSH3 0x509 JUMP JUMPDEST POP PUSH3 0x3C6 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH3 0x47D JUMPI POP DUP2 DUP2 EXP DUP4 DUP2 GT ISZERO PUSH3 0x477 JUMPI PUSH3 0x477 PUSH3 0x509 JUMP JUMPDEST PUSH3 0x3C6 JUMP JUMPDEST PUSH3 0x48C DUP5 DUP5 DUP5 PUSH1 0x1 PUSH3 0x368 JUMP JUMPDEST DUP1 DUP7 DIV DUP3 GT ISZERO PUSH3 0x4A1 JUMPI PUSH3 0x4A1 PUSH3 0x509 JUMP JUMPDEST MUL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH3 0x4C7 JUMPI PUSH3 0x4C7 PUSH3 0x509 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x4E1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x503 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x13BF DUP1 PUSH3 0x52F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x198 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0xE3 JUMPI DUP1 PUSH4 0xA217FDDF GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xD5391393 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x31E JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x326 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x339 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2F0 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x2F8 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x30B JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2C2 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0x983B2D56 EQ PUSH2 0x2DD JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x289 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2AF JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x2E0F2625 GT PUSH2 0x145 JUMPI DUP1 PUSH4 0x3092AFD5 GT PUSH2 0x11F JUMPI DUP1 PUSH4 0x3092AFD5 EQ PUSH2 0x24E JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x261 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x276 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x2E0F2625 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0x2FF2E9DC EQ PUSH2 0x246 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0x176 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1EE JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x203 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x216 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1DB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B0 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0xD11 JUMP JUMPDEST PUSH2 0x34C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD51 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CE PUSH2 0x3AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD65 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x1E9 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x43C JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x459 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x211 CALLDATASIZE PUSH1 0x4 PUSH2 0xC73 JUMP JUMPDEST PUSH2 0x45F JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x224 CALLDATASIZE PUSH1 0x4 PUSH2 0xCD7 JUMP JUMPDEST PUSH2 0x501 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x516 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x23F CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x51B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F6 PUSH2 0x559 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x25C CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x576 JUMP JUMPDEST PUSH2 0x269 PUSH2 0x5A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0x11C8 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x284 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x297 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x5EA JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x2AA CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x639 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x2BD CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x68B JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x2D0 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x1CE PUSH2 0x6D1 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2EB CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x6E0 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x70A JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x306 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x70F JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x319 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x78A JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x79E JUMP JUMPDEST PUSH2 0x244 PUSH2 0x334 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x7C2 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x347 CALLDATASIZE PUSH1 0x4 PUSH2 0xC41 JUMP JUMPDEST PUSH2 0x7EA JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x3A2 JUMPI POP PUSH2 0x3A2 DUP3 PUSH2 0x815 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x3B9 SWAP1 PUSH2 0x1338 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3E5 SWAP1 PUSH2 0x1338 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x432 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x407 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x432 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x415 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x449 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH2 0x863 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46C DUP5 DUP5 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 PUSH2 0x48D PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x4D9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xFC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4F4 DUP6 PUSH2 0x4E5 PUSH2 0x85F JUMP JUMPDEST PUSH2 0x4EF DUP7 DUP6 PUSH2 0x1321 JUMP JUMPDEST PUSH2 0x863 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH2 0x52F PUSH2 0x527 DUP4 PUSH2 0x501 JUMP JUMPDEST PUSH2 0x2D0 PUSH2 0x85F JUMP JUMPDEST PUSH2 0x54B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xE15 JUMP JUMPDEST PUSH2 0x555 DUP3 DUP3 PUSH2 0xA3F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x565 PUSH1 0x12 PUSH1 0xA PUSH2 0x1234 JUMP JUMPDEST PUSH2 0x573 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x1302 JUMP JUMPDEST DUP2 JUMP JUMPDEST PUSH2 0x5A0 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP3 PUSH2 0x7C2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x12 SWAP1 JUMP JUMPDEST PUSH2 0x5B0 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x5E0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x1134 JUMP JUMPDEST PUSH2 0x555 DUP3 DUP3 PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x5F7 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x605 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP12 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x4EF SWAP2 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x665 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x681 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xF89 JUMP JUMPDEST PUSH2 0x450 DUP4 DUP4 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x3B9 SWAP1 PUSH2 0x1338 JUMP JUMPDEST PUSH2 0x5A0 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP3 PUSH2 0x51B JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x71E PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP9 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x76A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x10D7 JUMP JUMPDEST PUSH2 0x780 PUSH2 0x775 PUSH2 0x85F JUMP JUMPDEST DUP6 PUSH2 0x4EF DUP7 DUP6 PUSH2 0x1321 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x797 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST PUSH2 0x7CE PUSH2 0x527 DUP4 PUSH2 0x501 JUMP JUMPDEST PUSH2 0x5E0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xF2C 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 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x889 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x107A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xE72 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP5 SWAP1 SSTORE MLOAD PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x90A SWAP1 DUP6 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x93D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x101D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x963 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xDB8 JUMP JUMPDEST PUSH2 0x96E DUP4 DUP4 DUP4 PUSH2 0xC0B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x9A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xECF JUMP JUMPDEST PUSH2 0x9B1 DUP3 DUP3 PUSH2 0x1321 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP6 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x9E7 SWAP1 DUP5 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xA31 SWAP2 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH2 0xA49 DUP3 DUP3 PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x555 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xA82 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xAD0 DUP3 DUP3 PUSH2 0x6A6 JUMP JUMPDEST ISZERO PUSH2 0x555 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0xB07 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB71 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x1191 JUMP JUMPDEST PUSH2 0xB7D PUSH1 0x0 DUP4 DUP4 PUSH2 0xC0B JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB8F SWAP2 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xBBC SWAP1 DUP5 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0xBFF SWAP1 DUP6 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC38 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4FA DUP3 PUSH2 0xC10 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC53 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0xC5C DUP4 PUSH2 0xC10 JUMP JUMPDEST SWAP2 POP PUSH2 0xC6A PUSH1 0x20 DUP5 ADD PUSH2 0xC10 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC87 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0xC90 DUP5 PUSH2 0xC10 JUMP JUMPDEST SWAP3 POP PUSH2 0xC9E PUSH1 0x20 DUP6 ADD PUSH2 0xC10 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xCC0 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0xCC9 DUP4 PUSH2 0xC10 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCE8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD01 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0xC6A PUSH1 0x20 DUP5 ADD PUSH2 0xC10 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD22 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x4FA JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xD91 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xD75 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xDA2 JUMPI DUP4 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x22 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x16 SWAP1 DUP3 ADD MSTORE PUSH32 0x43616C6C6572206973206E6F742061206D696E74657200000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732061 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6C6C6F77616E6365000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x24 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1F SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x11E9 JUMPI PUSH2 0x11E9 PUSH2 0x1373 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 JUMPDEST PUSH1 0x1 DUP1 DUP7 GT PUSH2 0x1200 JUMPI POP PUSH2 0x122B JUMP JUMPDEST DUP2 DUP8 DIV DUP3 GT ISZERO PUSH2 0x1212 JUMPI PUSH2 0x1212 PUSH2 0x1373 JUMP JUMPDEST DUP1 DUP7 AND ISZERO PUSH2 0x121F JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP5 SWAP1 SWAP5 SHR SWAP4 DUP1 MUL PUSH2 0x11F1 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FA PUSH1 0x0 NOT DUP5 DUP5 PUSH1 0x0 DUP3 PUSH2 0x124D JUMPI POP PUSH1 0x1 PUSH2 0x4FA JUMP JUMPDEST DUP2 PUSH2 0x125A JUMPI POP PUSH1 0x0 PUSH2 0x4FA JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1270 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x127A JUMPI PUSH2 0x12A7 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x4FA JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128B PUSH2 0x1373 JUMP JUMPDEST PUSH1 0x1 DUP5 SHL SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x12A1 JUMPI PUSH2 0x12A1 PUSH2 0x1373 JUMP JUMPDEST POP PUSH2 0x4FA JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x12DA JUMPI POP DUP2 DUP2 EXP DUP4 DUP2 GT ISZERO PUSH2 0x12D5 JUMPI PUSH2 0x12D5 PUSH2 0x1373 JUMP JUMPDEST PUSH2 0x4FA JUMP JUMPDEST PUSH2 0x12E7 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x11EE JUMP JUMPDEST DUP1 DUP7 DIV DUP3 GT ISZERO PUSH2 0x12F9 JUMPI PUSH2 0x12F9 PUSH2 0x1373 JUMP JUMPDEST MUL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x131C JUMPI PUSH2 0x131C PUSH2 0x1373 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1333 JUMPI PUSH2 0x1333 PUSH2 0x1373 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x134C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x136D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDE 0x4D EQ SUB PUSH27 0x98F876B7B08BB2B7D3D05B37719E395AF849CA4EECE8BFC1E70FC0 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "379:906:25:-:0;;;759:104;;;;;;;;;;1842:114:1;;;;;;;;;;;;;-1:-1:-1;;;1842:114:1;;;;;;;;;;;;;;;;-1:-1:-1;;;1842:114:1;;;1917:5;1909;:13;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1932:17:1;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;216:42:7;;-1:-1:-1;2408:4:0;;-1:-1:-1;247:10:7;216;:42::i;:::-;814:33:25::1;820:10;570:23;458:2;570;:23;:::i;:::-;556:38;::::0;:10:::1;:38;:::i;:::-;814:5;:33::i;:::-;379:906:::0;;6519:110:0;6597:25;6608:4;6614:7;6597:10;:25::i;:::-;6519:110;;:::o;7940:330:1:-;-1:-1:-1;;;;;8023:21:1;;8015:65;;;;-1:-1:-1;;;8015:65:1;;;;;;;:::i;:::-;;;;;;;;;8091:49;8120:1;8124:7;8133:6;8091:20;:49::i;:::-;8167:6;8151:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8183:18:1;;:9;:18;;;;;;;;;;:28;;8205:6;;8183:9;:28;;8205:6;;8183:28;:::i;:::-;;;;-1:-1:-1;;8226:37:1;;-1:-1:-1;;;;;8226:37:1;;;8243:1;;8226:37;;;;8256:6;;8226:37;:::i;:::-;;;;;;;;7940:330;;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;10423:92:1:-;;;;:::o;3867:137:0:-;3945:4;3968:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;586:96:3:-;665:10;586:96;:::o;379:906:25:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:906:25;;;-1:-1:-1;379:906:25;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:355:29;216:2;198:21;;;255:2;235:18;;;228:30;294:33;289:2;274:18;;267:61;360:2;345:18;;188:181::o;374:177::-;520:25;;;508:2;493:18;;475:76::o;556:128::-;;627:1;623:6;620:1;617:13;614:2;;;633:18;;:::i;:::-;-1:-1:-1;669:9:29;;604:80::o;689:453::-;785:6;808:5;822:314;871:1;908:2;898:8;895:16;885:2;;915:5;;;885:2;956:4;951:3;947:14;941:4;938:24;935:2;;;965:18;;:::i;:::-;1015:2;1005:8;1001:17;998:2;;;1030:16;;;;998:2;1109:17;;;;;1069:15;;822:314;;;766:376;;;;;;;:::o;1147:139::-;;1236:44;-1:-1:-1;;1263:8:29;1257:4;1236:44;:::i;:::-;1227:53;1217:69;-1:-1:-1;;;1217:69:29:o;1291:922::-;;1375:8;1365:2;;-1:-1:-1;1416:1:29;1430:5;;1365:2;1464:4;1454:2;;-1:-1:-1;1501:1:29;1515:5;;1454:2;1546:4;1564:1;1559:59;;;;1632:1;1627:183;;;;1539:271;;1559:59;1589:1;1580:10;;1603:5;;;1627:183;1664:3;1654:8;1651:17;1648:2;;;1671:18;;:::i;:::-;1727:1;1717:8;1713:16;1704:25;;1755:3;1748:5;1745:14;1742:2;;;1762:18;;:::i;:::-;1795:5;;;1539:271;;1894:2;1884:8;1881:16;1875:3;1869:4;1866:13;1862:36;1856:2;1846:8;1843:16;1838:2;1832:4;1829:12;1825:35;1822:77;1819:2;;;-1:-1:-1;1931:19:29;;;1966:14;;;1963:2;;;1983:18;;:::i;:::-;2016:5;;1819:2;2063:42;2101:3;2091:8;2085:4;2082:1;2063:42;:::i;:::-;2138:6;2133:3;2129:16;2120:7;2117:29;2114:2;;;2149:18;;:::i;:::-;2187:20;;1355:858;-1:-1:-1;;;;1355:858:29:o;2218:168::-;;2324:1;2320;2316:6;2312:14;2309:1;2306:21;2301:1;2294:9;2287:17;2283:45;2280:2;;;2331:18;;:::i;:::-;-1:-1:-1;2371:9:29;;2270:116::o;2391:380::-;2476:1;2466:12;;2523:1;2513:12;;;2534:2;;2588:4;2580:6;2576:17;2566:27;;2534:2;2641;2633:6;2630:14;2610:18;2607:38;2604:2;;;2687:10;2682:3;2678:20;2675:1;2668:31;2722:4;2719:1;2712:15;2750:4;2747:1;2740:15;2604:2;;2446:325;;;:::o;2776:127::-;2837:10;2832:3;2828:20;2825:1;2818:31;2868:4;2865:1;2858:15;2892:4;2889:1;2882:15;2808:95;379:906:25;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:10886:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "65:147:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "75:29:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "97:6:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "84:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "84:20:29" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "75:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "190:16:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "199:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "202:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "192:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "192:12:29" - }, - "nodeType": "YulExpressionStatement", - "src": "192:12:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "126:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "137:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "144:42:29", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "133:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "133:54:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "123:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "123:65:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "116:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "116:73:29" - }, - "nodeType": "YulIf", - "src": "113:2:29" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "44:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "55:5:29", - "type": "" - } - ], - "src": "14:198:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "287:128:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "333:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "342:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "350:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "335:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "335:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "335:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "308:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "317:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "304:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "304:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "329:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "300:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "300:32:29" - }, - "nodeType": "YulIf", - "src": "297:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "368:41:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "399:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "378:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "378:31:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "368:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "253:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "264:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "276:6:29", - "type": "" - } - ], - "src": "217:198:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "507:187:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "553:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "562:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "570:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "555:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "555:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "555:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "528:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "537:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "524:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "524:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "549:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "520:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "520:32:29" - }, - "nodeType": "YulIf", - "src": "517:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "588:41:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "619:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "598:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "598:31:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "588:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "638:50:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "673:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "684:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "669:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "669:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "648:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "648:40:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "638:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "465:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "476:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "488:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "496:6:29", - "type": "" - } - ], - "src": "420:274:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "803:238:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "849:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "858:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "866:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "851:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "851:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "851:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "824:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "833:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "820:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "820:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "845:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "816:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "816:32:29" - }, - "nodeType": "YulIf", - "src": "813:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "884:41:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "915:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "894:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "894:31:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "884:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "934:50:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "969:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "980:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "965:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "965:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "944:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "944:40:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "934:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "993:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1020:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1031:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1016:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1016:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1003:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1003:32:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "993:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "753:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "764:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "776:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "784:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "792:6:29", - "type": "" - } - ], - "src": "699:342:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1133:179:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1179:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1188:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1196:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1181:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1181:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1181:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1154:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1163:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1150:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1150:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1175:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1146:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1146:32:29" - }, - "nodeType": "YulIf", - "src": "1143:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1214:41:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1245:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1224:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "1224:31:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1214:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1264:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1291:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1302:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1287:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1287:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1274:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1274:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1264:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1091:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1102:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1114:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1122:6:29", - "type": "" - } - ], - "src": "1046:266:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1387:120:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1433:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1442:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1450:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1435:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1435:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1435:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1408:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1417:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1404:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1404:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1429:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1400:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1400:32:29" - }, - "nodeType": "YulIf", - "src": "1397:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1468:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1491:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1478:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1478:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1468:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1353:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1364:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1376:6:29", - "type": "" - } - ], - "src": "1317:190:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1599:179:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1645:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1654:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1662:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1647:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1647:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1647:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1620:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1629:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1616:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1616:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1641:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1612:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1612:32:29" - }, - "nodeType": "YulIf", - "src": "1609:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1680:33:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1703:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1690:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1690:23:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1680:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1722:50:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1757:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1768:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1753:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1753:18:29" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "1732:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "1732:40:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1722:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1557:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1568:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1580:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1588:6:29", - "type": "" - } - ], - "src": "1512:266:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1852:283:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1898:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1907:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1915:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1900:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1900:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1900:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1873:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1882:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1869:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1869:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1894:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1865:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1865:32:29" - }, - "nodeType": "YulIf", - "src": "1862:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1933:36:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1959:9:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1946:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1946:23:29" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1937:5:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2079:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2088:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2096:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2081:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2081:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2081:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1991:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2002:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2009:66:29", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1998:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1998:78:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1988:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1988:89:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1981:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1981:97:29" - }, - "nodeType": "YulIf", - "src": "1978:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2114:15:29", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2124:5:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2114:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1818:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1829:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1841:6:29", - "type": "" - } - ], - "src": "1783:352:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2235:92:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2245:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2257:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2268:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2253:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2253:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2245:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2287:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2312:6:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2305:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2305:14:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2298:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2298:22:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2280:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2280:41:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2280:41:29" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2204:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2215:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2226:4:29", - "type": "" - } - ], - "src": "2140:187:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2433:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2443:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2455:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2466:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2451:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2451:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2443:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2485:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2496:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2478:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2478:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2478:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2402:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2413:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2424:4:29", - "type": "" - } - ], - "src": "2332:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2635:482:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2645:12:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2655:2:29", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "2649:2:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2673:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2684:2:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2666:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2666:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2666:21:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2696:27:29", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2716:6:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2710:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "2710:13:29" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2700:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2743:9:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2754:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2739:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2739:18:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2759:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2732:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2732:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2732:34:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2775:13:29", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2784:4:29" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "2779:1:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2847:90:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2876:9:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2887:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2872:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2872:17:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2891:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2868:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2868:26:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2910:6:29" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2918:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2906:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2906:14:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2922:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2902:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2902:23:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2896:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "2896:30:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2861:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2861:66:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2861:66:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2808:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2811:6:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2805:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2805:13:29" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "2819:19:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2821:15:29", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2830:1:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2833:2:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2826:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2826:10:29" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2821:1:29" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "2801:3:29", - "statements": [] - }, - "src": "2797:140:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2971:69:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3000:9:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3011:6:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2996:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2996:22:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3020:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2992:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2992:31:29" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3025:4:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2985:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2985:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2985:45:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2952:1:29" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2955:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2949:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2949:13:29" - }, - "nodeType": "YulIf", - "src": "2946:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "3049:62:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3065:9:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3084:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3092:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3080:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3080:15:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3101:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3097:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3097:7:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3076:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3076:29:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3061:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3061:45:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3108:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3057:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3057:54:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3049:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2604:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2615:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2626:4:29", - "type": "" - } - ], - "src": "2514:603:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3296:225:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3313:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3324:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3306:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3306:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3306:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3347:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3358:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3343:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3343:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3363:2:29", - "type": "", - "value": "35" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3336:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3336:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3336:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3386:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3397:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3382:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3382:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3402:34:29", - "type": "", - "value": "ERC20: transfer to the zero addr" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3375:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3375:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3375:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3457:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3468:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3453:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3453:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3473:5:29", - "type": "", - "value": "ess" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3446:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3446:33:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3446:33:29" - }, - { - "nodeType": "YulAssignment", - "src": "3488:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3500:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3511:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3496:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3496:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3488:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3273:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3287:4:29", - "type": "" - } - ], - "src": "3122:399:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3700:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3717:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3728:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3710:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3710:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3710:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3751:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3762:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3747:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3747:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3767:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3740:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3740:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3740:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3790:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3801:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3786:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3786:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3806:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3779:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3779:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3779:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3861:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3872:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3857:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3857:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3877:17:29", - "type": "", - "value": " admin to grant" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3850:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "3850:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "3850:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "3904:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3916:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3927:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3912:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "3912:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3904:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3677:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3691:4:29", - "type": "" - } - ], - "src": "3526:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4116:224:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4133:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4144:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4126:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4126:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4126:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4167:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4178:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4163:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4163:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4183:2:29", - "type": "", - "value": "34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4156:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4156:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4156:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4206:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4217:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4202:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4202:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4222:34:29", - "type": "", - "value": "ERC20: approve to the zero addre" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4195:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4195:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4195:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4277:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4288:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4273:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4273:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4293:4:29", - "type": "", - "value": "ss" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4266:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4266:32:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4266:32:29" - }, - { - "nodeType": "YulAssignment", - "src": "4307:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4319:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4330:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4315:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4315:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4307:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4093:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4107:4:29", - "type": "" - } - ], - "src": "3942:398:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4519:228:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4536:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4547:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4529:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4529:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4529:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4570:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4581:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4566:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4566:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4586:2:29", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4559:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4559:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4559:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4609:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4620:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4605:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4605:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4625:34:29", - "type": "", - "value": "ERC20: transfer amount exceeds b" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4598:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4598:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4598:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4680:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4691:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4676:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4676:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4696:8:29", - "type": "", - "value": "alance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4669:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4669:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4669:36:29" - }, - { - "nodeType": "YulAssignment", - "src": "4714:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4726:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4737:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4722:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4722:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4714:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4496:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4510:4:29", - "type": "" - } - ], - "src": "4345:402:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4926:238:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4943:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4954:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4936:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4936:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4936:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4977:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4988:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4973:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "4973:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4993:2:29", - "type": "", - "value": "48" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4966:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "4966:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "4966:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5016:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5027:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5012:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5012:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5032:34:29", - "type": "", - "value": "AccessControl: sender must be an" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5005:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5005:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5005:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5087:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5098:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5083:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5083:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5103:18:29", - "type": "", - "value": " admin to revoke" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5076:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5076:46:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5076:46:29" - }, - { - "nodeType": "YulAssignment", - "src": "5131:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5143:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5154:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5139:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5139:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5131:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4903:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4917:4:29", - "type": "" - } - ], - "src": "4752:412:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5343:172:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5360:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5371:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5353:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5353:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5353:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5394:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5405:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5390:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5390:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5410:2:29", - "type": "", - "value": "22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5383:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5383:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5383:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5433:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5444:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5429:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5429:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5449:24:29", - "type": "", - "value": "Caller is not a minter" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5422:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5422:52:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5422:52:29" - }, - { - "nodeType": "YulAssignment", - "src": "5483:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5495:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5506:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5491:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5491:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5483:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5320:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5334:4:29", - "type": "" - } - ], - "src": "5169:346:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5694:230:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5711:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5722:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5704:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5704:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5704:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5745:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5756:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5741:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5741:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5761:2:29", - "type": "", - "value": "40" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5734:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5734:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5734:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5784:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5795:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5780:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5780:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5800:34:29", - "type": "", - "value": "ERC20: transfer amount exceeds a" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5773:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5773:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5773:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5855:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5866:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5851:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5851:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5871:10:29", - "type": "", - "value": "llowance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5844:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "5844:38:29" - }, - "nodeType": "YulExpressionStatement", - "src": "5844:38:29" - }, - { - "nodeType": "YulAssignment", - "src": "5891:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5903:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5914:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5899:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "5899:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5891:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5671:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5685:4:29", - "type": "" - } - ], - "src": "5520:404:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6103:227:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6120:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6131:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6113:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6113:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6113:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6154:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6165:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6150:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6150:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6170:2:29", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6143:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6143:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6143:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6193:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6204:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6189:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6189:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "6209:34:29", - "type": "", - "value": "ERC20: transfer from the zero ad" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6182:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6182:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6182:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6264:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6275:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6260:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6260:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "6280:7:29", - "type": "", - "value": "dress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6253:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6253:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6253:35:29" - }, - { - "nodeType": "YulAssignment", - "src": "6297:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6309:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6320:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6305:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6305:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6297:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6080:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6094:4:29", - "type": "" - } - ], - "src": "5929:401:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6509:226:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6526:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6537:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6519:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6519:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6519:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6560:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6571:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6556:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6556:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6576:2:29", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6549:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6549:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6549:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6599:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6610:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6595:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6595:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "6615:34:29", - "type": "", - "value": "ERC20: approve from the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6588:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6588:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6588:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6670:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6681:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6666:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6666:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "6686:6:29", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6659:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6659:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6659:34:29" - }, - { - "nodeType": "YulAssignment", - "src": "6702:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6714:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6725:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6710:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6710:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6702:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6486:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6500:4:29", - "type": "" - } - ], - "src": "6335:400:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6914:227:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6931:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6942:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6924:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6924:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6924:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6965:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6976:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6961:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "6961:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6981:2:29", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6954:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6954:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6954:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7004:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7015:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7000:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7000:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7020:34:29", - "type": "", - "value": "ERC20: decreased allowance below" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6993:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "6993:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "6993:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7075:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7086:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7071:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7071:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7091:7:29", - "type": "", - "value": " zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7064:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7064:35:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7064:35:29" - }, - { - "nodeType": "YulAssignment", - "src": "7108:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7120:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7131:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7116:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7116:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7108:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6891:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6905:4:29", - "type": "" - } - ], - "src": "6740:401:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7320:237:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7337:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7348:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7330:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7330:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7330:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7371:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7382:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7367:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7367:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7387:2:29", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7360:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7360:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7360:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7410:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7421:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7406:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7406:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7426:34:29", - "type": "", - "value": "AccessControl: can only renounce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7399:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7399:62:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7399:62:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7481:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7492:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7477:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7477:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7497:17:29", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7470:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7470:45:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7470:45:29" - }, - { - "nodeType": "YulAssignment", - "src": "7524:27:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7536:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7547:3:29", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7532:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7532:19:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7524:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7297:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7311:4:29", - "type": "" - } - ], - "src": "7146:411:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7736:181:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7753:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7764:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7746:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7746:21:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7746:21:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7787:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7798:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7783:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7783:18:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7803:2:29", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7776:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7776:30:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7776:30:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7826:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7837:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7822:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7822:18:29" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "7842:33:29", - "type": "", - "value": "ERC20: mint to the zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7815:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "7815:61:29" - }, - "nodeType": "YulExpressionStatement", - "src": "7815:61:29" - }, - { - "nodeType": "YulAssignment", - "src": "7885:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7897:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7908:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7893:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "7893:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7885:4:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7713:9:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7727:4:29", - "type": "" - } - ], - "src": "7562:355:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8023:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8033:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8045:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8056:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8041:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8041:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8033:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8075:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8086:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8068:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8068:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8068:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7992:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8003:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8014:4:29", - "type": "" - } - ], - "src": "7922:177:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8201:87:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8211:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8223:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8234:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8219:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8219:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8211:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8253:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8268:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8276:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8264:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8264:17:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8246:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8246:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8246:36:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8170:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8181:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8192:4:29", - "type": "" - } - ], - "src": "8104:184:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8341:80:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8368:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "8370:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "8370:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8370:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "8357:1:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "8364:1:29" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "8360:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8360:6:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8354:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "8354:13:29" - }, - "nodeType": "YulIf", - "src": "8351:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "8399:16:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "8410:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "8413:1:29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8406:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8406:9:29" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "8399:3:29" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "8324:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "8327:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "8333:3:29", - "type": "" - } - ], - "src": "8293:128:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8503:376:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8513:15:29", - "value": { - "name": "_power", - "nodeType": "YulIdentifier", - "src": "8522:6:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "8513:5:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8537:13:29", - "value": { - "name": "_base", - "nodeType": "YulIdentifier", - "src": "8545:5:29" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8537:4:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8584:289:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8598:11:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8608:1:29", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "8602:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8650:9:29", - "statements": [ - { - "nodeType": "YulBreak", - "src": "8652:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "8635:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8645:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8632:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "8632:16:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8625:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "8625:24:29" - }, - "nodeType": "YulIf", - "src": "8622:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8700:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "8702:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "8702:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "8702:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8678:4:29" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "8688:3:29" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8693:4:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "8684:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8684:14:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8675:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "8675:24:29" - }, - "nodeType": "YulIf", - "src": "8672:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8756:29:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8758:25:29", - "value": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "8771:5:29" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8778:4:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "8767:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8767:16:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "8758:5:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "8742:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8752:2:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8738:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8738:17:29" - }, - "nodeType": "YulIf", - "src": "8735:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "8798:23:29", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8810:4:29" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8816:4:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "8806:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8806:15:29" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8798:4:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8834:29:29", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8850:2:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "8854:8:29" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "8846:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "8846:17:29" - }, - "variableNames": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "8834:8:29" - } - ] - } - ] - }, - "condition": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "8567:4:29", - "type": "", - "value": "true" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "8572:3:29", - "statements": [] - }, - "pre": { - "nodeType": "YulBlock", - "src": "8563:3:29", - "statements": [] - }, - "src": "8559:314:29" - } - ] - }, - "name": "checked_exp_helper", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "_power", - "nodeType": "YulTypedName", - "src": "8454:6:29", - "type": "" - }, - { - "name": "_base", - "nodeType": "YulTypedName", - "src": "8462:5:29", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "8469:8:29", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "8479:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "8487:5:29", - "type": "" - }, - { - "name": "base", - "nodeType": "YulTypedName", - "src": "8494:4:29", - "type": "" - } - ], - "src": "8426:453:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8954:69:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8964:53:29", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "8994:4:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9000:8:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9014:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "9010:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9010:6:29" - } - ], - "functionName": { - "name": "checked_exp_unsigned", - "nodeType": "YulIdentifier", - "src": "8973:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "8973:44:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "8964:5:29" - } - ] - } - ] - }, - "name": "checked_exp_t_uint256_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "8925:4:29", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "8931:8:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "8944:5:29", - "type": "" - } - ], - "src": "8884:139:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9092:858:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9130:52:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9144:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9153:1:29", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9144:5:29" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "9167:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9112:8:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9105:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9105:16:29" - }, - "nodeType": "YulIf", - "src": "9102:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9215:52:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9229:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9238:1:29", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9229:5:29" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "9252:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9201:4:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9194:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "9194:12:29" - }, - "nodeType": "YulIf", - "src": "9191:2:29" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9303:52:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9317:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9326:1:29", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9317:5:29" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "9340:5:29" - } - ] - }, - "nodeType": "YulCase", - "src": "9296:59:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9301:1:29", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9371:176:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9406:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9408:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "9408:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9408:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9391:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9401:3:29", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9388:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "9388:17:29" - }, - "nodeType": "YulIf", - "src": "9385:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "9441:25:29", - "value": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9454:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9464:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "9450:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9450:16:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9441:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9497:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9499:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "9499:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9499:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9485:5:29" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "9492:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9482:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "9482:14:29" - }, - "nodeType": "YulIf", - "src": "9479:2:29" - }, - { - "nodeType": "YulLeave", - "src": "9532:5:29" - } - ] - }, - "nodeType": "YulCase", - "src": "9364:183:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9369:1:29", - "type": "", - "value": "2" - } - } - ], - "expression": { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9283:4:29" - }, - "nodeType": "YulSwitch", - "src": "9276:271:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9645:123:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9659:28:29", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9672:4:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9678:8:29" - } - ], - "functionName": { - "name": "exp", - "nodeType": "YulIdentifier", - "src": "9668:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9668:19:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9659:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9718:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9720:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "9720:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9720:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9706:5:29" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "9713:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9703:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "9703:14:29" - }, - "nodeType": "YulIf", - "src": "9700:2:29" - }, - { - "nodeType": "YulLeave", - "src": "9753:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9569:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9575:2:29", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9566:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "9566:12:29" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9583:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9593:2:29", - "type": "", - "value": "78" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9580:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "9580:16:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9562:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9562:35:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9606:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9612:3:29", - "type": "", - "value": "307" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9603:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "9603:13:29" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9621:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9631:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9618:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "9618:16:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9599:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9599:36:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "9559:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "9559:77:29" - }, - "nodeType": "YulIf", - "src": "9556:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9777:65:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9819:1:29", - "type": "", - "value": "1" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "9822:4:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "9828:8:29" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "9838:3:29" - } - ], - "functionName": { - "name": "checked_exp_helper", - "nodeType": "YulIdentifier", - "src": "9800:18:29" - }, - "nodeType": "YulFunctionCall", - "src": "9800:42:29" - }, - "variables": [ - { - "name": "power_1", - "nodeType": "YulTypedName", - "src": "9781:7:29", - "type": "" - }, - { - "name": "base_1", - "nodeType": "YulTypedName", - "src": "9790:6:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9884:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9886:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "9886:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "9886:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "9857:7:29" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "9870:3:29" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "9875:6:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "9866:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9866:16:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9854:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "9854:29:29" - }, - "nodeType": "YulIf", - "src": "9851:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "9915:29:29", - "value": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "9928:7:29" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "9937:6:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "9924:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "9924:20:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "9915:5:29" - } - ] - } - ] - }, - "name": "checked_exp_unsigned", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "9058:4:29", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "9064:8:29", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "9074:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "9082:5:29", - "type": "" - } - ], - "src": "9028:922:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10007:116:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10066:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "10068:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "10068:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10068:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10038:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10031:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10031:9:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10024:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10024:17:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10046:1:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10057:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "10053:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10053:6:29" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10061:1:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "10049:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10049:14:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10043:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "10043:21:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10020:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10020:45:29" - }, - "nodeType": "YulIf", - "src": "10017:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "10097:20:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10112:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10115:1:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "10108:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10108:9:29" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "10097:7:29" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "9986:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "9989:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "9995:7:29", - "type": "" - } - ], - "src": "9955:168:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10177:76:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10199:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "10201:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "10201:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10201:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10193:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10196:1:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "10190:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "10190:8:29" - }, - "nodeType": "YulIf", - "src": "10187:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "10230:17:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10242:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10245:1:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10238:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10238:9:29" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "10230:4:29" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "10159:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "10162:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "10168:4:29", - "type": "" - } - ], - "src": "10128:125:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10313:382:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10323:22:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "10337:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10343:1:29", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "10333:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10333:12:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10323:6:29" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10354:38:29", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "10384:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10390:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10380:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10380:12:29" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "10358:18:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10431:31:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10433:27:29", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10447:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10455:4:29", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10443:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "10443:17:29" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10433:6:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "10411:18:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10404:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10404:26:29" - }, - "nodeType": "YulIf", - "src": "10401:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10521:168:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10542:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10545:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10535:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10535:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10535:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10643:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10646:4:29", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10636:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10636:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10636:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10671:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10674:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10664:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10664:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10664:15:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "10477:18:29" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10500:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10508:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "10497:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "10497:14:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "10474:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "10474:38:29" - }, - "nodeType": "YulIf", - "src": "10471:2:29" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "10293:4:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10302:6:29", - "type": "" - } - ], - "src": "10258:437:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10732:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10749:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10752:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10742:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10742:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10742:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10846:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10849:4:29", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10839:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10839:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10839:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10870:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10873:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10863:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "10863:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "10863:15:29" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "10700:184:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := abi_decode_t_address(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := abi_decode_t_address(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := abi_decode_t_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_t_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(value0, value0) }\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := tail\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 64), tail)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"Caller is not a minter\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds a\")\n mstore(add(headStart, 96), \"llowance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_exp_helper(_power, _base, exponent, max) -> power, base\n {\n power := _power\n base := _base\n for { } true { }\n {\n let _1 := 1\n if iszero(gt(exponent, _1)) { break }\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, _1) { power := mul(power, base) }\n base := mul(base, base)\n exponent := shr(_1, exponent)\n }\n }\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power\n {\n power := checked_exp_unsigned(base, exponent, not(0))\n }\n function checked_exp_unsigned(base, exponent, max) -> power\n {\n if iszero(exponent)\n {\n power := 1\n leave\n }\n if iszero(base)\n {\n power := 0\n leave\n }\n switch base\n case 1 {\n power := 1\n leave\n }\n case 2 {\n if gt(exponent, 255) { panic_error_0x11() }\n power := shl(exponent, 1)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n let power_1, base_1 := checked_exp_helper(1, base, exponent, max)\n if gt(power_1, div(max, base_1)) { panic_error_0x11() }\n power := mul(power_1, base_1)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function extract_byte_array_length(data) -> length\n {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106101985760003560e01c806339509351116100e3578063a217fddf1161008c578063d539139311610066578063d53913931461031e578063d547741f14610326578063dd62ed3e1461033957610198565b8063a217fddf146102f0578063a457c2d7146102f8578063a9059cbb1461030b57610198565b806391d14854116100bd57806391d14854146102c257806395d89b41146102d5578063983b2d56146102dd57610198565b8063395093511461028957806340c10f191461029c57806370a08231146102af57610198565b80632e0f2625116101455780633092afd51161011f5780633092afd51461024e578063313ce5671461026157806336568abe1461027657610198565b80632e0f2625146102295780632f2ff15d146102315780632ff2e9dc1461024657610198565b806318160ddd1161017657806318160ddd146101ee57806323b872dd14610203578063248a9ca31461021657610198565b806301ffc9a71461019d57806306fdde03146101c6578063095ea7b3146101db575b600080fd5b6101b06101ab366004610d11565b61034c565b6040516101bd9190610d51565b60405180910390f35b6101ce6103aa565b6040516101bd9190610d65565b6101b06101e9366004610cae565b61043c565b6101f6610459565b6040516101bd9190610d5c565b6101b0610211366004610c73565b61045f565b6101f6610224366004610cd7565b610501565b6101f6610516565b61024461023f366004610cef565b61051b565b005b6101f6610559565b61024461025c366004610c27565b610576565b6102696105a3565b6040516101bd91906111c8565b610244610284366004610cef565b6105a8565b6101b0610297366004610cae565b6105ea565b6101b06102aa366004610cae565b610639565b6101f66102bd366004610c27565b61068b565b6101b06102d0366004610cef565b6106a6565b6101ce6106d1565b6102446102eb366004610c27565b6106e0565b6101f661070a565b6101b0610306366004610cae565b61070f565b6101b0610319366004610cae565b61078a565b6101f661079e565b610244610334366004610cef565b6107c2565b6101f6610347366004610c41565b6107ea565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103a257506103a282610815565b90505b919050565b6060600380546103b990611338565b80601f01602080910402602001604051908101604052809291908181526020018280546103e590611338565b80156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b5050505050905090565b600061045061044961085f565b8484610863565b50600192915050565b60025490565b600061046c848484610917565b6001600160a01b03841660009081526001602052604081208161048d61085f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104d95760405162461bcd60e51b81526004016104d090610fc0565b60405180910390fd5b6104f4856104e561085f565b6104ef8685611321565b610863565b60019150505b9392505050565b60009081526005602052604090206001015490565b601281565b61052f61052783610501565b6102d061085f565b61054b5760405162461bcd60e51b81526004016104d090610e15565b6105558282610a3f565b5050565b6105656012600a611234565b61057390633b9aca00611302565b81565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826107c2565b50565b601290565b6105b061085f565b6001600160a01b0316816001600160a01b0316146105e05760405162461bcd60e51b81526004016104d090611134565b6105558282610ac6565b60006104506105f761085f565b84846001600061060561085f565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546104ef91906111d6565b60006106657f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336106a6565b6106815760405162461bcd60e51b81526004016104d090610f89565b6104508383610b4b565b6001600160a01b031660009081526020819052604090205490565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546103b990611338565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261051b565b600081565b6000806001600061071e61085f565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561076a5760405162461bcd60e51b81526004016104d0906110d7565b61078061077561085f565b856104ef8685611321565b5060019392505050565b600061045061079761085f565b8484610917565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6107ce61052783610501565b6105e05760405162461bcd60e51b81526004016104d090610f2c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6001600160a01b0383166108895760405162461bcd60e51b81526004016104d09061107a565b6001600160a01b0382166108af5760405162461bcd60e51b81526004016104d090610e72565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061090a908590610d5c565b60405180910390a3505050565b6001600160a01b03831661093d5760405162461bcd60e51b81526004016104d09061101d565b6001600160a01b0382166109635760405162461bcd60e51b81526004016104d090610db8565b61096e838383610c0b565b6001600160a01b038316600090815260208190526040902054818110156109a75760405162461bcd60e51b81526004016104d090610ecf565b6109b18282611321565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906109e79084906111d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a319190610d5c565b60405180910390a350505050565b610a4982826106a6565b6105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a8261085f565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610ad082826106a6565b156105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19169055610b0761085f565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6001600160a01b038216610b715760405162461bcd60e51b81526004016104d090611191565b610b7d60008383610c0b565b8060026000828254610b8f91906111d6565b90915550506001600160a01b03821660009081526020819052604081208054839290610bbc9084906111d6565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bff908590610d5c565b60405180910390a35050565b505050565b80356001600160a01b03811681146103a557600080fd5b600060208284031215610c38578081fd5b6104fa82610c10565b60008060408385031215610c53578081fd5b610c5c83610c10565b9150610c6a60208401610c10565b90509250929050565b600080600060608486031215610c87578081fd5b610c9084610c10565b9250610c9e60208501610c10565b9150604084013590509250925092565b60008060408385031215610cc0578182fd5b610cc983610c10565b946020939093013593505050565b600060208284031215610ce8578081fd5b5035919050565b60008060408385031215610d01578182fd5b82359150610c6a60208401610c10565b600060208284031215610d22578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104fa578182fd5b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015610d9157858101830151858201604001528201610d75565b81811115610da25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526016908201527f43616c6c6572206973206e6f742061206d696e74657200000000000000000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60ff91909116815260200190565b600082198211156111e9576111e9611373565b500190565b80825b6001808611611200575061122b565b81870482111561121257611212611373565b8086161561121f57918102915b9490941c9380026111f1565b94509492505050565b60006104fa600019848460008261124d575060016104fa565b8161125a575060006104fa565b8160018114611270576002811461127a576112a7565b60019150506104fa565b60ff84111561128b5761128b611373565b6001841b9150848211156112a1576112a1611373565b506104fa565b5060208310610133831016604e8410600b84101617156112da575081810a838111156112d5576112d5611373565b6104fa565b6112e784848460016111ee565b8086048211156112f9576112f9611373565b02949350505050565b600081600019048311821515161561131c5761131c611373565b500290565b60008282101561133357611333611373565b500390565b60028104600182168061134c57607f821691505b6020821081141561136d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220de4d14037a98f876b7b08bb2b7d3d05b37719e395af849ca4eece8bfc1e70fc064736f6c63430008000033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x198 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0xE3 JUMPI DUP1 PUSH4 0xA217FDDF GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xD5391393 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x31E JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x326 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x339 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2F0 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x2F8 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x30B JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2C2 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0x983B2D56 EQ PUSH2 0x2DD JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x289 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2AF JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x2E0F2625 GT PUSH2 0x145 JUMPI DUP1 PUSH4 0x3092AFD5 GT PUSH2 0x11F JUMPI DUP1 PUSH4 0x3092AFD5 EQ PUSH2 0x24E JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x261 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x276 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x2E0F2625 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x231 JUMPI DUP1 PUSH4 0x2FF2E9DC EQ PUSH2 0x246 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0x176 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1EE JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x203 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x216 JUMPI PUSH2 0x198 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1DB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B0 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0xD11 JUMP JUMPDEST PUSH2 0x34C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD51 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CE PUSH2 0x3AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD65 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x1E9 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x43C JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x459 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x211 CALLDATASIZE PUSH1 0x4 PUSH2 0xC73 JUMP JUMPDEST PUSH2 0x45F JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x224 CALLDATASIZE PUSH1 0x4 PUSH2 0xCD7 JUMP JUMPDEST PUSH2 0x501 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x516 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x23F CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x51B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F6 PUSH2 0x559 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x25C CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x576 JUMP JUMPDEST PUSH2 0x269 PUSH2 0x5A3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0x11C8 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x284 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x297 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x5EA JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x2AA CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x639 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x2BD CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x68B JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x2D0 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x1CE PUSH2 0x6D1 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2EB CALLDATASIZE PUSH1 0x4 PUSH2 0xC27 JUMP JUMPDEST PUSH2 0x6E0 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x70A JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x306 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x70F JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x319 CALLDATASIZE PUSH1 0x4 PUSH2 0xCAE JUMP JUMPDEST PUSH2 0x78A JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x79E JUMP JUMPDEST PUSH2 0x244 PUSH2 0x334 CALLDATASIZE PUSH1 0x4 PUSH2 0xCEF JUMP JUMPDEST PUSH2 0x7C2 JUMP JUMPDEST PUSH2 0x1F6 PUSH2 0x347 CALLDATASIZE PUSH1 0x4 PUSH2 0xC41 JUMP JUMPDEST PUSH2 0x7EA JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 EQ DUP1 PUSH2 0x3A2 JUMPI POP PUSH2 0x3A2 DUP3 PUSH2 0x815 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x3B9 SWAP1 PUSH2 0x1338 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3E5 SWAP1 PUSH2 0x1338 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x432 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x407 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x432 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x415 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x449 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH2 0x863 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46C DUP5 DUP5 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP2 PUSH2 0x48D PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x4D9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xFC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4F4 DUP6 PUSH2 0x4E5 PUSH2 0x85F JUMP JUMPDEST PUSH2 0x4EF DUP7 DUP6 PUSH2 0x1321 JUMP JUMPDEST PUSH2 0x863 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH2 0x52F PUSH2 0x527 DUP4 PUSH2 0x501 JUMP JUMPDEST PUSH2 0x2D0 PUSH2 0x85F JUMP JUMPDEST PUSH2 0x54B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xE15 JUMP JUMPDEST PUSH2 0x555 DUP3 DUP3 PUSH2 0xA3F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x565 PUSH1 0x12 PUSH1 0xA PUSH2 0x1234 JUMP JUMPDEST PUSH2 0x573 SWAP1 PUSH4 0x3B9ACA00 PUSH2 0x1302 JUMP JUMPDEST DUP2 JUMP JUMPDEST PUSH2 0x5A0 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP3 PUSH2 0x7C2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x12 SWAP1 JUMP JUMPDEST PUSH2 0x5B0 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x5E0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x1134 JUMP JUMPDEST PUSH2 0x555 DUP3 DUP3 PUSH2 0xAC6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x5F7 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1 PUSH1 0x0 PUSH2 0x605 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP12 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x4EF SWAP2 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x665 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 CALLER PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x681 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xF89 JUMP JUMPDEST PUSH2 0x450 DUP4 DUP4 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x3B9 SWAP1 PUSH2 0x1338 JUMP JUMPDEST PUSH2 0x5A0 PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP3 PUSH2 0x51B JUMP JUMPDEST PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x71E PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP9 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 POP DUP3 DUP2 LT ISZERO PUSH2 0x76A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x10D7 JUMP JUMPDEST PUSH2 0x780 PUSH2 0x775 PUSH2 0x85F JUMP JUMPDEST DUP6 PUSH2 0x4EF DUP7 DUP6 PUSH2 0x1321 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 PUSH2 0x797 PUSH2 0x85F JUMP JUMPDEST DUP5 DUP5 PUSH2 0x917 JUMP JUMPDEST PUSH32 0x9F2DF0FED2C77648DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C8956A6 DUP2 JUMP JUMPDEST PUSH2 0x7CE PUSH2 0x527 DUP4 PUSH2 0x501 JUMP JUMPDEST PUSH2 0x5E0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xF2C 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 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 EQ SWAP2 SWAP1 POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x889 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x107A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xE72 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP5 SWAP1 SSTORE MLOAD PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x90A SWAP1 DUP6 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x93D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x101D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x963 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xDB8 JUMP JUMPDEST PUSH2 0x96E DUP4 DUP4 DUP4 PUSH2 0xC0B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x9A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0xECF JUMP JUMPDEST PUSH2 0x9B1 DUP3 DUP3 PUSH2 0x1321 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP6 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x9E7 SWAP1 DUP5 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xA31 SWAP2 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH2 0xA49 DUP3 DUP3 PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x555 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xA82 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0xAD0 DUP3 DUP3 PUSH2 0x6A6 JUMP JUMPDEST ISZERO PUSH2 0x555 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0xB07 PUSH2 0x85F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB71 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D0 SWAP1 PUSH2 0x1191 JUMP JUMPDEST PUSH2 0xB7D PUSH1 0x0 DUP4 DUP4 PUSH2 0xC0B JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB8F SWAP2 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xBBC SWAP1 DUP5 SWAP1 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0xBFF SWAP1 DUP6 SWAP1 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC38 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4FA DUP3 PUSH2 0xC10 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC53 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0xC5C DUP4 PUSH2 0xC10 JUMP JUMPDEST SWAP2 POP PUSH2 0xC6A PUSH1 0x20 DUP5 ADD PUSH2 0xC10 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC87 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0xC90 DUP5 PUSH2 0xC10 JUMP JUMPDEST SWAP3 POP PUSH2 0xC9E PUSH1 0x20 DUP6 ADD PUSH2 0xC10 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xCC0 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0xCC9 DUP4 PUSH2 0xC10 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCE8 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD01 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0xC6A PUSH1 0x20 DUP5 ADD PUSH2 0xC10 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD22 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x4FA JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE DUP3 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xD91 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xD75 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xDA2 JUMPI DUP4 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F206772616E740000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x22 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x2061646D696E20746F207265766F6B6500000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x16 SWAP1 DUP3 ADD MSTORE PUSH32 0x43616C6C6572206973206E6F742061206D696E74657200000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x28 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732061 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6C6C6F77616E6365000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x24 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2F SWAP1 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1F SWAP1 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x11E9 JUMPI PUSH2 0x11E9 PUSH2 0x1373 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 JUMPDEST PUSH1 0x1 DUP1 DUP7 GT PUSH2 0x1200 JUMPI POP PUSH2 0x122B JUMP JUMPDEST DUP2 DUP8 DIV DUP3 GT ISZERO PUSH2 0x1212 JUMPI PUSH2 0x1212 PUSH2 0x1373 JUMP JUMPDEST DUP1 DUP7 AND ISZERO PUSH2 0x121F JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP5 SWAP1 SWAP5 SHR SWAP4 DUP1 MUL PUSH2 0x11F1 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FA PUSH1 0x0 NOT DUP5 DUP5 PUSH1 0x0 DUP3 PUSH2 0x124D JUMPI POP PUSH1 0x1 PUSH2 0x4FA JUMP JUMPDEST DUP2 PUSH2 0x125A JUMPI POP PUSH1 0x0 PUSH2 0x4FA JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x1270 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x127A JUMPI PUSH2 0x12A7 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x4FA JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x128B JUMPI PUSH2 0x128B PUSH2 0x1373 JUMP JUMPDEST PUSH1 0x1 DUP5 SHL SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x12A1 JUMPI PUSH2 0x12A1 PUSH2 0x1373 JUMP JUMPDEST POP PUSH2 0x4FA JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x12DA JUMPI POP DUP2 DUP2 EXP DUP4 DUP2 GT ISZERO PUSH2 0x12D5 JUMPI PUSH2 0x12D5 PUSH2 0x1373 JUMP JUMPDEST PUSH2 0x4FA JUMP JUMPDEST PUSH2 0x12E7 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x11EE JUMP JUMPDEST DUP1 DUP7 DIV DUP3 GT ISZERO PUSH2 0x12F9 JUMPI PUSH2 0x12F9 PUSH2 0x1373 JUMP JUMPDEST MUL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x131C JUMPI PUSH2 0x131C PUSH2 0x1373 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1333 JUMPI PUSH2 0x1333 PUSH2 0x1373 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DIV PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x134C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x136D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDE 0x4D EQ SUB PUSH27 0x98F876B7B08BB2B7D3D05B37719E395AF849CA4EECE8BFC1E70FC0 PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "379:906:25:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:214:0;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2021:89:1;;;:::i;:::-;;;;;;;:::i;4091:166::-;;;;;;:::i;:::-;;:::i;3082:106::-;;;:::i;:::-;;;;;;;:::i;4724:414::-;;;;;;:::i;:::-;;:::i;4185:121:0:-;;;;;;:::i;:::-;;:::i;423:37:25:-;;;:::i;4556:228:0:-;;;;;;:::i;:::-;;:::i;:::-;;515:79:25;;;:::i;972:97::-;;;;;;:::i;:::-;;:::i;2940:82:1:-;;;:::i;:::-;;;;;;;:::i;5740:214:0:-;;;;;;:::i;:::-;;:::i;5533:212:1:-;;;;;;:::i;:::-;;:::i;1075:208:25:-;;;;;;:::i;:::-;;:::i;3246:125:1:-;;;;;;:::i;:::-;;:::i;3867:137:0:-;;;;;;:::i;:::-;;:::i;2223:93:1:-;;;:::i;873::25:-;;;;;;:::i;:::-;;:::i;2363:49:0:-;;;:::i;6232:371:1:-;;;;;;:::i;:::-;;:::i;3574:172::-;;;;;;:::i;:::-;;:::i;600:62:25:-;;;:::i;5018:231:0:-;;;;;;:::i;:::-;;:::i;3804:149:1:-;;;;;;:::i;:::-;;:::i;3566:214:0:-;3651:4;3674:47;;;3689:32;3674:47;;:99;;;3737:36;3761:11;3737:23;:36::i;:::-;3667:106;;3566:214;;;;:::o;2021:89:1:-;2066:13;2098:5;2091:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:89;:::o;4091:166::-;4174:4;4190:39;4199:12;:10;:12::i;:::-;4213:7;4222:6;4190:8;:39::i;:::-;-1:-1:-1;4246:4:1;4091:166;;;;:::o;3082:106::-;3169:12;;3082:106;:::o;4724:414::-;4830:4;4846:36;4856:6;4864:9;4875:6;4846:9;:36::i;:::-;-1:-1:-1;;;;;4920:19:1;;4893:24;4920:19;;;:11;:19;;;;;4893:24;4940:12;:10;:12::i;:::-;-1:-1:-1;;;;;4920:33:1;-1:-1:-1;;;;;4920:33:1;;;;;;;;;;;;;4893:60;;4991:6;4971:16;:26;;4963:79;;;;-1:-1:-1;;;4963:79:1;;;;;;;:::i;:::-;;;;;;;;;5052:57;5061:6;5069:12;:10;:12::i;:::-;5083:25;5102:6;5083:16;:25;:::i;:::-;5052:8;:57::i;:::-;5127:4;5120:11;;;4724:414;;;;;;:::o;4185:121:0:-;4251:7;4277:12;;;:6;:12;;;;;:22;;;;4185:121::o;423:37:25:-;458:2;423:37;:::o;4556:228:0:-;4648:41;4656:18;4669:4;4656:12;:18::i;:::-;4676:12;:10;:12::i;4648:41::-;4640:101;;;;-1:-1:-1;;;4640:101:0;;;;;;;:::i;:::-;4752:25;4763:4;4769:7;4752:10;:25::i;:::-;4556:228;;:::o;515:79:25:-;570:23;458:2;570;:23;:::i;:::-;556:38;;:10;:38;:::i;:::-;515:79;:::o;972:97::-;1030:32;638:24;1054:7;1030:10;:32::i;:::-;972:97;:::o;2940:82:1:-;3013:2;2940:82;:::o;5740:214:0:-;5846:12;:10;:12::i;:::-;-1:-1:-1;;;;;5835:23:0;:7;-1:-1:-1;;;;;5835:23:0;;5827:83;;;;-1:-1:-1;;;5827:83:0;;;;;;;:::i;:::-;5921:26;5933:4;5939:7;5921:11;:26::i;5533:212:1:-;5621:4;5637:80;5646:12;:10;:12::i;:::-;5660:7;5706:10;5669:11;:25;5681:12;:10;:12::i;:::-;-1:-1:-1;;;;;5669:25:1;;;;;;;;;;;;;;;;;-1:-1:-1;5669:25:1;;;:34;;;;;;;;;;:47;;;;:::i;1075:208:25:-;1140:4;1164:32;638:24;1185:10;1164:7;:32::i;:::-;1156:67;;;;-1:-1:-1;;;1156:67:25;;;;;;;:::i;:::-;1233:22;1239:7;1248:6;1233:5;:22::i;3246:125:1:-;-1:-1:-1;;;;;3346:18:1;3320:7;3346:18;;;;;;;;;;;;3246:125::o;3867:137:0:-;3945:4;3968:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3968:29:0;;;;;;;;;;;;;;;3867:137::o;2223:93:1:-;2270:13;2302:7;2295:14;;;;;:::i;873:93:25:-;928:31;638:24;951:7;928:9;:31::i;2363:49:0:-;2408:4;2363:49;:::o;6232:371:1:-;6325:4;6341:24;6368:11;:25;6380:12;:10;:12::i;:::-;-1:-1:-1;;;;;6368:25:1;;;;;;;;;;;;;;;;;-1:-1:-1;6368:25:1;;;:34;;;;;;;;;;;-1:-1:-1;6420:35:1;;;;6412:85;;;;-1:-1:-1;;;6412:85:1;;;;;;;:::i;:::-;6507:67;6516:12;:10;:12::i;:::-;6530:7;6539:34;6558:15;6539:16;:34;:::i;6507:67::-;-1:-1:-1;6592:4:1;;6232:371;-1:-1:-1;;;6232:371:1:o;3574:172::-;3660:4;3676:42;3686:12;:10;:12::i;:::-;3700:9;3711:6;3676:9;:42::i;600:62:25:-;638:24;600:62;:::o;5018:231:0:-;5111:41;5119:18;5132:4;5119:12;:18::i;5111:41::-;5103:102;;;;-1:-1:-1;;;5103:102:0;;;;;;;:::i;3804:149:1:-;-1:-1:-1;;;;;3919:18:1;;;3893:7;3919:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3804:149::o;763:155:5:-;871:40;;;886:25;871:40;763:155;;;:::o;586:96:3:-;665:10;586:96;:::o;9496:340:1:-;-1:-1:-1;;;;;9597:19:1;;9589:68;;;;-1:-1:-1;;;9589:68:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;9675:21:1;;9667:68;;;;-1:-1:-1;;;9667:68:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;9746:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;9797:32;;;;;9776:6;;9797:32;:::i;:::-;;;;;;;;9496:340;;;:::o;7077:592::-;-1:-1:-1;;;;;7182:20:1;;7174:70;;;;-1:-1:-1;;;7174:70:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;7262:23:1;;7254:71;;;;-1:-1:-1;;;7254:71:1;;;;;;;:::i;:::-;7336:47;7357:6;7365:9;7376:6;7336:20;:47::i;:::-;-1:-1:-1;;;;;7418:17:1;;7394:21;7418:17;;;;;;;;;;;7453:23;;;;7445:74;;;;-1:-1:-1;;;7445:74:1;;;;;;;:::i;:::-;7549:22;7565:6;7549:13;:22;:::i;:::-;-1:-1:-1;;;;;7529:17:1;;;:9;:17;;;;;;;;;;;:42;;;;7581:20;;;;;;;;:30;;7605:6;;7529:9;7581:30;;7605:6;;7581:30;:::i;:::-;;;;;;;;7644:9;-1:-1:-1;;;;;7627:35:1;7636:6;-1:-1:-1;;;;;7627:35:1;;7655:6;7627:35;;;;;;:::i;:::-;;;;;;;;7077:592;;;;:::o;6952:224:0:-;7026:22;7034:4;7040:7;7026;:22::i;:::-;7021:149;;7064:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7064:29:0;;;;;;;;;:36;;-1:-1:-1;;7064:36:0;7096:4;7064:36;;;7146:12;:10;:12::i;:::-;-1:-1:-1;;;;;7119:40:0;7137:7;-1:-1:-1;;;;;7119:40:0;7131:4;7119:40;;;;;;;;;;6952:224;;:::o;7182:225::-;7256:22;7264:4;7270:7;7256;:22::i;:::-;7252:149;;;7326:5;7294:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;7294:29:0;;;;;;;;;:37;;-1:-1:-1;;7294:37:0;;;7377:12;:10;:12::i;:::-;-1:-1:-1;;;;;7350:40:0;7368:7;-1:-1:-1;;;;;7350:40:0;7362:4;7350:40;;;;;;;;;;7182:225;;:::o;7940:330:1:-;-1:-1:-1;;;;;8023:21:1;;8015:65;;;;-1:-1:-1;;;8015:65:1;;;;;;;:::i;:::-;8091:49;8120:1;8124:7;8133:6;8091:20;:49::i;:::-;8167:6;8151:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8183:18:1;;:9;:18;;;;;;;;;;:28;;8205:6;;8183:9;:28;;8205:6;;8183:28;:::i;:::-;;;;-1:-1:-1;;8226:37:1;;-1:-1:-1;;;;;8226:37:1;;;8243:1;;8226:37;;;;8256:6;;8226:37;:::i;:::-;;;;;;;;7940:330;;:::o;10423:92::-;;;;:::o;14:198:29:-;84:20;;-1:-1:-1;;;;;133:54:29;;123:65;;113:2;;202:1;199;192:12;217:198;;329:2;317:9;308:7;304:23;300:32;297:2;;;350:6;342;335:22;297:2;378:31;399:9;378:31;:::i;420:274::-;;;549:2;537:9;528:7;524:23;520:32;517:2;;;570:6;562;555:22;517:2;598:31;619:9;598:31;:::i;:::-;588:41;;648:40;684:2;673:9;669:18;648:40;:::i;:::-;638:50;;507:187;;;;;:::o;699:342::-;;;;845:2;833:9;824:7;820:23;816:32;813:2;;;866:6;858;851:22;813:2;894:31;915:9;894:31;:::i;:::-;884:41;;944:40;980:2;969:9;965:18;944:40;:::i;:::-;934:50;;1031:2;1020:9;1016:18;1003:32;993:42;;803:238;;;;;:::o;1046:266::-;;;1175:2;1163:9;1154:7;1150:23;1146:32;1143:2;;;1196:6;1188;1181:22;1143:2;1224:31;1245:9;1224:31;:::i;:::-;1214:41;1302:2;1287:18;;;;1274:32;;-1:-1:-1;;;1133:179:29:o;1317:190::-;;1429:2;1417:9;1408:7;1404:23;1400:32;1397:2;;;1450:6;1442;1435:22;1397:2;-1:-1:-1;1478:23:29;;1387:120;-1:-1:-1;1387:120:29:o;1512:266::-;;;1641:2;1629:9;1620:7;1616:23;1612:32;1609:2;;;1662:6;1654;1647:22;1609:2;1703:9;1690:23;1680:33;;1732:40;1768:2;1757:9;1753:18;1732:40;:::i;1783:352::-;;1894:2;1882:9;1873:7;1869:23;1865:32;1862:2;;;1915:6;1907;1900:22;1862:2;1959:9;1946:23;2009:66;2002:5;1998:78;1991:5;1988:89;1978:2;;2096:6;2088;2081:22;2140:187;2305:14;;2298:22;2280:41;;2268:2;2253:18;;2235:92::o;2332:177::-;2478:25;;;2466:2;2451:18;;2433:76::o;2514:603::-;;2655:2;2684;2673:9;2666:21;2716:6;2710:13;2759:6;2754:2;2743:9;2739:18;2732:34;2784:4;2797:140;2811:6;2808:1;2805:13;2797:140;;;2906:14;;;2902:23;;2896:30;2872:17;;;2891:2;2868:26;2861:66;2826:10;;2797:140;;;2955:6;2952:1;2949:13;2946:2;;;3025:4;3020:2;3011:6;3000:9;2996:22;2992:31;2985:45;2946:2;-1:-1:-1;3101:2:29;3080:15;-1:-1:-1;;3076:29:29;3061:45;;;;3108:2;3057:54;;2635:482;-1:-1:-1;;;2635:482:29:o;3122:399::-;3324:2;3306:21;;;3363:2;3343:18;;;3336:30;3402:34;3397:2;3382:18;;3375:62;3473:5;3468:2;3453:18;;3446:33;3511:3;3496:19;;3296:225::o;3526:411::-;3728:2;3710:21;;;3767:2;3747:18;;;3740:30;3806:34;3801:2;3786:18;;3779:62;3877:17;3872:2;3857:18;;3850:45;3927:3;3912:19;;3700:237::o;3942:398::-;4144:2;4126:21;;;4183:2;4163:18;;;4156:30;4222:34;4217:2;4202:18;;4195:62;4293:4;4288:2;4273:18;;4266:32;4330:3;4315:19;;4116:224::o;4345:402::-;4547:2;4529:21;;;4586:2;4566:18;;;4559:30;4625:34;4620:2;4605:18;;4598:62;4696:8;4691:2;4676:18;;4669:36;4737:3;4722:19;;4519:228::o;4752:412::-;4954:2;4936:21;;;4993:2;4973:18;;;4966:30;5032:34;5027:2;5012:18;;5005:62;5103:18;5098:2;5083:18;;5076:46;5154:3;5139:19;;4926:238::o;5169:346::-;5371:2;5353:21;;;5410:2;5390:18;;;5383:30;5449:24;5444:2;5429:18;;5422:52;5506:2;5491:18;;5343:172::o;5520:404::-;5722:2;5704:21;;;5761:2;5741:18;;;5734:30;5800:34;5795:2;5780:18;;5773:62;5871:10;5866:2;5851:18;;5844:38;5914:3;5899:19;;5694:230::o;5929:401::-;6131:2;6113:21;;;6170:2;6150:18;;;6143:30;6209:34;6204:2;6189:18;;6182:62;6280:7;6275:2;6260:18;;6253:35;6320:3;6305:19;;6103:227::o;6335:400::-;6537:2;6519:21;;;6576:2;6556:18;;;6549:30;6615:34;6610:2;6595:18;;6588:62;6686:6;6681:2;6666:18;;6659:34;6725:3;6710:19;;6509:226::o;6740:401::-;6942:2;6924:21;;;6981:2;6961:18;;;6954:30;7020:34;7015:2;7000:18;;6993:62;7091:7;7086:2;7071:18;;7064:35;7131:3;7116:19;;6914:227::o;7146:411::-;7348:2;7330:21;;;7387:2;7367:18;;;7360:30;7426:34;7421:2;7406:18;;7399:62;7497:17;7492:2;7477:18;;7470:45;7547:3;7532:19;;7320:237::o;7562:355::-;7764:2;7746:21;;;7803:2;7783:18;;;7776:30;7842:33;7837:2;7822:18;;7815:61;7908:2;7893:18;;7736:181::o;8104:184::-;8276:4;8264:17;;;;8246:36;;8234:2;8219:18;;8201:87::o;8293:128::-;;8364:1;8360:6;8357:1;8354:13;8351:2;;;8370:18;;:::i;:::-;-1:-1:-1;8406:9:29;;8341:80::o;8426:453::-;8522:6;8545:5;8559:314;8608:1;8645:2;8635:8;8632:16;8622:2;;8652:5;;;8622:2;8693:4;8688:3;8684:14;8678:4;8675:24;8672:2;;;8702:18;;:::i;:::-;8752:2;8742:8;8738:17;8735:2;;;8767:16;;;;8735:2;8846:17;;;;;8806:15;;8559:314;;;8503:376;;;;;;;:::o;8884:139::-;;8973:44;-1:-1:-1;;9000:8:29;8994:4;9028:922;9112:8;9102:2;;-1:-1:-1;9153:1:29;9167:5;;9102:2;9201:4;9191:2;;-1:-1:-1;9238:1:29;9252:5;;9191:2;9283:4;9301:1;9296:59;;;;9369:1;9364:183;;;;9276:271;;9296:59;9326:1;9317:10;;9340:5;;;9364:183;9401:3;9391:8;9388:17;9385:2;;;9408:18;;:::i;:::-;9464:1;9454:8;9450:16;9441:25;;9492:3;9485:5;9482:14;9479:2;;;9499:18;;:::i;:::-;9532:5;;;9276:271;;9631:2;9621:8;9618:16;9612:3;9606:4;9603:13;9599:36;9593:2;9583:8;9580:16;9575:2;9569:4;9566:12;9562:35;9559:77;9556:2;;;-1:-1:-1;9668:19:29;;;9703:14;;;9700:2;;;9720:18;;:::i;:::-;9753:5;;9556:2;9800:42;9838:3;9828:8;9822:4;9819:1;9800:42;:::i;:::-;9875:6;9870:3;9866:16;9857:7;9854:29;9851:2;;;9886:18;;:::i;:::-;9924:20;;9092:858;-1:-1:-1;;;;9092:858:29:o;9955:168::-;;10061:1;10057;10053:6;10049:14;10046:1;10043:21;10038:1;10031:9;10024:17;10020:45;10017:2;;;10068:18;;:::i;:::-;-1:-1:-1;10108:9:29;;10007:116::o;10128:125::-;;10196:1;10193;10190:8;10187:2;;;10201:18;;:::i;:::-;-1:-1:-1;10238:9:29;;10177:76::o;10258:437::-;10343:1;10333:12;;10390:1;10380:12;;;10401:2;;10455:4;10447:6;10443:17;10433:27;;10401:2;10508;10500:6;10497:14;10477:18;10474:38;10471:2;;;-1:-1:-1;;;10542:1:29;10535:88;10646:4;10643:1;10636:15;10674:4;10671:1;10664:15;10471:2;;10313:382;;;:::o;10700:184::-;-1:-1:-1;;;10749:1:29;10742:88;10849:4;10846:1;10839:15;10873:4;10870:1;10863:15" - }, - "methodIdentifiers": { - "DECIMALS()": "2e0f2625", - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "INITIAL_SUPPLY()": "2ff2e9dc", - "MINTER_ROLE()": "d5391393", - "addMinter(address)": "983b2d56", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "increaseAllowance(address,uint256)": "39509351", - "mint(address,uint256)": "40c10f19", - "name()": "06fdde03", - "removeMinter(address)": "3092afd5", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - } - } - }, - "contracts/lib/Constants.sol": { - "Constants": { - "abi": [ - { - "inputs": [], - "name": "commit", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "dispute", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "epochLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "exposureDenominator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getBlockConfirmerHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getDefaultAdminHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getJobConfirmerHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeModifierHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getStakerActivityUpdaterHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "maxAltBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "minStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "numStates", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "penaltyNotRevealDenom", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "penaltyNotRevealNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "propose", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "reveal", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "unstakeLockPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawLockPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "61048161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101405760003560e01c80639cec6f8a116100bc578063b1cc45001161008b578063d98b3ced11610070578063d98b3ced146101d0578063f240f7c3146101d8578063f4f29c5b146101e057610140565b8063b1cc4500146101c0578063c198f8ba146101c857610140565b80639cec6f8a146101a8578063a475b5dd146101b0578063a86f5a3f14610145578063b1a62781146101b857610140565b8063379597e01161011357806357d775f8116100f857806357d775f8146101905780637f890b111461019857806380638d42146101a057610140565b8063379597e0146101735780633c7a3aff1461017b57610140565b80632628490f1461014557806326bf1c03146101455780633002c9ac14610163578063375b3c0a1461016b575b600080fd5b61014d6101e8565b60405161015a91906102c6565b60405180910390f35b61014d6101ed565b61014d6101f3565b61014d610211565b610183610216565b60405161015a91906102cf565b61014d61021b565b61014d610221565b61014d610245565b61014d610269565b6101836101e8565b61014d610216565b61014d61028d565b610183610293565b61014d610298565b6101836102bc565b61014d6102c1565b600190565b6103e890565b60006102016012600a610323565b61020c9060646103fd565b905090565b600590565b600090565b61012c90565b7fbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f90565b7fdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc80490565b7f4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece90565b61271090565b600290565b7f18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f90565b600390565b600490565b90815260200190565b60ff91909116815260200190565b80825b60018086116102ef575061031a565b8187048211156103015761030161041c565b8086161561030e57918102915b9490941c9380026102e0565b94509492505050565b60006103326000198484610339565b9392505050565b60008261034857506001610332565b8161035557506000610332565b816001811461036b5760028114610375576103a2565b6001915050610332565b60ff8411156103865761038661041c565b6001841b91508482111561039c5761039c61041c565b50610332565b5060208310610133831016604e8410600b84101617156103d5575081810a838111156103d0576103d061041c565b610332565b6103e284848460016102dd565b8086048211156103f4576103f461041c565b02949350505050565b60008160001904831182151516156104175761041761041c565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220710cac3319cafda50221bf40c0c657130e72a6074fcd0583db844baf030d88ed64736f6c63430008000033", - "opcodes": "PUSH2 0x481 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x140 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9CEC6F8A GT PUSH2 0xBC JUMPI DUP1 PUSH4 0xB1CC4500 GT PUSH2 0x8B JUMPI DUP1 PUSH4 0xD98B3CED GT PUSH2 0x70 JUMPI DUP1 PUSH4 0xD98B3CED EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0xF240F7C3 EQ PUSH2 0x1D8 JUMPI DUP1 PUSH4 0xF4F29C5B EQ PUSH2 0x1E0 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0xB1CC4500 EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xC198F8BA EQ PUSH2 0x1C8 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x9CEC6F8A EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0xA475B5DD EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0xA86F5A3F EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0xB1A62781 EQ PUSH2 0x1B8 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x379597E0 GT PUSH2 0x113 JUMPI DUP1 PUSH4 0x57D775F8 GT PUSH2 0xF8 JUMPI DUP1 PUSH4 0x57D775F8 EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x7F890B11 EQ PUSH2 0x198 JUMPI DUP1 PUSH4 0x80638D42 EQ PUSH2 0x1A0 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x379597E0 EQ PUSH2 0x173 JUMPI DUP1 PUSH4 0x3C7A3AFF EQ PUSH2 0x17B JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x2628490F EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0x26BF1C03 EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0x3002C9AC EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x375B3C0A EQ PUSH2 0x16B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14D PUSH2 0x1E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0x2C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14D PUSH2 0x1ED JUMP JUMPDEST PUSH2 0x14D PUSH2 0x1F3 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x211 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x216 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x14D PUSH2 0x21B JUMP JUMPDEST PUSH2 0x14D PUSH2 0x221 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x245 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x269 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x1E8 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x216 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x28D JUMP JUMPDEST PUSH2 0x183 PUSH2 0x293 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x298 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x2BC JUMP JUMPDEST PUSH2 0x14D PUSH2 0x2C1 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x3E8 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x201 PUSH1 0x12 PUSH1 0xA PUSH2 0x323 JUMP JUMPDEST PUSH2 0x20C SWAP1 PUSH1 0x64 PUSH2 0x3FD JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x5 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x12C SWAP1 JUMP JUMPDEST PUSH32 0xBE7B58E17BF6ADAA0F209CD0DB8B128282FC68A42F2DD649B4D8EA579F1B078F SWAP1 JUMP JUMPDEST PUSH32 0xDBAAAFF2C3744AA215EBD99971829E1C1B728703A0BF252F96685D29011FC804 SWAP1 JUMP JUMPDEST PUSH32 0x4CD3070AAA07D03AB33731CBABD0CB27EB9E074A9430AD006C96941D71B77ECE SWAP1 JUMP JUMPDEST PUSH2 0x2710 SWAP1 JUMP JUMPDEST PUSH1 0x2 SWAP1 JUMP JUMPDEST PUSH32 0x18797BC7973E1DADEE1895BE2F1003818E30EAE3B0E7A01EB9B2E66F3EA2771F SWAP1 JUMP JUMPDEST PUSH1 0x3 SWAP1 JUMP JUMPDEST PUSH1 0x4 SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 JUMPDEST PUSH1 0x1 DUP1 DUP7 GT PUSH2 0x2EF JUMPI POP PUSH2 0x31A JUMP JUMPDEST DUP2 DUP8 DIV DUP3 GT ISZERO PUSH2 0x301 JUMPI PUSH2 0x301 PUSH2 0x41C JUMP JUMPDEST DUP1 DUP7 AND ISZERO PUSH2 0x30E JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP5 SWAP1 SWAP5 SHR SWAP4 DUP1 MUL PUSH2 0x2E0 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x332 PUSH1 0x0 NOT DUP5 DUP5 PUSH2 0x339 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x348 JUMPI POP PUSH1 0x1 PUSH2 0x332 JUMP JUMPDEST DUP2 PUSH2 0x355 JUMPI POP PUSH1 0x0 PUSH2 0x332 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x36B JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x375 JUMPI PUSH2 0x3A2 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x332 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x386 JUMPI PUSH2 0x386 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x1 DUP5 SHL SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x39C JUMPI PUSH2 0x39C PUSH2 0x41C JUMP JUMPDEST POP PUSH2 0x332 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x3D5 JUMPI POP DUP2 DUP2 EXP DUP4 DUP2 GT ISZERO PUSH2 0x3D0 JUMPI PUSH2 0x3D0 PUSH2 0x41C JUMP JUMPDEST PUSH2 0x332 JUMP JUMPDEST PUSH2 0x3E2 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x2DD JUMP JUMPDEST DUP1 DUP7 DIV DUP3 GT ISZERO PUSH2 0x3F4 JUMPI PUSH2 0x3F4 PUSH2 0x41C JUMP JUMPDEST MUL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x417 JUMPI PUSH2 0x417 PUSH2 0x41C JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH18 0xCAC3319CAFDA50221BF40C0C657130E72A6 SMOD 0x4F 0xCD SDIV DUP4 0xDB DUP5 0x4B 0xAF SUB 0xD DUP9 0xED PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "65:1908:26:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1908:26;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2479:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "123:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "133:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "145:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "156:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "141:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "141:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "133:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "175:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "186:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "168:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "168:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "168:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "92:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "103:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "114:4:29", - "type": "" - } - ], - "src": "14:185:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "313:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "323:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "335:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "346:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "331:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "331:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "323:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "365:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "376:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "358:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "358:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "358:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "282:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "293:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "304:4:29", - "type": "" - } - ], - "src": "204:185:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "499:87:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "509:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "521:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "532:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "517:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "517:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "509:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "551:9:29" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "566:6:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "574:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "562:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "562:17:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "544:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "544:36:29" - }, - "nodeType": "YulExpressionStatement", - "src": "544:36:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "468:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "479:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "490:4:29", - "type": "" - } - ], - "src": "394:192:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "668:376:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "678:15:29", - "value": { - "name": "_power", - "nodeType": "YulIdentifier", - "src": "687:6:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "678:5:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "702:13:29", - "value": { - "name": "_base", - "nodeType": "YulIdentifier", - "src": "710:5:29" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "702:4:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "749:289:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "763:11:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "773:1:29", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "767:2:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "815:9:29", - "statements": [ - { - "nodeType": "YulBreak", - "src": "817:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "800:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "810:2:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "797:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "797:16:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "790:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "790:24:29" - }, - "nodeType": "YulIf", - "src": "787:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "865:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "867:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "867:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "867:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "843:4:29" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "853:3:29" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "858:4:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "849:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "849:14:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "840:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "840:24:29" - }, - "nodeType": "YulIf", - "src": "837:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "921:29:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "923:25:29", - "value": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "936:5:29" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "943:4:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "932:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "932:16:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "923:5:29" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "907:8:29" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "917:2:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "903:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "903:17:29" - }, - "nodeType": "YulIf", - "src": "900:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "963:23:29", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "975:4:29" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "981:4:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "971:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "971:15:29" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "963:4:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "999:29:29", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1015:2:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1019:8:29" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1011:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1011:17:29" - }, - "variableNames": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "999:8:29" - } - ] - } - ] - }, - "condition": { - "kind": "bool", - "nodeType": "YulLiteral", - "src": "732:4:29", - "type": "", - "value": "true" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "737:3:29", - "statements": [] - }, - "pre": { - "nodeType": "YulBlock", - "src": "728:3:29", - "statements": [] - }, - "src": "724:314:29" - } - ] - }, - "name": "checked_exp_helper", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "_power", - "nodeType": "YulTypedName", - "src": "619:6:29", - "type": "" - }, - { - "name": "_base", - "nodeType": "YulTypedName", - "src": "627:5:29", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "634:8:29", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "644:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "652:5:29", - "type": "" - }, - { - "name": "base", - "nodeType": "YulTypedName", - "src": "659:4:29", - "type": "" - } - ], - "src": "591:453:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1119:69:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1129:53:29", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1159:4:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1165:8:29" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1179:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1175:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1175:6:29" - } - ], - "functionName": { - "name": "checked_exp_unsigned", - "nodeType": "YulIdentifier", - "src": "1138:20:29" - }, - "nodeType": "YulFunctionCall", - "src": "1138:44:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1129:5:29" - } - ] - } - ] - }, - "name": "checked_exp_t_uint256_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "1090:4:29", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "1096:8:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "1109:5:29", - "type": "" - } - ], - "src": "1049:139:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1257:858:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1295:52:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1309:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1318:1:29", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1309:5:29" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "1332:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1277:8:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1270:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1270:16:29" - }, - "nodeType": "YulIf", - "src": "1267:2:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1380:52:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1394:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1403:1:29", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1394:5:29" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "1417:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1366:4:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1359:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1359:12:29" - }, - "nodeType": "YulIf", - "src": "1356:2:29" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1468:52:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1482:10:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1491:1:29", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1482:5:29" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "1505:5:29" - } - ] - }, - "nodeType": "YulCase", - "src": "1461:59:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1466:1:29", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1536:176:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1571:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1573:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "1573:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1573:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1556:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1566:3:29", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1553:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1553:17:29" - }, - "nodeType": "YulIf", - "src": "1550:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1606:25:29", - "value": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1619:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1629:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1615:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1615:16:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1606:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1662:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1664:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "1664:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1664:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1650:5:29" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "1657:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1647:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1647:14:29" - }, - "nodeType": "YulIf", - "src": "1644:2:29" - }, - { - "nodeType": "YulLeave", - "src": "1697:5:29" - } - ] - }, - "nodeType": "YulCase", - "src": "1529:183:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1534:1:29", - "type": "", - "value": "2" - } - } - ], - "expression": { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1448:4:29" - }, - "nodeType": "YulSwitch", - "src": "1441:271:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1810:123:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1824:28:29", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1837:4:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1843:8:29" - } - ], - "functionName": { - "name": "exp", - "nodeType": "YulIdentifier", - "src": "1833:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1833:19:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1824:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1883:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "1885:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "1885:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1885:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "1871:5:29" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "1878:3:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1868:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1868:14:29" - }, - "nodeType": "YulIf", - "src": "1865:2:29" - }, - { - "nodeType": "YulLeave", - "src": "1918:5:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1734:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1740:2:29", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1731:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1731:12:29" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1748:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1758:2:29", - "type": "", - "value": "78" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1745:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1745:16:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1727:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1727:35:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1771:4:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1777:3:29", - "type": "", - "value": "307" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1768:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1768:13:29" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1786:8:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1796:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1783:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1783:16:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1764:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1764:36:29" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1724:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "1724:77:29" - }, - "nodeType": "YulIf", - "src": "1721:2:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1942:65:29", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1984:1:29", - "type": "", - "value": "1" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "1987:4:29" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "1993:8:29" - }, - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "2003:3:29" - } - ], - "functionName": { - "name": "checked_exp_helper", - "nodeType": "YulIdentifier", - "src": "1965:18:29" - }, - "nodeType": "YulFunctionCall", - "src": "1965:42:29" - }, - "variables": [ - { - "name": "power_1", - "nodeType": "YulTypedName", - "src": "1946:7:29", - "type": "" - }, - { - "name": "base_1", - "nodeType": "YulTypedName", - "src": "1955:6:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2049:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2051:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "2051:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2051:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "2022:7:29" - }, - { - "arguments": [ - { - "name": "max", - "nodeType": "YulIdentifier", - "src": "2035:3:29" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "2040:6:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2031:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2031:16:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2019:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2019:29:29" - }, - "nodeType": "YulIf", - "src": "2016:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2080:29:29", - "value": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "2093:7:29" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "2102:6:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2089:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2089:20:29" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2080:5:29" - } - ] - } - ] - }, - "name": "checked_exp_unsigned", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "1223:4:29", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "1229:8:29", - "type": "" - }, - { - "name": "max", - "nodeType": "YulTypedName", - "src": "1239:3:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "1247:5:29", - "type": "" - } - ], - "src": "1193:922:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2172:116:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2231:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2233:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "2233:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2233:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2203:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2196:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2196:9:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2189:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2189:17:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2211:1:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2222:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2218:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2218:6:29" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2226:1:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2214:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2214:14:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2208:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2208:21:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2185:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2185:45:29" - }, - "nodeType": "YulIf", - "src": "2182:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2262:20:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2277:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2280:1:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2273:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2273:9:29" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "2262:7:29" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "2151:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "2154:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "2160:7:29", - "type": "" - } - ], - "src": "2120:168:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2325:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2342:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2345:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2335:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2335:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2335:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2439:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2442:4:29", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2432:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2432:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2432:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2463:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2466:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2456:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2456:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2456:15:29" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "2293:184:29" - } - ] - }, - "contents": "{\n { }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function checked_exp_helper(_power, _base, exponent, max) -> power, base\n {\n power := _power\n base := _base\n for { } true { }\n {\n let _1 := 1\n if iszero(gt(exponent, _1)) { break }\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, _1) { power := mul(power, base) }\n base := mul(base, base)\n exponent := shr(_1, exponent)\n }\n }\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power\n {\n power := checked_exp_unsigned(base, exponent, not(0))\n }\n function checked_exp_unsigned(base, exponent, max) -> power\n {\n if iszero(exponent)\n {\n power := 1\n leave\n }\n if iszero(base)\n {\n power := 0\n leave\n }\n switch base\n case 1 {\n power := 1\n leave\n }\n case 2 {\n if gt(exponent, 255) { panic_error_0x11() }\n power := shl(exponent, 1)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n let power_1, base_1 := checked_exp_helper(1, base, exponent, max)\n if gt(power_1, div(max, base_1)) { panic_error_0x11() }\n power := mul(power_1, base_1)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600436106101405760003560e01c80639cec6f8a116100bc578063b1cc45001161008b578063d98b3ced11610070578063d98b3ced146101d0578063f240f7c3146101d8578063f4f29c5b146101e057610140565b8063b1cc4500146101c0578063c198f8ba146101c857610140565b80639cec6f8a146101a8578063a475b5dd146101b0578063a86f5a3f14610145578063b1a62781146101b857610140565b8063379597e01161011357806357d775f8116100f857806357d775f8146101905780637f890b111461019857806380638d42146101a057610140565b8063379597e0146101735780633c7a3aff1461017b57610140565b80632628490f1461014557806326bf1c03146101455780633002c9ac14610163578063375b3c0a1461016b575b600080fd5b61014d6101e8565b60405161015a91906102c6565b60405180910390f35b61014d6101ed565b61014d6101f3565b61014d610211565b610183610216565b60405161015a91906102cf565b61014d61021b565b61014d610221565b61014d610245565b61014d610269565b6101836101e8565b61014d610216565b61014d61028d565b610183610293565b61014d610298565b6101836102bc565b61014d6102c1565b600190565b6103e890565b60006102016012600a610323565b61020c9060646103fd565b905090565b600590565b600090565b61012c90565b7fbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f90565b7fdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc80490565b7f4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece90565b61271090565b600290565b7f18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f90565b600390565b600490565b90815260200190565b60ff91909116815260200190565b80825b60018086116102ef575061031a565b8187048211156103015761030161041c565b8086161561030e57918102915b9490941c9380026102e0565b94509492505050565b60006103326000198484610339565b9392505050565b60008261034857506001610332565b8161035557506000610332565b816001811461036b5760028114610375576103a2565b6001915050610332565b60ff8411156103865761038661041c565b6001841b91508482111561039c5761039c61041c565b50610332565b5060208310610133831016604e8410600b84101617156103d5575081810a838111156103d0576103d061041c565b610332565b6103e284848460016102dd565b8086048211156103f4576103f461041c565b02949350505050565b60008160001904831182151516156104175761041761041c565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220710cac3319cafda50221bf40c0c657130e72a6074fcd0583db844baf030d88ed64736f6c63430008000033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x140 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9CEC6F8A GT PUSH2 0xBC JUMPI DUP1 PUSH4 0xB1CC4500 GT PUSH2 0x8B JUMPI DUP1 PUSH4 0xD98B3CED GT PUSH2 0x70 JUMPI DUP1 PUSH4 0xD98B3CED EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0xF240F7C3 EQ PUSH2 0x1D8 JUMPI DUP1 PUSH4 0xF4F29C5B EQ PUSH2 0x1E0 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0xB1CC4500 EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xC198F8BA EQ PUSH2 0x1C8 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x9CEC6F8A EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0xA475B5DD EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0xA86F5A3F EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0xB1A62781 EQ PUSH2 0x1B8 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x379597E0 GT PUSH2 0x113 JUMPI DUP1 PUSH4 0x57D775F8 GT PUSH2 0xF8 JUMPI DUP1 PUSH4 0x57D775F8 EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x7F890B11 EQ PUSH2 0x198 JUMPI DUP1 PUSH4 0x80638D42 EQ PUSH2 0x1A0 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x379597E0 EQ PUSH2 0x173 JUMPI DUP1 PUSH4 0x3C7A3AFF EQ PUSH2 0x17B JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x2628490F EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0x26BF1C03 EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0x3002C9AC EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0x375B3C0A EQ PUSH2 0x16B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14D PUSH2 0x1E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0x2C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14D PUSH2 0x1ED JUMP JUMPDEST PUSH2 0x14D PUSH2 0x1F3 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x211 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x216 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0x2CF JUMP JUMPDEST PUSH2 0x14D PUSH2 0x21B JUMP JUMPDEST PUSH2 0x14D PUSH2 0x221 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x245 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x269 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x1E8 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x216 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x28D JUMP JUMPDEST PUSH2 0x183 PUSH2 0x293 JUMP JUMPDEST PUSH2 0x14D PUSH2 0x298 JUMP JUMPDEST PUSH2 0x183 PUSH2 0x2BC JUMP JUMPDEST PUSH2 0x14D PUSH2 0x2C1 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x3E8 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x201 PUSH1 0x12 PUSH1 0xA PUSH2 0x323 JUMP JUMPDEST PUSH2 0x20C SWAP1 PUSH1 0x64 PUSH2 0x3FD JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x5 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x12C SWAP1 JUMP JUMPDEST PUSH32 0xBE7B58E17BF6ADAA0F209CD0DB8B128282FC68A42F2DD649B4D8EA579F1B078F SWAP1 JUMP JUMPDEST PUSH32 0xDBAAAFF2C3744AA215EBD99971829E1C1B728703A0BF252F96685D29011FC804 SWAP1 JUMP JUMPDEST PUSH32 0x4CD3070AAA07D03AB33731CBABD0CB27EB9E074A9430AD006C96941D71B77ECE SWAP1 JUMP JUMPDEST PUSH2 0x2710 SWAP1 JUMP JUMPDEST PUSH1 0x2 SWAP1 JUMP JUMPDEST PUSH32 0x18797BC7973E1DADEE1895BE2F1003818E30EAE3B0E7A01EB9B2E66F3EA2771F SWAP1 JUMP JUMPDEST PUSH1 0x3 SWAP1 JUMP JUMPDEST PUSH1 0x4 SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 DUP3 JUMPDEST PUSH1 0x1 DUP1 DUP7 GT PUSH2 0x2EF JUMPI POP PUSH2 0x31A JUMP JUMPDEST DUP2 DUP8 DIV DUP3 GT ISZERO PUSH2 0x301 JUMPI PUSH2 0x301 PUSH2 0x41C JUMP JUMPDEST DUP1 DUP7 AND ISZERO PUSH2 0x30E JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP5 SWAP1 SWAP5 SHR SWAP4 DUP1 MUL PUSH2 0x2E0 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x332 PUSH1 0x0 NOT DUP5 DUP5 PUSH2 0x339 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x348 JUMPI POP PUSH1 0x1 PUSH2 0x332 JUMP JUMPDEST DUP2 PUSH2 0x355 JUMPI POP PUSH1 0x0 PUSH2 0x332 JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH2 0x36B JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x375 JUMPI PUSH2 0x3A2 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH2 0x332 JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH2 0x386 JUMPI PUSH2 0x386 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x1 DUP5 SHL SWAP2 POP DUP5 DUP3 GT ISZERO PUSH2 0x39C JUMPI PUSH2 0x39C PUSH2 0x41C JUMP JUMPDEST POP PUSH2 0x332 JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH2 0x3D5 JUMPI POP DUP2 DUP2 EXP DUP4 DUP2 GT ISZERO PUSH2 0x3D0 JUMPI PUSH2 0x3D0 PUSH2 0x41C JUMP JUMPDEST PUSH2 0x332 JUMP JUMPDEST PUSH2 0x3E2 DUP5 DUP5 DUP5 PUSH1 0x1 PUSH2 0x2DD JUMP JUMPDEST DUP1 DUP7 DIV DUP3 GT ISZERO PUSH2 0x3F4 JUMPI PUSH2 0x3F4 PUSH2 0x41C JUMP JUMPDEST MUL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x417 JUMPI PUSH2 0x417 PUSH2 0x41C JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH18 0xCAC3319CAFDA50221BF40C0C657130E72A6 SMOD 0x4F 0xCD SDIV DUP4 0xDB DUP5 0x4B 0xAF SUB 0xD DUP9 0xED PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "65:1908:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;716:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1008:77;;;:::i;551:83::-;;;:::i;794:67::-;;;:::i;89:58::-;;;:::i;:::-;;;;;;;:::i;866:68::-;;;:::i;1091:174::-;;;:::i;1453:176::-;;;:::i;1634:194::-;;;:::i;152:58::-;;;:::i;1833:138::-;;;:::i;465:81::-;;;:::i;215:59::-;;;:::i;1270:178::-;;;:::i;279:59::-;;;:::i;939:64::-;;;:::i;716:73::-;784:1;716:73;:::o;1008:77::-;1077:4;1008:77;:::o;551:83::-;591:7;614:15;626:2;614;:15;:::i;:::-;609:21;;:3;:21;:::i;:::-;602:29;;551:83;:::o;794:67::-;856:1;794:67;:::o;89:58::-;127:5;89:58;:::o;866:68::-;927:3;866:68;:::o;1091:174::-;1160:66;1091:174;:::o;1453:176::-;1523:66;1453:176;:::o;1634:194::-;1712:66;1634:194;:::o;465:81::-;537:5;465:81;:::o;215:59::-;270:1;215:59;:::o;1270:178::-;1341:66;1270:178;:::o;279:59::-;334:1;279:59;:::o;939:64::-;998:1;939:64;:::o;14:185:29:-;168:25;;;156:2;141:18;;123:76::o;394:192::-;574:4;562:17;;;;544:36;;532:2;517:18;;499:87::o;591:453::-;687:6;710:5;724:314;773:1;810:2;800:8;797:16;787:2;;817:5;;;787:2;858:4;853:3;849:14;843:4;840:24;837:2;;;867:18;;:::i;:::-;917:2;907:8;903:17;900:2;;;932:16;;;;900:2;1011:17;;;;;971:15;;724:314;;;668:376;;;;;;;:::o;1049:139::-;;1138:44;-1:-1:-1;;1165:8:29;1159:4;1138:44;:::i;:::-;1129:53;1119:69;-1:-1:-1;;;1119:69:29:o;1193:922::-;;1277:8;1267:2;;-1:-1:-1;1318:1:29;1332:5;;1267:2;1366:4;1356:2;;-1:-1:-1;1403:1:29;1417:5;;1356:2;1448:4;1466:1;1461:59;;;;1534:1;1529:183;;;;1441:271;;1461:59;1491:1;1482:10;;1505:5;;;1529:183;1566:3;1556:8;1553:17;1550:2;;;1573:18;;:::i;:::-;1629:1;1619:8;1615:16;1606:25;;1657:3;1650:5;1647:14;1644:2;;;1664:18;;:::i;:::-;1697:5;;;1441:271;;1796:2;1786:8;1783:16;1777:3;1771:4;1768:13;1764:36;1758:2;1748:8;1745:16;1740:2;1734:4;1731:12;1727:35;1724:77;1721:2;;;-1:-1:-1;1833:19:29;;;1868:14;;;1865:2;;;1885:18;;:::i;:::-;1918:5;;1721:2;1965:42;2003:3;1993:8;1987:4;1984:1;1965:42;:::i;:::-;2040:6;2035:3;2031:16;2022:7;2019:29;2016:2;;;2051:18;;:::i;:::-;2089:20;;1257:858;-1:-1:-1;;;;1257:858:29:o;2120:168::-;;2226:1;2222;2218:6;2214:14;2211:1;2208:21;2203:1;2196:9;2189:17;2185:45;2182:2;;;2233:18;;:::i;:::-;-1:-1:-1;2273:9:29;;2172:116::o;2293:184::-;2345:77;2342:1;2335:88;2442:4;2439:1;2432:15;2466:4;2463:1;2456:15" - }, - "methodIdentifiers": { - "commit()": "3c7a3aff", - "dispute()": "f240f7c3", - "epochLength()": "57d775f8", - "exposureDenominator()": "3002c9ac", - "getBlockConfirmerHash()": "d98b3ced", - "getDefaultAdminHash()": "b1a62781", - "getJobConfirmerHash()": "7f890b11", - "getStakeModifierHash()": "80638d42", - "getStakerActivityUpdaterHash()": "9cec6f8a", - "maxAltBlocks()": "379597e0", - "minStake()": "375b3c0a", - "numStates()": "f4f29c5b", - "penaltyNotRevealDenom()": "b1cc4500", - "penaltyNotRevealNum()": "a86f5a3f", - "propose()": "c198f8ba", - "reveal()": "a475b5dd", - "unstakeLockPeriod()": "26bf1c03", - "withdrawLockPeriod()": "2628490f" - } - } - } - }, - "contracts/lib/Random.sol": { - "Random": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - } - ], - "name": "blockHashes", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "max", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "seed", - "type": "bytes32" - } - ], - "name": "prng", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "seed", - "type": "bytes32" - } - ], - "name": "prngHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 260 - }, - { - "length": 20, - "start": 384 - } - ] - } - }, - "object": "61041961003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80635075dbfb146100505780637fa00da214610079578063b07ceab81461008c575b600080fd5b61006361005e3660046102f0565b61009f565b6040516100709190610330565b60405180910390f35b6100636100873660046102a6565b6100c3565b61006361009a3660046102c7565b61023c565b6000806100ac858461023c565b9050806100b985826103a3565b9695505050505050565b600080600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561010c57600080fd5b505af4158015610120573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610144919061028e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561018857600080fd5b505af415801561019c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c0919061028e565b6101ca9043610339565b6101d4919061034d565b905060015b8460ff168160ff161161023157826101f460ff83168461036c565b40604051602001610206929190610322565b604051602081830303815290604052805190602001209250808061022990610383565b9150506101d9565b50909150505b919050565b600080610248846100c3565b9050808360405160200161025d929190610322565b60408051808303601f190181529190528051602090910120949350505050565b803560ff8116811461023757600080fd5b60006020828403121561029f578081fd5b5051919050565b6000602082840312156102b7578081fd5b6102c08261027d565b9392505050565b600080604083850312156102d9578081fd5b6102e28361027d565b946020939093013593505050565b600080600060608486031215610304578081fd5b61030d8461027d565b95602085013595506040909401359392505050565b918252602082015260400190565b90815260200190565b600082610348576103486103cd565b500490565b6000816000190483118215151615610367576103676103b7565b500290565b60008282101561037e5761037e6103b7565b500390565b600060ff821660ff81141561039a5761039a6103b7565b60010192915050565b6000826103b2576103b26103cd565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220553509f86c68b682ac0d2b7e2d57ad298c819477cec3499acd4e038536499f3464736f6c63430008000033", - "opcodes": "PUSH2 0x419 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5075DBFB EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x7FA00DA2 EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xB07CEAB8 EQ PUSH2 0x8C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x63 PUSH2 0x5E CALLDATASIZE PUSH1 0x4 PUSH2 0x2F0 JUMP JUMPDEST PUSH2 0x9F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x63 PUSH2 0x87 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A6 JUMP JUMPDEST PUSH2 0xC3 JUMP JUMPDEST PUSH2 0x63 PUSH2 0x9A CALLDATASIZE PUSH1 0x4 PUSH2 0x2C7 JUMP JUMPDEST PUSH2 0x23C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAC DUP6 DUP5 PUSH2 0x23C JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0xB9 DUP6 DUP3 PUSH2 0x3A3 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x120 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x144 SWAP2 SWAP1 PUSH2 0x28E JUMP JUMPDEST PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x188 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x19C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C0 SWAP2 SWAP1 PUSH2 0x28E JUMP JUMPDEST PUSH2 0x1CA SWAP1 NUMBER PUSH2 0x339 JUMP JUMPDEST PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0x34D JUMP JUMPDEST SWAP1 POP PUSH1 0x1 JUMPDEST DUP5 PUSH1 0xFF AND DUP2 PUSH1 0xFF AND GT PUSH2 0x231 JUMPI DUP3 PUSH2 0x1F4 PUSH1 0xFF DUP4 AND DUP5 PUSH2 0x36C JUMP JUMPDEST BLOCKHASH PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x206 SWAP3 SWAP2 SWAP1 PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP DUP1 DUP1 PUSH2 0x229 SWAP1 PUSH2 0x383 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1D9 JUMP JUMPDEST POP SWAP1 SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x248 DUP5 PUSH2 0xC3 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x25D SWAP3 SWAP2 SWAP1 PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB PUSH1 0x1F NOT ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29F JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B7 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2C0 DUP3 PUSH2 0x27D JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2D9 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2E2 DUP4 PUSH2 0x27D JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x304 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x30D DUP5 PUSH2 0x27D JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x348 JUMPI PUSH2 0x348 PUSH2 0x3CD JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x367 JUMPI PUSH2 0x367 PUSH2 0x3B7 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x37E JUMPI PUSH2 0x37E PUSH2 0x3B7 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 EQ ISZERO PUSH2 0x39A JUMPI PUSH2 0x39A PUSH2 0x3B7 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3B2 JUMPI PUSH2 0x3B2 PUSH2 0x3CD JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SSTORE CALLDATALOAD MULMOD 0xF8 PUSH13 0x68B682AC0D2B7E2D57AD298C81 SWAP5 PUSH24 0xCEC3499ACD4E038536499F3464736F6C6343000800003300 ", - "sourceMap": "92:1006:27:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;92:1006:27;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2909:29", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:29", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "63:109:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "73:29:29", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "95:6:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "82:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "82:20:29" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "73:5:29" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "150:16:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "159:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "162:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "152:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "152:12:29" - }, - "nodeType": "YulExpressionStatement", - "src": "152:12:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "124:5:29" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "135:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "142:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "131:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "131:16:29" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "121:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "121:27:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "114:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "114:35:29" - }, - "nodeType": "YulIf", - "src": "111:2:29" - } - ] - }, - "name": "abi_decode_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "42:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "53:5:29", - "type": "" - } - ], - "src": "14:158:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "258:113:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "304:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "313:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "321:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "306:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "306:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "306:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "279:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "288:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "275:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "275:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "300:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "271:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "271:32:29" - }, - "nodeType": "YulIf", - "src": "268:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "339:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "355:9:29" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "349:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "349:16:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "339:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "224:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "235:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "247:6:29", - "type": "" - } - ], - "src": "177:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "444:126:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "490:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "499:6:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "507:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "492:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "492:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "492:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "465:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "474:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "461:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "461:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "486:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "457:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "457:32:29" - }, - "nodeType": "YulIf", - "src": "454:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "525:39:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "554:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_uint8", - "nodeType": "YulIdentifier", - "src": "535:18:29" - }, - "nodeType": "YulFunctionCall", - "src": "535:29:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "525:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "410:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "421:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "433:6:29", - "type": "" - } - ], - "src": "376:194:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "660:177:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "706:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "715:6:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "723:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "708:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "708:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "708:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "681:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "690:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "677:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "677:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "702:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "673:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "673:32:29" - }, - "nodeType": "YulIf", - "src": "670:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "741:39:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "770:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_uint8", - "nodeType": "YulIdentifier", - "src": "751:18:29" - }, - "nodeType": "YulFunctionCall", - "src": "751:29:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "741:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "789:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "816:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "827:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "812:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "812:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "799:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "799:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "789:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "618:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "629:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "641:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "649:6:29", - "type": "" - } - ], - "src": "575:262:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "944:228:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "990:26:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "999:6:29" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1007:6:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "992:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "992:22:29" - }, - "nodeType": "YulExpressionStatement", - "src": "992:22:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "965:7:29" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "974:9:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "961:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "961:23:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "986:2:29", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "957:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "957:32:29" - }, - "nodeType": "YulIf", - "src": "954:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1025:39:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1054:9:29" - } - ], - "functionName": { - "name": "abi_decode_t_uint8", - "nodeType": "YulIdentifier", - "src": "1035:18:29" - }, - "nodeType": "YulFunctionCall", - "src": "1035:29:29" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1025:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1073:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1100:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1111:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1096:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1096:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1083:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1083:32:29" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1073:6:29" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1124:42:29", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1151:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1162:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1147:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1147:18:29" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1134:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1134:32:29" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1124:6:29" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint8t_uint256t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "894:9:29", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "905:7:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "917:6:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "925:6:29", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "933:6:29", - "type": "" - } - ], - "src": "842:330:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1324:100:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1341:3:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1346:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1334:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1334:19:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1334:19:29" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1373:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1378:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1369:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1369:12:29" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1383:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1362:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1362:28:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1362:28:29" - }, - { - "nodeType": "YulAssignment", - "src": "1399:19:29", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1410:3:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1415:2:29", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1406:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1406:12:29" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1399:3:29" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1292:3:29", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1297:6:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1305:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1316:3:29", - "type": "" - } - ], - "src": "1177:247:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1538:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1548:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1560:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1571:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1556:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1556:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1548:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1590:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1601:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1583:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1583:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1583:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1507:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1518:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1529:4:29", - "type": "" - } - ], - "src": "1429:185:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1728:76:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1738:26:29", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1750:9:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1761:2:29", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1746:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1746:18:29" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1738:4:29" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1780:9:29" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1791:6:29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1773:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1773:25:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1773:25:29" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1697:9:29", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1708:6:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1719:4:29", - "type": "" - } - ], - "src": "1619:185:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1855:74:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1878:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "1880:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "1880:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1880:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "1875:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1868:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1868:9:29" - }, - "nodeType": "YulIf", - "src": "1865:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "1909:14:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "1918:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "1921:1:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "1914:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1914:9:29" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "1909:1:29" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "1840:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "1843:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "1849:1:29", - "type": "" - } - ], - "src": "1809:120:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1986:116:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2045:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2047:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "2047:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2047:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2017:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2010:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2010:9:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2003:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2003:17:29" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2025:1:29" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2036:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2032:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2032:6:29" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2040:1:29" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "2028:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2028:14:29" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2022:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2022:21:29" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1999:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1999:45:29" - }, - "nodeType": "YulIf", - "src": "1996:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2076:20:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2091:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2094:1:29" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2087:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2087:9:29" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "2076:7:29" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "1965:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "1968:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "1974:7:29", - "type": "" - } - ], - "src": "1934:168:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2156:76:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2178:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2180:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "2180:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2180:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2172:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2175:1:29" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2169:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2169:8:29" - }, - "nodeType": "YulIf", - "src": "2166:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2209:17:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2221:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2224:1:29" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2217:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2217:9:29" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "2209:4:29" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "2138:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "2141:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "2147:4:29", - "type": "" - } - ], - "src": "2107:125:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2282:130:29", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2292:31:29", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2311:5:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2318:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2307:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2307:16:29" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "2296:7:29", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2353:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2355:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "2355:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2355:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "2338:7:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2347:4:29", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2335:2:29" - }, - "nodeType": "YulFunctionCall", - "src": "2335:17:29" - }, - "nodeType": "YulIf", - "src": "2332:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2384:22:29", - "value": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "2395:7:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2404:1:29", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2391:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2391:15:29" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "2384:3:29" - } - ] - } - ] - }, - "name": "increment_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2264:5:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "2274:3:29", - "type": "" - } - ], - "src": "2237:175:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2455:74:29", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2478:22:29", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "2480:16:29" - }, - "nodeType": "YulFunctionCall", - "src": "2480:18:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2480:18:29" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2475:1:29" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2468:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2468:9:29" - }, - "nodeType": "YulIf", - "src": "2465:2:29" - }, - { - "nodeType": "YulAssignment", - "src": "2509:14:29", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2518:1:29" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2521:1:29" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "2514:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "2514:9:29" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "2509:1:29" - } - ] - } - ] - }, - "name": "mod_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "2440:1:29", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "2443:1:29", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "2449:1:29", - "type": "" - } - ], - "src": "2417:112:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2566:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2583:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2586:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2576:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2576:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2576:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2680:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2683:4:29", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2673:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2673:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2673:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2704:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2707:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2697:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2697:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2697:15:29" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "2534:184:29" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2755:152:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2772:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2775:77:29", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2765:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2765:88:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2765:88:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2869:1:29", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2872:4:29", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2862:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2862:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2862:15:29" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2893:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2896:4:29", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2886:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "2886:15:29" - }, - "nodeType": "YulExpressionStatement", - "src": "2886:15:29" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "2723:184:29" - } - ] - }, - "contents": "{\n { }\n function abi_decode_t_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := abi_decode_t_uint8(headStart)\n }\n function abi_decode_tuple_t_uint8t_bytes32(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n value0 := abi_decode_t_uint8(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint8t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value2, value2) }\n value0 := abi_decode_t_uint8(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, value0)\n mstore(add(pos, 32), value1)\n end := add(pos, 64)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function increment_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if eq(value_1, 0xff) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x12()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n}", - "id": 29, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 202 - }, - { - "length": 20, - "start": 326 - } - ] - } - }, - "object": "730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80635075dbfb146100505780637fa00da214610079578063b07ceab81461008c575b600080fd5b61006361005e3660046102f0565b61009f565b6040516100709190610330565b60405180910390f35b6100636100873660046102a6565b6100c3565b61006361009a3660046102c7565b61023c565b6000806100ac858461023c565b9050806100b985826103a3565b9695505050505050565b600080600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561010c57600080fd5b505af4158015610120573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610144919061028e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561018857600080fd5b505af415801561019c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c0919061028e565b6101ca9043610339565b6101d4919061034d565b905060015b8460ff168160ff161161023157826101f460ff83168461036c565b40604051602001610206929190610322565b604051602081830303815290604052805190602001209250808061022990610383565b9150506101d9565b50909150505b919050565b600080610248846100c3565b9050808360405160200161025d929190610322565b60408051808303601f190181529190528051602090910120949350505050565b803560ff8116811461023757600080fd5b60006020828403121561029f578081fd5b5051919050565b6000602082840312156102b7578081fd5b6102c08261027d565b9392505050565b600080604083850312156102d9578081fd5b6102e28361027d565b946020939093013593505050565b600080600060608486031215610304578081fd5b61030d8461027d565b95602085013595506040909401359392505050565b918252602082015260400190565b90815260200190565b600082610348576103486103cd565b500490565b6000816000190483118215151615610367576103676103b7565b500290565b60008282101561037e5761037e6103b7565b500390565b600060ff821660ff81141561039a5761039a6103b7565b60010192915050565b6000826103b2576103b26103cd565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220553509f86c68b682ac0d2b7e2d57ad298c819477cec3499acd4e038536499f3464736f6c63430008000033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5075DBFB EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x7FA00DA2 EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xB07CEAB8 EQ PUSH2 0x8C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x63 PUSH2 0x5E CALLDATASIZE PUSH1 0x4 PUSH2 0x2F0 JUMP JUMPDEST PUSH2 0x9F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x330 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x63 PUSH2 0x87 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A6 JUMP JUMPDEST PUSH2 0xC3 JUMP JUMPDEST PUSH2 0x63 PUSH2 0x9A CALLDATASIZE PUSH1 0x4 PUSH2 0x2C7 JUMP JUMPDEST PUSH2 0x23C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xAC DUP6 DUP5 PUSH2 0x23C JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0xB9 DUP6 DUP3 PUSH2 0x3A3 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x120 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x144 SWAP2 SWAP1 PUSH2 0x28E JUMP JUMPDEST PUSH20 0x0 PUSH4 0x57D775F8 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x188 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x19C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C0 SWAP2 SWAP1 PUSH2 0x28E JUMP JUMPDEST PUSH2 0x1CA SWAP1 NUMBER PUSH2 0x339 JUMP JUMPDEST PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0x34D JUMP JUMPDEST SWAP1 POP PUSH1 0x1 JUMPDEST DUP5 PUSH1 0xFF AND DUP2 PUSH1 0xFF AND GT PUSH2 0x231 JUMPI DUP3 PUSH2 0x1F4 PUSH1 0xFF DUP4 AND DUP5 PUSH2 0x36C JUMP JUMPDEST BLOCKHASH PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x206 SWAP3 SWAP2 SWAP1 PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP3 POP DUP1 DUP1 PUSH2 0x229 SWAP1 PUSH2 0x383 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1D9 JUMP JUMPDEST POP SWAP1 SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x248 DUP5 PUSH2 0xC3 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x25D SWAP3 SWAP2 SWAP1 PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP4 SUB PUSH1 0x1F NOT ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29F JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B7 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2C0 DUP3 PUSH2 0x27D JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2D9 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x2E2 DUP4 PUSH2 0x27D JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x304 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x30D DUP5 PUSH2 0x27D JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x348 JUMPI PUSH2 0x348 PUSH2 0x3CD JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x367 JUMPI PUSH2 0x367 PUSH2 0x3B7 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x37E JUMPI PUSH2 0x37E PUSH2 0x3B7 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 EQ ISZERO PUSH2 0x39A JUMPI PUSH2 0x39A PUSH2 0x3B7 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3B2 JUMPI PUSH2 0x3B2 PUSH2 0x3CD JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SSTORE CALLDATALOAD MULMOD 0xF8 PUSH13 0x68B682AC0D2B7E2D57AD298C81 SWAP5 PUSH24 0xCEC3499ACD4E038536499F3464736F6C6343000800003300 ", - "sourceMap": "92:1006:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;194:207;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;678:418;;;;;;:::i;:::-;;:::i;466:206::-;;;;;;:::i;:::-;;:::i;194:207::-;273:7;292:12;307:25;316:9;327:4;307:8;:25::i;:::-;292:40;-1:-1:-1;292:40:27;386:7;390:3;292:40;386:7;:::i;:::-;379:15;194:207;-1:-1:-1;;;;;;194:207:27:o;678:418::-;736:7;755:11;821:29;895:9;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;868:9;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;854:38;;:12;:38;:::i;:::-;853:66;;;;:::i;:::-;821:98;-1:-1:-1;944:1:27;929:140;952:9;947:14;;:1;:14;;;929:140;;1015:3;1030:25;;;;:21;:25;:::i;:::-;1020:36;998:59;;;;;;;;;:::i;:::-;;;;;;;;;;;;;988:70;;;;;;982:76;;963:3;;;;;:::i;:::-;;;;929:140;;;-1:-1:-1;1085:3:27;;-1:-1:-1;;678:418:27;;;;:::o;466:206::-;535:7;554:11;568:22;580:9;568:11;:22::i;:::-;554:36;;633:3;638:4;616:27;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;616:27:27;;;;;;606:38;;616:27;606:38;;;;;466:206;-1:-1:-1;;;;466:206:27:o;14:158:29:-;82:20;;142:4;131:16;;121:27;;111:2;;162:1;159;152:12;177:194;;300:2;288:9;279:7;275:23;271:32;268:2;;;321:6;313;306:22;268:2;-1:-1:-1;349:16:29;;258:113;-1:-1:-1;258:113:29:o;376:194::-;;486:2;474:9;465:7;461:23;457:32;454:2;;;507:6;499;492:22;454:2;535:29;554:9;535:29;:::i;:::-;525:39;444:126;-1:-1:-1;;;444:126:29:o;575:262::-;;;702:2;690:9;681:7;677:23;673:32;670:2;;;723:6;715;708:22;670:2;751:29;770:9;751:29;:::i;:::-;741:39;827:2;812:18;;;;799:32;;-1:-1:-1;;;660:177:29:o;842:330::-;;;;986:2;974:9;965:7;961:23;957:32;954:2;;;1007:6;999;992:22;954:2;1035:29;1054:9;1035:29;:::i;:::-;1025:39;1111:2;1096:18;;1083:32;;-1:-1:-1;1162:2:29;1147:18;;;1134:32;;944:228;-1:-1:-1;;;944:228:29:o;1177:247::-;1334:19;;;1378:2;1369:12;;1362:28;1415:2;1406:12;;1324:100::o;1429:185::-;1583:25;;;1571:2;1556:18;;1538:76::o;1809:120::-;;1875:1;1865:2;;1880:18;;:::i;:::-;-1:-1:-1;1914:9:29;;1855:74::o;1934:168::-;;2040:1;2036;2032:6;2028:14;2025:1;2022:21;2017:1;2010:9;2003:17;1999:45;1996:2;;;2047:18;;:::i;:::-;-1:-1:-1;2087:9:29;;1986:116::o;2107:125::-;;2175:1;2172;2169:8;2166:2;;;2180:18;;:::i;:::-;-1:-1:-1;2217:9:29;;2156:76::o;2237:175::-;;2318:4;2311:5;2307:16;2347:4;2338:7;2335:17;2332:2;;;2355:18;;:::i;:::-;2404:1;2391:15;;2282:130;-1:-1:-1;;2282:130:29:o;2417:112::-;;2475:1;2465:2;;2480:18;;:::i;:::-;-1:-1:-1;2514:9:29;;2455:74::o;2534:184::-;-1:-1:-1;;;2583:1:29;2576:88;2683:4;2680:1;2673:15;2707:4;2704:1;2697:15;2723:184;-1:-1:-1;;;2772:1:29;2765:88;2872:4;2869:1;2862:15;2896:4;2893:1;2886:15" - }, - "methodIdentifiers": { - "blockHashes(uint8)": "7fa00da2", - "prng(uint8,uint256,bytes32)": "5075dbfb", - "prngHash(uint8,bytes32)": "b07ceab8" - } - } - } - }, - "contracts/lib/Structs.sol": { - "Structs": { - "abi": [], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e0d805c0755810e7720ec9dfd9ceb27526cf5d4622cfe74e4c94b0ad39532a0664736f6c63430008000033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE0 0xD8 SDIV 0xC0 PUSH22 0x5810E7720EC9DFD9CEB27526CF5D4622CFE74E4C94B0 0xAD CODECOPY MSTORE8 0x2A MOD PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "65:1040:28:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1040:28;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e0d805c0755810e7720ec9dfd9ceb27526cf5d4622cfe74e4c94b0ad39532a0664736f6c63430008000033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE0 0xD8 SDIV 0xC0 PUSH22 0x5810E7720EC9DFD9CEB27526CF5D4622CFE74E4C94B0 0xAD CODECOPY MSTORE8 0x2A MOD PUSH5 0x736F6C6343 STOP ADDMOD STOP STOP CALLER ", - "sourceMap": "65:1040:28:-:0;;;;;;;;" - }, - "methodIdentifiers": {} - } - } - } - }, - "sources": { - "@openzeppelin/contracts/access/AccessControl.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", - "exportedSymbols": { - "AccessControl": [ - 322 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "IAccessControl": [ - 42 - ], - "IERC165": [ - 1031 - ] - }, - "id": 323, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:0" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../utils/Context.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 323, - "sourceUnit": 925, - "src": "58:30:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "file": "../utils/introspection/ERC165.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 323, - "sourceUnit": 1020, - "src": "89:43:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 4, - "nodeType": "StructuredDocumentation", - "src": "134:89:0", - "text": " @dev External interface of AccessControl declared to support ERC165 detection." - }, - "fullyImplemented": false, - "id": 42, - "linearizedBaseContracts": [ - 42 - ], - "name": "IAccessControl", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "91d14854", - "id": 13, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "hasRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "272:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "272:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 8, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "286:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "286:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "271:31:0" - }, - "returnParameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "326:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "326:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "325:6:0" - }, - "scope": 42, - "src": "255:77:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "248a9ca3", - "id": 20, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getRoleAdmin", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 20, - "src": "359:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 14, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "359:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "358:14:0" - }, - "returnParameters": { - "id": 19, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 20, - "src": "396:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 17, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "396:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "395:9:0" - }, - "scope": 42, - "src": "337:68:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "2f2ff15d", - "id": 27, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "grantRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 27, - "src": "429:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 21, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "429:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 27, - "src": "443:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 23, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "443:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "428:31:0" - }, - "returnParameters": { - "id": 26, - "nodeType": "ParameterList", - "parameters": [], - "src": "468:0:0" - }, - "scope": 42, - "src": "410:59:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "d547741f", - "id": 34, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 32, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 34, - "src": "494:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "494:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 31, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 34, - "src": "508:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "508:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "493:31:0" - }, - "returnParameters": { - "id": 33, - "nodeType": "ParameterList", - "parameters": [], - "src": "533:0:0" - }, - "scope": 42, - "src": "474:60:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "36568abe", - "id": 41, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "renounceRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 39, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 36, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 41, - "src": "561:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 35, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "561:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 38, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 41, - "src": "575:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 37, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "575:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "560:31:0" - }, - "returnParameters": { - "id": 40, - "nodeType": "ParameterList", - "parameters": [], - "src": "600:0:0" - }, - "scope": 42, - "src": "539:62:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 323, - "src": "224:379:0" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 44, - "name": "Context", - "nodeType": "IdentifierPath", - "referencedDeclaration": 924, - "src": "2175:7:0" - }, - "id": 45, - "nodeType": "InheritanceSpecifier", - "src": "2175:7:0" - }, - { - "baseName": { - "id": 46, - "name": "IAccessControl", - "nodeType": "IdentifierPath", - "referencedDeclaration": 42, - "src": "2184:14:0" - }, - "id": 47, - "nodeType": "InheritanceSpecifier", - "src": "2184:14:0" - }, - { - "baseName": { - "id": 48, - "name": "ERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1019, - "src": "2200:6:0" - }, - "id": 49, - "nodeType": "InheritanceSpecifier", - "src": "2200:6:0" - } - ], - "contractDependencies": [ - 42, - 924, - 1019, - 1031 - ], - "contractKind": "contract", - "documentation": { - "id": 43, - "nodeType": "StructuredDocumentation", - "src": "605:1534:0", - "text": " @dev Contract module that allows children to implement role-based access\n control mechanisms. This is a lightweight version that doesn't allow enumerating role\n members except through off-chain means by accessing the contract event logs. Some\n applications may benefit from on-chain enumerability, for those cases see\n {AccessControlEnumerable}.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```\n function foo() public {\n require(hasRole(MY_ROLE, msg.sender));\n ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it." - }, - "fullyImplemented": true, - "id": 322, - "linearizedBaseContracts": [ - 322, - 1019, - 1031, - 42, - 924 - ], - "name": "AccessControl", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "AccessControl.RoleData", - "id": 56, - "members": [ - { - "constant": false, - "id": 53, - "mutability": "mutable", - "name": "members", - "nodeType": "VariableDeclaration", - "scope": 56, - "src": "2239:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 52, - "keyType": { - "id": 50, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2248:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2239:25:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 51, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2259:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 55, - "mutability": "mutable", - "name": "adminRole", - "nodeType": "VariableDeclaration", - "scope": 56, - "src": "2282:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 54, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2282:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "name": "RoleData", - "nodeType": "StructDefinition", - "scope": 322, - "src": "2213:93:0", - "visibility": "public" - }, - { - "constant": false, - "id": 61, - "mutability": "mutable", - "name": "_roles", - "nodeType": "VariableDeclaration", - "scope": 322, - "src": "2312:44:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" - }, - "typeName": { - "id": 60, - "keyType": { - "id": 57, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2321:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2312:29:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" - }, - "valueType": { - "id": 59, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 58, - "name": "RoleData", - "nodeType": "IdentifierPath", - "referencedDeclaration": 56, - "src": "2332:8:0" - }, - "referencedDeclaration": 56, - "src": "2332:8:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage_ptr", - "typeString": "struct AccessControl.RoleData" - } - } - }, - "visibility": "private" - }, - { - "constant": true, - "functionSelector": "a217fddf", - "id": 64, - "mutability": "constant", - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "VariableDeclaration", - "scope": 322, - "src": "2363:49:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 62, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2363:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "30783030", - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2408:4:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": { - "id": 65, - "nodeType": "StructuredDocumentation", - "src": "2419:292:0", - "text": " @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted signaling this.\n _Available since v3.1._" - }, - "id": 73, - "name": "RoleAdminChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 72, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 67, - "indexed": true, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "2739:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 66, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2739:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 69, - "indexed": true, - "mutability": "mutable", - "name": "previousAdminRole", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "2761:33:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 68, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2761:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 71, - "indexed": true, - "mutability": "mutable", - "name": "newAdminRole", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "2796:28:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 70, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2796:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2738:87:0" - }, - "src": "2716:110:0" - }, - { - "anonymous": false, - "documentation": { - "id": 74, - "nodeType": "StructuredDocumentation", - "src": "2832:198:0", - "text": " @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call, an admin role\n bearer except when using {_setupRole}." - }, - "id": 82, - "name": "RoleGranted", - "nodeType": "EventDefinition", - "parameters": { - "id": 81, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76, - "indexed": true, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 82, - "src": "3053:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 75, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3053:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 78, - "indexed": true, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 82, - "src": "3075:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3075:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 82, - "src": "3100:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3100:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3052:71:0" - }, - "src": "3035:89:0" - }, - { - "anonymous": false, - "documentation": { - "id": 83, - "nodeType": "StructuredDocumentation", - "src": "3130:275:0", - "text": " @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)" - }, - "id": 91, - "name": "RoleRevoked", - "nodeType": "EventDefinition", - "parameters": { - "id": 90, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85, - "indexed": true, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "3428:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 84, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3428:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 87, - "indexed": true, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "3450:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 86, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3450:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 89, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "3475:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3475:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3427:71:0" - }, - "src": "3410:89:0" - }, - { - "baseFunctions": [ - 1018 - ], - "body": { - "id": 112, - "nodeType": "Block", - "src": "3657:123:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 100, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "3674:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 102, - "name": "IAccessControl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 42, - "src": "3694:14:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAccessControl_$42_$", - "typeString": "type(contract IAccessControl)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IAccessControl_$42_$", - "typeString": "type(contract IAccessControl)" - } - ], - "id": 101, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3689:4:0", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3689:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IAccessControl_$42", - "typeString": "type(contract IAccessControl)" - } - }, - "id": 104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "3689:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "3674:47:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 108, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "3761:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 106, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "3737:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_AccessControl_$322_$", - "typeString": "type(contract super AccessControl)" - } - }, - "id": 107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 1018, - "src": "3737:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3737:36:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3674:99:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 99, - "id": 111, - "nodeType": "Return", - "src": "3667:106:0" - } - ] - }, - "documentation": { - "id": 92, - "nodeType": "StructuredDocumentation", - "src": "3505:56:0", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 113, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 96, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3633:8:0" - }, - "parameters": { - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "scope": 113, - "src": "3593:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 93, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3593:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "3592:20:0" - }, - "returnParameters": { - "id": 99, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 98, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 113, - "src": "3651:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 97, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3651:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3650:6:0" - }, - "scope": 322, - "src": "3566:214:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 13 - ], - "body": { - "id": 131, - "nodeType": "Block", - "src": "3951:53:0", - "statements": [ - { - "expression": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 124, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "3968:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 126, - "indexExpression": { - "id": 125, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 116, - "src": "3975:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3968:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 127, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "members", - "nodeType": "MemberAccess", - "referencedDeclaration": 53, - "src": "3968:20:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 129, - "indexExpression": { - "id": 128, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 118, - "src": "3989:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3968:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 123, - "id": 130, - "nodeType": "Return", - "src": "3961:36:0" - } - ] - }, - "documentation": { - "id": 114, - "nodeType": "StructuredDocumentation", - "src": "3786:76:0", - "text": " @dev Returns `true` if `account` has been granted `role`." - }, - "functionSelector": "91d14854", - "id": 132, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "hasRole", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 120, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3927:8:0" - }, - "parameters": { - "id": 119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 116, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 132, - "src": "3884:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 115, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3884:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 118, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 132, - "src": "3898:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3898:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3883:31:0" - }, - "returnParameters": { - "id": 123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 122, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 132, - "src": "3945:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 121, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3945:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3944:6:0" - }, - "scope": 322, - "src": "3867:137:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 20 - ], - "body": { - "id": 146, - "nodeType": "Block", - "src": "4260:46:0", - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 141, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "4277:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 143, - "indexExpression": { - "id": 142, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 135, - "src": "4284:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4277:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "adminRole", - "nodeType": "MemberAccess", - "referencedDeclaration": 55, - "src": "4277:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 140, - "id": 145, - "nodeType": "Return", - "src": "4270:29:0" - } - ] - }, - "documentation": { - "id": 133, - "nodeType": "StructuredDocumentation", - "src": "4010:170:0", - "text": " @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}." - }, - "functionSelector": "248a9ca3", - "id": 147, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRoleAdmin", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 137, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4233:8:0" - }, - "parameters": { - "id": 136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 135, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 147, - "src": "4207:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 134, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4207:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4206:14:0" - }, - "returnParameters": { - "id": 140, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 139, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 147, - "src": "4251:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 138, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4251:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4250:9:0" - }, - "scope": 322, - "src": "4185:121:0", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 27 - ], - "body": { - "id": 172, - "nodeType": "Block", - "src": "4630:154:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 159, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "4669:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 158, - "name": "getRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "4656:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4656:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 161, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4676:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4676:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 157, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "4648:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4648:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e74", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4691:49:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811", - "typeString": "literal_string \"AccessControl: sender must be an admin to grant\"" - }, - "value": "AccessControl: sender must be an admin to grant" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811", - "typeString": "literal_string \"AccessControl: sender must be an admin to grant\"" - } - ], - "id": 156, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4640:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4640:101:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 166, - "nodeType": "ExpressionStatement", - "src": "4640:101:0" - }, - { - "expression": { - "arguments": [ - { - "id": 168, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "4763:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 169, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 152, - "src": "4769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 167, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "4752:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4752:25:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 171, - "nodeType": "ExpressionStatement", - "src": "4752:25:0" - } - ] - }, - "documentation": { - "id": 148, - "nodeType": "StructuredDocumentation", - "src": "4312:239:0", - "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role." - }, - "functionSelector": "2f2ff15d", - "id": 173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "grantRole", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 154, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4621:8:0" - }, - "parameters": { - "id": 153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 150, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 173, - "src": "4575:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 149, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4575:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 152, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 173, - "src": "4589:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 151, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4589:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4574:31:0" - }, - "returnParameters": { - "id": 155, - "nodeType": "ParameterList", - "parameters": [], - "src": "4630:0:0" - }, - "scope": 322, - "src": "4556:228:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 34 - ], - "body": { - "id": 198, - "nodeType": "Block", - "src": "5093:156:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 185, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 176, - "src": "5132:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 184, - "name": "getRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "5119:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5119:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 187, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5139:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5139:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 183, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "5111:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5111:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65", - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5154:50:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3", - "typeString": "literal_string \"AccessControl: sender must be an admin to revoke\"" - }, - "value": "AccessControl: sender must be an admin to revoke" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3", - "typeString": "literal_string \"AccessControl: sender must be an admin to revoke\"" - } - ], - "id": 182, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5103:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5103:102:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 192, - "nodeType": "ExpressionStatement", - "src": "5103:102:0" - }, - { - "expression": { - "arguments": [ - { - "id": 194, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 176, - "src": "5228:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 195, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "5234:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 193, - "name": "_revokeRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 321, - "src": "5216:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5216:26:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 197, - "nodeType": "ExpressionStatement", - "src": "5216:26:0" - } - ] - }, - "documentation": { - "id": 174, - "nodeType": "StructuredDocumentation", - "src": "4790:223:0", - "text": " @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role." - }, - "functionSelector": "d547741f", - "id": 199, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "revokeRole", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 180, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5084:8:0" - }, - "parameters": { - "id": 179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 176, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 199, - "src": "5038:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 175, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5038:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 178, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 199, - "src": "5052:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5052:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5037:31:0" - }, - "returnParameters": { - "id": 181, - "nodeType": "ParameterList", - "parameters": [], - "src": "5093:0:0" - }, - "scope": 322, - "src": "5018:231:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 41 - ], - "body": { - "id": 221, - "nodeType": "Block", - "src": "5817:137:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 209, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "5835:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 210, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5846:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5846:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5835:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66", - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5860:49:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", - "typeString": "literal_string \"AccessControl: can only renounce roles for self\"" - }, - "value": "AccessControl: can only renounce roles for self" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", - "typeString": "literal_string \"AccessControl: can only renounce roles for self\"" - } - ], - "id": 208, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5827:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5827:83:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 215, - "nodeType": "ExpressionStatement", - "src": "5827:83:0" - }, - { - "expression": { - "arguments": [ - { - "id": 217, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 202, - "src": "5933:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 218, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "5939:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 216, - "name": "_revokeRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 321, - "src": "5921:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5921:26:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 220, - "nodeType": "ExpressionStatement", - "src": "5921:26:0" - } - ] - }, - "documentation": { - "id": 200, - "nodeType": "StructuredDocumentation", - "src": "5255:480:0", - "text": " @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`." - }, - "functionSelector": "36568abe", - "id": 222, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "renounceRole", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 206, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5808:8:0" - }, - "parameters": { - "id": 205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 202, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 222, - "src": "5762:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 201, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5762:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 204, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 222, - "src": "5776:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5776:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5761:31:0" - }, - "returnParameters": { - "id": 207, - "nodeType": "ParameterList", - "parameters": [], - "src": "5817:0:0" - }, - "scope": 322, - "src": "5740:214:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 235, - "nodeType": "Block", - "src": "6587:42:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 231, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "6608:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 232, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 227, - "src": "6614:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 230, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 291, - "src": "6597:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6597:25:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 234, - "nodeType": "ExpressionStatement", - "src": "6597:25:0" - } - ] - }, - "documentation": { - "id": 223, - "nodeType": "StructuredDocumentation", - "src": "5960:554:0", - "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event. Note that unlike {grantRole}, this function doesn't perform any\n checks on the calling account.\n [WARNING]\n ====\n This function should only be called from the constructor when setting\n up the initial roles for the system.\n Using this function in any other way is effectively circumventing the admin\n system imposed by {AccessControl}.\n ====" - }, - "id": 236, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setupRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 225, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 236, - "src": "6539:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 224, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6539:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 227, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 236, - "src": "6553:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 226, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6553:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6538:31:0" - }, - "returnParameters": { - "id": 229, - "nodeType": "ParameterList", - "parameters": [], - "src": "6587:0:0" - }, - "scope": 322, - "src": "6519:110:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 259, - "nodeType": "Block", - "src": "6827:119:0", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 245, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "6859:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "id": 247, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "6878:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 246, - "name": "getRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "6865:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6865:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 249, - "name": "adminRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "6885:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 244, - "name": "RoleAdminChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "6842:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32,bytes32)" - } - }, - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6842:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 251, - "nodeType": "EmitStatement", - "src": "6837:58:0" - }, - { - "expression": { - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 252, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "6905:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 254, - "indexExpression": { - "id": 253, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "6912:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6905:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "adminRole", - "nodeType": "MemberAccess", - "referencedDeclaration": 55, - "src": "6905:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 256, - "name": "adminRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "6930:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "6905:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 258, - "nodeType": "ExpressionStatement", - "src": "6905:34:0" - } - ] - }, - "documentation": { - "id": 237, - "nodeType": "StructuredDocumentation", - "src": "6635:114:0", - "text": " @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event." - }, - "id": 260, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setRoleAdmin", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 239, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "6777:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 238, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6777:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 241, - "mutability": "mutable", - "name": "adminRole", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "6791:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 240, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6791:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "6776:33:0" - }, - "returnParameters": { - "id": 243, - "nodeType": "ParameterList", - "parameters": [], - "src": "6827:0:0" - }, - "scope": 322, - "src": "6754:192:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 290, - "nodeType": "Block", - "src": "7011:165:0", - "statements": [ - { - "condition": { - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7025:23:0", - "subExpression": { - "arguments": [ - { - "id": 268, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "7034:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 269, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 264, - "src": "7040:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 267, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "7026:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7026:22:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 289, - "nodeType": "IfStatement", - "src": "7021:149:0", - "trueBody": { - "id": 288, - "nodeType": "Block", - "src": "7050:120:0", - "statements": [ - { - "expression": { - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 272, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "7064:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 274, - "indexExpression": { - "id": 273, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "7071:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7064:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 275, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "members", - "nodeType": "MemberAccess", - "referencedDeclaration": 53, - "src": "7064:20:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 277, - "indexExpression": { - "id": 276, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 264, - "src": "7085:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7064:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7096:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7064:36:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 280, - "nodeType": "ExpressionStatement", - "src": "7064:36:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 282, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "7131:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 283, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 264, - "src": "7137:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 284, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "7146:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 281, - "name": "RoleGranted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82, - "src": "7119:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", - "typeString": "function (bytes32,address,address)" - } - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7119:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 287, - "nodeType": "EmitStatement", - "src": "7114:45:0" - } - ] - } - } - ] - }, - "id": 291, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_grantRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 265, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 262, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "6972:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 261, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6972:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 264, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "6986:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6986:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6971:31:0" - }, - "returnParameters": { - "id": 266, - "nodeType": "ParameterList", - "parameters": [], - "src": "7011:0:0" - }, - "scope": 322, - "src": "6952:224:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 320, - "nodeType": "Block", - "src": "7242:165:0", - "statements": [ - { - "condition": { - "arguments": [ - { - "id": 299, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "7264:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 300, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "7270:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 298, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "7256:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7256:22:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 319, - "nodeType": "IfStatement", - "src": "7252:149:0", - "trueBody": { - "id": 318, - "nodeType": "Block", - "src": "7280:121:0", - "statements": [ - { - "expression": { - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 302, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "7294:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$56_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 304, - "indexExpression": { - "id": 303, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "7301:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7294:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$56_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 305, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "members", - "nodeType": "MemberAccess", - "referencedDeclaration": 53, - "src": "7294:20:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 307, - "indexExpression": { - "id": 306, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "7315:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7294:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7326:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "7294:37:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 310, - "nodeType": "ExpressionStatement", - "src": "7294:37:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 312, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "7362:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 313, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "7368:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 314, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "7377:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7377:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 311, - "name": "RoleRevoked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91, - "src": "7350:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", - "typeString": "function (bytes32,address,address)" - } - }, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7350:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 317, - "nodeType": "EmitStatement", - "src": "7345:45:0" - } - ] - } - } - ] - }, - "id": 321, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revokeRole", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 293, - "mutability": "mutable", - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 321, - "src": "7203:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 292, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7203:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 295, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 321, - "src": "7217:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7217:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "7202:31:0" - }, - "returnParameters": { - "id": 297, - "nodeType": "ParameterList", - "parameters": [], - "src": "7242:0:0" - }, - "scope": 322, - "src": "7182:225:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 323, - "src": "2140:5269:0" - } - ], - "src": "33:7377:0" - }, - "id": 0 - }, - "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "Context": [ - 924 - ], - "ERC20": [ - 823 - ], - "IERC20": [ - 901 - ] - }, - "id": 824, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 324, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:1" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 325, - "nodeType": "ImportDirective", - "scope": 824, - "sourceUnit": 902, - "src": "58:22:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 326, - "nodeType": "ImportDirective", - "scope": 824, - "sourceUnit": 925, - "src": "81:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 328, - "name": "Context", - "nodeType": "IdentifierPath", - "referencedDeclaration": 924, - "src": "1297:7:1" - }, - "id": 329, - "nodeType": "InheritanceSpecifier", - "src": "1297:7:1" - }, - { - "baseName": { - "id": 330, - "name": "IERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 901, - "src": "1306:6:1" - }, - "id": 331, - "nodeType": "InheritanceSpecifier", - "src": "1306:6:1" - } - ], - "contractDependencies": [ - 901, - 924 - ], - "contractKind": "contract", - "documentation": { - "id": 327, - "nodeType": "StructuredDocumentation", - "src": "116:1162:1", - "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 For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin guidelines: functions revert instead\n of returning `false` on failure. This behavior is nonetheless conventional\n and does not conflict with the expectations of ERC20 applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." - }, - "fullyImplemented": true, - "id": 823, - "linearizedBaseContracts": [ - 823, - 901, - 924 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 335, - "mutability": "mutable", - "name": "_balances", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "1319:46:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 334, - "keyType": { - "id": 332, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1328:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1319:28:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 333, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1339:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 341, - "mutability": "mutable", - "name": "_allowances", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "1372:69:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 340, - "keyType": { - "id": 336, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1381:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1372:49:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 339, - "keyType": { - "id": 337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1401:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1392:28:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1412:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 343, - "mutability": "mutable", - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "1448:28:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 342, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1448:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 345, - "mutability": "mutable", - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "1483:20:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 344, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1483:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 347, - "mutability": "mutable", - "name": "_symbol", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "1509:22:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 346, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1509:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 363, - "nodeType": "Block", - "src": "1899:57:1", - "statements": [ - { - "expression": { - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 355, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 345, - "src": "1909:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 356, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 350, - "src": "1917:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1909:13:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 358, - "nodeType": "ExpressionStatement", - "src": "1909:13:1" - }, - { - "expression": { - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 359, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 347, - "src": "1932:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 360, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 352, - "src": "1942:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1932:17:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 362, - "nodeType": "ExpressionStatement", - "src": "1932:17:1" - } - ] - }, - "documentation": { - "id": 348, - "nodeType": "StructuredDocumentation", - "src": "1538:299:1", - "text": " @dev Sets the values for {name} and {symbol}.\n The defaut value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All three of these values are immutable: they can only be set once during\n construction." - }, - "id": 364, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 350, - "mutability": "mutable", - "name": "name_", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "1855:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 349, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1855:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 352, - "mutability": "mutable", - "name": "symbol_", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "1876:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 351, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1876:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1854:44:1" - }, - "returnParameters": { - "id": 354, - "nodeType": "ParameterList", - "parameters": [], - "src": "1899:0:1" - }, - "scope": 823, - "src": "1842:114:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 372, - "nodeType": "Block", - "src": "2081:29:1", - "statements": [ - { - "expression": { - "id": 370, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 345, - "src": "2098:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 369, - "id": 371, - "nodeType": "Return", - "src": "2091:12:1" - } - ] - }, - "documentation": { - "id": 365, - "nodeType": "StructuredDocumentation", - "src": "1962:54:1", - "text": " @dev Returns the name of the token." - }, - "functionSelector": "06fdde03", - "id": 373, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 366, - "nodeType": "ParameterList", - "parameters": [], - "src": "2034:2:1" - }, - "returnParameters": { - "id": 369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 368, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 373, - "src": "2066:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 367, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2066:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2065:15:1" - }, - "scope": 823, - "src": "2021:89:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "2285:31:1", - "statements": [ - { - "expression": { - "id": 379, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 347, - "src": "2302:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 378, - "id": 380, - "nodeType": "Return", - "src": "2295:14:1" - } - ] - }, - "documentation": { - "id": 374, - "nodeType": "StructuredDocumentation", - "src": "2116:102:1", - "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." - }, - "functionSelector": "95d89b41", - "id": 382, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 375, - "nodeType": "ParameterList", - "parameters": [], - "src": "2238:2:1" - }, - "returnParameters": { - "id": 378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 377, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 382, - "src": "2270:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 376, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2270:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2269:15:1" - }, - "scope": 823, - "src": "2223:93:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 390, - "nodeType": "Block", - "src": "2996:26:1", - "statements": [ - { - "expression": { - "hexValue": "3138", - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3013:2:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "functionReturnParameters": 387, - "id": 389, - "nodeType": "Return", - "src": "3006:9:1" - } - ] - }, - "documentation": { - "id": 383, - "nodeType": "StructuredDocumentation", - "src": "2322:613:1", - "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 value {ERC20} uses, unless this function is\n overloaded;\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": 391, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 384, - "nodeType": "ParameterList", - "parameters": [], - "src": "2957:2:1" - }, - "returnParameters": { - "id": 387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 386, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 391, - "src": "2989:5:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 385, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2989:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "2988:7:1" - }, - "scope": 823, - "src": "2940:82:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 832 - ], - "body": { - "id": 400, - "nodeType": "Block", - "src": "3152:36:1", - "statements": [ - { - "expression": { - "id": 398, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "3169:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 397, - "id": 399, - "nodeType": "Return", - "src": "3162:19:1" - } - ] - }, - "documentation": { - "id": 392, - "nodeType": "StructuredDocumentation", - "src": "3028:49:1", - "text": " @dev See {IERC20-totalSupply}." - }, - "functionSelector": "18160ddd", - "id": 401, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 394, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3125:8:1" - }, - "parameters": { - "id": 393, - "nodeType": "ParameterList", - "parameters": [], - "src": "3102:2:1" - }, - "returnParameters": { - "id": 397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 396, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 401, - "src": "3143:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3143:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3142:9:1" - }, - "scope": 823, - "src": "3082:106:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 840 - ], - "body": { - "id": 414, - "nodeType": "Block", - "src": "3329:42:1", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 410, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "3346:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 412, - "indexExpression": { - "id": 411, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "3356:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3346:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 409, - "id": 413, - "nodeType": "Return", - "src": "3339:25:1" - } - ] - }, - "documentation": { - "id": 402, - "nodeType": "StructuredDocumentation", - "src": "3194:47:1", - "text": " @dev See {IERC20-balanceOf}." - }, - "functionSelector": "70a08231", - "id": 415, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 406, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3302:8:1" - }, - "parameters": { - "id": 405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 404, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 415, - "src": "3265:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 403, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3265:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3264:17:1" - }, - "returnParameters": { - "id": 409, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 408, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 415, - "src": "3320:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3320:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3319:9:1" - }, - "scope": 823, - "src": "3246:125:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 850 - ], - "body": { - "id": 435, - "nodeType": "Block", - "src": "3666:80:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 427, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "3686:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3686:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 429, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 418, - "src": "3700:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 430, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 420, - "src": "3711:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 426, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "3676:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3676:42:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 432, - "nodeType": "ExpressionStatement", - "src": "3676:42:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3735:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 425, - "id": 434, - "nodeType": "Return", - "src": "3728:11:1" - } - ] - }, - "documentation": { - "id": 416, - "nodeType": "StructuredDocumentation", - "src": "3377:192:1", - "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `recipient` cannot be the zero address.\n - the caller must have a balance of at least `amount`." - }, - "functionSelector": "a9059cbb", - "id": 436, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 422, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3642:8:1" - }, - "parameters": { - "id": 421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 418, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 436, - "src": "3592:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 417, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3592:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 420, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 436, - "src": "3611:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 419, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3611:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3591:35:1" - }, - "returnParameters": { - "id": 425, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 424, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 436, - "src": "3660:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 423, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3660:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3659:6:1" - }, - "scope": 823, - "src": "3574:172:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 860 - ], - "body": { - "id": 453, - "nodeType": "Block", - "src": "3902:51:1", - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 447, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "3919:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 449, - "indexExpression": { - "id": 448, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 439, - "src": "3931:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3919:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 451, - "indexExpression": { - "id": 450, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 441, - "src": "3938:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3919:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 446, - "id": 452, - "nodeType": "Return", - "src": "3912:34:1" - } - ] - }, - "documentation": { - "id": 437, - "nodeType": "StructuredDocumentation", - "src": "3752:47:1", - "text": " @dev See {IERC20-allowance}." - }, - "functionSelector": "dd62ed3e", - "id": 454, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 443, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3875:8:1" - }, - "parameters": { - "id": 442, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 439, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 454, - "src": "3823:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 438, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3823:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 441, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 454, - "src": "3838:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 440, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3838:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3822:32:1" - }, - "returnParameters": { - "id": 446, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 445, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 454, - "src": "3893:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3893:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3892:9:1" - }, - "scope": 823, - "src": "3804:149:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 870 - ], - "body": { - "id": 474, - "nodeType": "Block", - "src": "4180:77:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 466, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4199:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4199:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 468, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 457, - "src": "4213:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 469, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 459, - "src": "4222:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 465, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "4190:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4190:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 471, - "nodeType": "ExpressionStatement", - "src": "4190:39:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4246:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 464, - "id": 473, - "nodeType": "Return", - "src": "4239:11:1" - } - ] - }, - "documentation": { - "id": 455, - "nodeType": "StructuredDocumentation", - "src": "3959:127:1", - "text": " @dev See {IERC20-approve}.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "095ea7b3", - "id": 475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 461, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4156:8:1" - }, - "parameters": { - "id": 460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 457, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "4108:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 456, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4108:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 459, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "4125:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4125:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4107:33:1" - }, - "returnParameters": { - "id": 464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 463, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "4174:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 462, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4174:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4173:6:1" - }, - "scope": 823, - "src": "4091:166:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 882 - ], - "body": { - "id": 521, - "nodeType": "Block", - "src": "4836:302:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 489, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 478, - "src": "4856:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 490, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 480, - "src": "4864:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 491, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 482, - "src": "4875:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 488, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "4846:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4846:36:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "4846:36:1" - }, - { - "assignments": [ - 495 - ], - "declarations": [ - { - "constant": false, - "id": 495, - "mutability": "mutable", - "name": "currentAllowance", - "nodeType": "VariableDeclaration", - "scope": 521, - "src": "4893:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4893:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 502, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 496, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4920:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 498, - "indexExpression": { - "id": 497, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 478, - "src": "4932:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4920:19:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 501, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 499, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4940:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4940:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4920:33:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4893:60:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 504, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "4971:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 505, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 482, - "src": "4991:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4971:26:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4999:42:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - }, - "value": "ERC20: transfer amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - } - ], - "id": 503, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4963:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4963:79:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 509, - "nodeType": "ExpressionStatement", - "src": "4963:79:1" - }, - { - "expression": { - "arguments": [ - { - "id": 511, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 478, - "src": "5061:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 512, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5069:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5069:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 514, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "5083:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 515, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 482, - "src": "5102:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5083:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 510, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "5052:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5052:57:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 518, - "nodeType": "ExpressionStatement", - "src": "5052:57:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5127:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 487, - "id": 520, - "nodeType": "Return", - "src": "5120:11:1" - } - ] - }, - "documentation": { - "id": 476, - "nodeType": "StructuredDocumentation", - "src": "4263:456:1", - "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n Requirements:\n - `sender` and `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`.\n - the caller must have allowance for ``sender``'s tokens of at least\n `amount`." - }, - "functionSelector": "23b872dd", - "id": 522, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 484, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4812:8:1" - }, - "parameters": { - "id": 483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 478, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 522, - "src": "4746:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4746:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 480, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 522, - "src": "4762:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 479, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4762:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 482, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 522, - "src": "4781:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4781:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4745:51:1" - }, - "returnParameters": { - "id": 487, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 486, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 522, - "src": "4830:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 485, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4830:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4829:6:1" - }, - "scope": 823, - "src": "4724:414:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 548, - "nodeType": "Block", - "src": "5627:118:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 533, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5646:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5646:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 535, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "5660:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 536, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "5669:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 539, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 537, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "5681:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5681:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5669:25:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 541, - "indexExpression": { - "id": 540, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "5695:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5669:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 542, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "5706:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5669:47:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 532, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "5637:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5637:80:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 545, - "nodeType": "ExpressionStatement", - "src": "5637:80:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5734:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 531, - "id": 547, - "nodeType": "Return", - "src": "5727:11:1" - } - ] - }, - "documentation": { - "id": 523, - "nodeType": "StructuredDocumentation", - "src": "5144:384:1", - "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "39509351", - "id": 549, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 528, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 525, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 549, - "src": "5560:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 524, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5560:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 527, - "mutability": "mutable", - "name": "addedValue", - "nodeType": "VariableDeclaration", - "scope": 549, - "src": "5577:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5577:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5559:37:1" - }, - "returnParameters": { - "id": 531, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 530, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 549, - "src": "5621:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 529, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5621:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5620:6:1" - }, - "scope": 823, - "src": "5533:212:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 586, - "nodeType": "Block", - "src": "6331:272:1", - "statements": [ - { - "assignments": [ - 560 - ], - "declarations": [ - { - "constant": false, - "id": 560, - "mutability": "mutable", - "name": "currentAllowance", - "nodeType": "VariableDeclaration", - "scope": 586, - "src": "6341:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6341:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 567, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 561, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "6368:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 564, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 562, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "6380:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6380:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6368:25:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 566, - "indexExpression": { - "id": 565, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 552, - "src": "6394:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6368:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6341:61:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 569, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 560, - "src": "6420:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 570, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "6440:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6420:35:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6457:39:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "id": 568, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6412:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6412:85:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 574, - "nodeType": "ExpressionStatement", - "src": "6412:85:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 576, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "6516:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6516:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 578, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 552, - "src": "6530:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 579, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 560, - "src": "6539:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 580, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "6558:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6539:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 575, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "6507:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6507:67:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 583, - "nodeType": "ExpressionStatement", - "src": "6507:67:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6592:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 558, - "id": 585, - "nodeType": "Return", - "src": "6585:11:1" - } - ] - }, - "documentation": { - "id": 550, - "nodeType": "StructuredDocumentation", - "src": "5751:476:1", - "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." - }, - "functionSelector": "a457c2d7", - "id": 587, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 555, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 552, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 587, - "src": "6259:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6259:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 554, - "mutability": "mutable", - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "scope": 587, - "src": "6276:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6276:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6258:42:1" - }, - "returnParameters": { - "id": 558, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 557, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 587, - "src": "6325:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 556, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6325:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6324:6:1" - }, - "scope": 823, - "src": "6232:371:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 656, - "nodeType": "Block", - "src": "7164:505:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 598, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "7182:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7200:1:1", - "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": 600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7192:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 599, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7192:7:1", - "typeDescriptions": {} - } - }, - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7192:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7182:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7204:39:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 597, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7174:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7174:70:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 606, - "nodeType": "ExpressionStatement", - "src": "7174:70:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 608, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "7262:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7283:1:1", - "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": 610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7275:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 609, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7275:7:1", - "typeDescriptions": {} - } - }, - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7275:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7262:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7287:37:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 607, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7254:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7254:71:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 616, - "nodeType": "ExpressionStatement", - "src": "7254:71:1" - }, - { - "expression": { - "arguments": [ - { - "id": 618, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "7357:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 619, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "7365:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 620, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "7376:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 617, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "7336:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7336:47:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 622, - "nodeType": "ExpressionStatement", - "src": "7336:47:1" - }, - { - "assignments": [ - 624 - ], - "declarations": [ - { - "constant": false, - "id": 624, - "mutability": "mutable", - "name": "senderBalance", - "nodeType": "VariableDeclaration", - "scope": 656, - "src": "7394:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7394:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 628, - "initialValue": { - "baseExpression": { - "id": 625, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "7418:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 627, - "indexExpression": { - "id": 626, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "7428:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7418:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7394:41:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 630, - "name": "senderBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 624, - "src": "7453:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 631, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "7470:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7453:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7478:40:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "id": 629, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7445:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7445:74:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 635, - "nodeType": "ExpressionStatement", - "src": "7445:74:1" - }, - { - "expression": { - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 636, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "7529:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 638, - "indexExpression": { - "id": 637, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "7539:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7529:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 639, - "name": "senderBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 624, - "src": "7549:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 640, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "7565:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7549:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7529:42:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 643, - "nodeType": "ExpressionStatement", - "src": "7529:42:1" - }, - { - "expression": { - "id": 648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 644, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "7581:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 646, - "indexExpression": { - "id": 645, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "7591:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7581:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 647, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "7605:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7581:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 649, - "nodeType": "ExpressionStatement", - "src": "7581:30:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 651, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "7636:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 652, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "7644:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 653, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "7655:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 650, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "7627:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7627:35:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 655, - "nodeType": "EmitStatement", - "src": "7622:40:1" - } - ] - }, - "documentation": { - "id": 588, - "nodeType": "StructuredDocumentation", - "src": "6609:463:1", - "text": " @dev Moves tokens `amount` from `sender` to `recipient`.\n This is 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 Requirements:\n - `sender` cannot be the zero address.\n - `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`." - }, - "id": 657, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 590, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 657, - "src": "7096:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 589, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7096:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 592, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 657, - "src": "7112:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7112:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 594, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 657, - "src": "7131:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7131:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7095:51:1" - }, - "returnParameters": { - "id": 596, - "nodeType": "ParameterList", - "parameters": [], - "src": "7164:0:1" - }, - "scope": 823, - "src": "7077:592:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 703, - "nodeType": "Block", - "src": "8005:265:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 666, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "8023:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8042:1:1", - "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": 668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8034:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 667, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8034:7:1", - "typeDescriptions": {} - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8034:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8023:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8046:33:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 665, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8015:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8015:65:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 674, - "nodeType": "ExpressionStatement", - "src": "8015:65:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8120:1:1", - "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": 677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8112:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8112:7:1", - "typeDescriptions": {} - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8112:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 680, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "8124:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 681, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 662, - "src": "8133:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 675, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "8091:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8091:49:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 683, - "nodeType": "ExpressionStatement", - "src": "8091:49:1" - }, - { - "expression": { - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 684, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "8151:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 685, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 662, - "src": "8167:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8151:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 687, - "nodeType": "ExpressionStatement", - "src": "8151:22:1" - }, - { - "expression": { - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 688, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "8183:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 690, - "indexExpression": { - "id": 689, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "8193:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8183:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 691, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 662, - "src": "8205:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8183:28:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 693, - "nodeType": "ExpressionStatement", - "src": "8183:28:1" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8243:1:1", - "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": 696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8235:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8235:7:1", - "typeDescriptions": {} - } - }, - "id": 698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8235:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 699, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "8247:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 700, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 662, - "src": "8256:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 694, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "8226:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8226:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 702, - "nodeType": "EmitStatement", - "src": "8221:42:1" - } - ] - }, - "documentation": { - "id": 658, - "nodeType": "StructuredDocumentation", - "src": "7675:260:1", - "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `to` cannot be the zero address." - }, - "id": 704, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 660, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 704, - "src": "7955:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7955:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 662, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 704, - "src": "7972:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7972:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7954:33:1" - }, - "returnParameters": { - "id": 664, - "nodeType": "ParameterList", - "parameters": [], - "src": "8005:0:1" - }, - "scope": 823, - "src": "7940:330:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 765, - "nodeType": "Block", - "src": "8655:418:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 713, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "8673:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8692:1:1", - "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": 715, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8684:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8684:7:1", - "typeDescriptions": {} - } - }, - "id": 717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8684:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8673:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8696:35:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 712, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8665:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8665:67:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 721, - "nodeType": "ExpressionStatement", - "src": "8665:67:1" - }, - { - "expression": { - "arguments": [ - { - "id": 723, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "8764:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8781:1:1", - "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": 725, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8773:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8773:7:1", - "typeDescriptions": {} - } - }, - "id": 727, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8773:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 728, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "8785:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 722, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "8743:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8743:49:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 730, - "nodeType": "ExpressionStatement", - "src": "8743:49:1" - }, - { - "assignments": [ - 732 - ], - "declarations": [ - { - "constant": false, - "id": 732, - "mutability": "mutable", - "name": "accountBalance", - "nodeType": "VariableDeclaration", - "scope": 765, - "src": "8803:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 731, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8803:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 736, - "initialValue": { - "baseExpression": { - "id": 733, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "8828:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 735, - "indexExpression": { - "id": 734, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "8838:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8828:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8803:43:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 738, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "8864:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "8882:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8864:24:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8890:36:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "id": 737, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8856:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8856:71:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 743, - "nodeType": "ExpressionStatement", - "src": "8856:71:1" - }, - { - "expression": { - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 744, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 335, - "src": "8937:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 746, - "indexExpression": { - "id": 745, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "8947:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8937:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 747, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "8958:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 748, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "8975:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8958:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8937:44:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 751, - "nodeType": "ExpressionStatement", - "src": "8937:44:1" - }, - { - "expression": { - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 752, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "8991:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 753, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "9007:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8991:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 755, - "nodeType": "ExpressionStatement", - "src": "8991:22:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 757, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "9038:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9055:1:1", - "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": 759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9047:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9047:7:1", - "typeDescriptions": {} - } - }, - "id": 761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9047:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 762, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "9059:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 756, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "9029:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9029:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 764, - "nodeType": "EmitStatement", - "src": "9024:42:1" - } - ] - }, - "documentation": { - "id": 705, - "nodeType": "StructuredDocumentation", - "src": "8276:309:1", - "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." - }, - "id": 766, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 707, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 766, - "src": "8605:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8605:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 709, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 766, - "src": "8622:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8622:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8604:33:1" - }, - "returnParameters": { - "id": 711, - "nodeType": "ParameterList", - "parameters": [], - "src": "8655:0:1" - }, - "scope": 823, - "src": "8590:483:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 810, - "nodeType": "Block", - "src": "9579:257:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 777, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "9597:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9614:1:1", - "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": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9606:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9606:7:1", - "typeDescriptions": {} - } - }, - "id": 781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9606:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9597:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9618:38:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 776, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9589:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9589:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 785, - "nodeType": "ExpressionStatement", - "src": "9589:68:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 787, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 771, - "src": "9675:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9694:1:1", - "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": 789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9686:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 788, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9686:7:1", - "typeDescriptions": {} - } - }, - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9686:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9675:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9698:36:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 786, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9667:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9667:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 795, - "nodeType": "ExpressionStatement", - "src": "9667:68:1" - }, - { - "expression": { - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 796, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "9746:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 799, - "indexExpression": { - "id": 797, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "9758:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9746:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 800, - "indexExpression": { - "id": 798, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 771, - "src": "9765:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9746:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 801, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "9776:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9746:36:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 803, - "nodeType": "ExpressionStatement", - "src": "9746:36:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 805, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "9806:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 806, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 771, - "src": "9813:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 807, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 773, - "src": "9822:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 804, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "9797:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9797:32:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 809, - "nodeType": "EmitStatement", - "src": "9792:37:1" - } - ] - }, - "documentation": { - "id": 767, - "nodeType": "StructuredDocumentation", - "src": "9079:412:1", - "text": " @dev Sets `amount` 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." - }, - "id": 811, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 769, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 811, - "src": "9514:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 768, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9514:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 771, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 811, - "src": "9529:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9529:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 773, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 811, - "src": "9546:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 772, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9546:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9513:48:1" - }, - "returnParameters": { - "id": 775, - "nodeType": "ParameterList", - "parameters": [], - "src": "9579:0:1" - }, - "scope": 823, - "src": "9496:340:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 821, - "nodeType": "Block", - "src": "10512:3:1", - "statements": [] - }, - "documentation": { - "id": 812, - "nodeType": "StructuredDocumentation", - "src": "9842:576:1", - "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be to transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 822, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 814, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "10453:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 813, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10453:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 816, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "10467:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10467:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 818, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "10479:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10479:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10452:42:1" - }, - "returnParameters": { - "id": 820, - "nodeType": "ParameterList", - "parameters": [], - "src": "10512:0:1" - }, - "scope": 823, - "src": "10423:92:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 824, - "src": "1279:9238:1" - } - ], - "src": "33:10485:1" - }, - "id": 1 - }, - "@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 901 - ] - }, - "id": 902, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 825, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:2" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 826, - "nodeType": "StructuredDocumentation", - "src": "58:70:2", - "text": " @dev Interface of the ERC20 standard as defined in the EIP." - }, - "fullyImplemented": false, - "id": 901, - "linearizedBaseContracts": [ - 901 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 827, - "nodeType": "StructuredDocumentation", - "src": "152:66:2", - "text": " @dev Returns the amount of tokens in existence." - }, - "functionSelector": "18160ddd", - "id": 832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 828, - "nodeType": "ParameterList", - "parameters": [], - "src": "243:2:2" - }, - "returnParameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 830, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 832, - "src": "269:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "269:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "268:9:2" - }, - "scope": 901, - "src": "223:55:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 833, - "nodeType": "StructuredDocumentation", - "src": "284:72:2", - "text": " @dev Returns the amount of tokens owned by `account`." - }, - "functionSelector": "70a08231", - "id": 840, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 835, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 840, - "src": "380:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 834, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "380:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "379:17:2" - }, - "returnParameters": { - "id": 839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 838, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 840, - "src": "420:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "420:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "419:9:2" - }, - "scope": 901, - "src": "361:68:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 841, - "nodeType": "StructuredDocumentation", - "src": "435:209:2", - "text": " @dev Moves `amount` tokens from the caller's account to `recipient`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." - }, - "functionSelector": "a9059cbb", - "id": 850, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 846, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 843, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 850, - "src": "667:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "667:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 845, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 850, - "src": "686:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "686:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "666:35:2" - }, - "returnParameters": { - "id": 849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 848, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 850, - "src": "720:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 847, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "720:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "719:6:2" - }, - "scope": 901, - "src": "649:77:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 851, - "nodeType": "StructuredDocumentation", - "src": "732:264:2", - "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": 860, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 853, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 860, - "src": "1020:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 852, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1020:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 855, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 860, - "src": "1035:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1035:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1019:32:2" - }, - "returnParameters": { - "id": 859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 858, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 860, - "src": "1075:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 857, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1075:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1074:9:2" - }, - "scope": 901, - "src": "1001:83:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 861, - "nodeType": "StructuredDocumentation", - "src": "1090:642:2", - "text": " @dev Sets `amount` as the allowance of `spender` over the 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": 870, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 863, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 870, - "src": "1754:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1754:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 865, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 870, - "src": "1771:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1771:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1753:33:2" - }, - "returnParameters": { - "id": 869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 868, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 870, - "src": "1805:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 867, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1805:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1804:6:2" - }, - "scope": 901, - "src": "1737:74:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 871, - "nodeType": "StructuredDocumentation", - "src": "1817:296:2", - "text": " @dev Moves `amount` tokens from `sender` to `recipient` using the\n allowance mechanism. `amount` 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": 882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 873, - "mutability": "mutable", - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "2140:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2140:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 875, - "mutability": "mutable", - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "2156:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2156:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 877, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "2175:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2175:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2139:51:2" - }, - "returnParameters": { - "id": 881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "2209:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 879, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2209:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2208:6:2" - }, - "scope": 901, - "src": "2118:97:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": { - "id": 883, - "nodeType": "StructuredDocumentation", - "src": "2221:158:2", - "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." - }, - "id": 891, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 885, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 891, - "src": "2399:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 884, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2399:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 887, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 891, - "src": "2421:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2421:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 889, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 891, - "src": "2441:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2441:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2398:57:2" - }, - "src": "2384:72:2" - }, - { - "anonymous": false, - "documentation": { - "id": 892, - "nodeType": "StructuredDocumentation", - "src": "2462:148:2", - "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." - }, - "id": 900, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 894, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 900, - "src": "2630:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2630:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 896, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 900, - "src": "2653:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2653:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 898, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 900, - "src": "2678:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2678:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2629:63:2" - }, - "src": "2615:78:2" - } - ], - "scope": 902, - "src": "129:2566:2" - } - ], - "src": "33:2663:2" - }, - "id": 2 - }, - "@openzeppelin/contracts/utils/Context.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 924 - ] - }, - "id": 925, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 903, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:3" - }, - { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 924, - "linearizedBaseContracts": [ - 924 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 911, - "nodeType": "Block", - "src": "648:34:3", - "statements": [ - { - "expression": { - "expression": { - "id": 908, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "665:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "665:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 907, - "id": 910, - "nodeType": "Return", - "src": "658:17:3" - } - ] - }, - "id": 912, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 904, - "nodeType": "ParameterList", - "parameters": [], - "src": "605:2:3" - }, - "returnParameters": { - "id": 907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 906, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 912, - "src": "639:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 905, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "639:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "638:9:3" - }, - "scope": 924, - "src": "586:96:3", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 922, - "nodeType": "Block", - "src": "755:165:3", - "statements": [ - { - "expression": { - "id": 917, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "765:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$924", - "typeString": "contract Context" - } - }, - "id": 918, - "nodeType": "ExpressionStatement", - "src": "765:4:3" - }, - { - "expression": { - "expression": { - "id": 919, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "905:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "src": "905:8:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 916, - "id": 921, - "nodeType": "Return", - "src": "898:15:3" - } - ] - }, - "id": 923, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [], - "src": "705:2:3" - }, - "returnParameters": { - "id": 916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 915, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "739:14:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 914, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "739:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "738:16:3" - }, - "scope": 924, - "src": "688:232:3", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 925, - "src": "554:368:3" - } - ], - "src": "33:890:3" - }, - "id": 3 - }, - "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", - "exportedSymbols": { - "MerkleProof": [ - 995 - ] - }, - "id": 996, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 926, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:4" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 927, - "nodeType": "StructuredDocumentation", - "src": "58:84:4", - "text": " @dev These functions deal with verification of Merkle trees (hash trees)," - }, - "fullyImplemented": true, - "id": 995, - "linearizedBaseContracts": [ - 995 - ], - "name": "MerkleProof", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 993, - "nodeType": "Block", - "src": "594:682:4", - "statements": [ - { - "assignments": [ - 941 - ], - "declarations": [ - { - "constant": false, - "id": 941, - "mutability": "mutable", - "name": "computedHash", - "nodeType": "VariableDeclaration", - "scope": 993, - "src": "604:20:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 940, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "604:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 943, - "initialValue": { - "id": 942, - "name": "leaf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "627:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "604:27:4" - }, - { - "body": { - "id": 987, - "nodeType": "Block", - "src": "685:472:4", - "statements": [ - { - "assignments": [ - 956 - ], - "declarations": [ - { - "constant": false, - "id": 956, - "mutability": "mutable", - "name": "proofElement", - "nodeType": "VariableDeclaration", - "scope": 987, - "src": "699:20:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 955, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "699:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 960, - "initialValue": { - "baseExpression": { - "id": 957, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 931, - "src": "722:5:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - "id": 959, - "indexExpression": { - "id": 958, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "728:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "722:8:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "699:31:4" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 961, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "749:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 962, - "name": "proofElement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 956, - "src": "765:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "749:28:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 985, - "nodeType": "Block", - "src": "966:181:4", - "statements": [ - { - "expression": { - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 975, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "1062:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 979, - "name": "proofElement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 956, - "src": "1104:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 980, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "1118:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 977, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1087:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1087:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1087:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 976, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1077:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1077:55:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1062:70:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 984, - "nodeType": "ExpressionStatement", - "src": "1062:70:4" - } - ] - }, - "id": 986, - "nodeType": "IfStatement", - "src": "745:402:4", - "trueBody": { - "id": 974, - "nodeType": "Block", - "src": "779:181:4", - "statements": [ - { - "expression": { - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 964, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "875:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 968, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "917:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 969, - "name": "proofElement", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 956, - "src": "931:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 966, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "900:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "900:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "900:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 965, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "890:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "890:55:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "875:70:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 973, - "nodeType": "ExpressionStatement", - "src": "875:70:4" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 948, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "662:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 949, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 931, - "src": "666:5:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - "id": 950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "666:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "662:16:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 988, - "initializationExpression": { - "assignments": [ - 945 - ], - "declarations": [ - { - "constant": false, - "id": 945, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 988, - "src": "647:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "647:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 947, - "initialValue": { - "hexValue": "30", - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "659:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "647:13:4" - }, - "loopExpression": { - "expression": { - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "680:3:4", - "subExpression": { - "id": 952, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "680:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 954, - "nodeType": "ExpressionStatement", - "src": "680:3:4" - }, - "nodeType": "ForStatement", - "src": "642:515:4" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 989, - "name": "computedHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "1249:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 990, - "name": "root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 933, - "src": "1265:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1249:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 939, - "id": 992, - "nodeType": "Return", - "src": "1242:27:4" - } - ] - }, - "documentation": { - "id": 928, - "nodeType": "StructuredDocumentation", - "src": "169:323:4", - "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree\n defined by `root`. For this, a `proof` must be provided, containing\n sibling hashes on the branch from the leaf to the root of the tree. Each\n pair of leaves and each pair of pre-images are assumed to be sorted." - }, - "id": 994, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verify", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 931, - "mutability": "mutable", - "name": "proof", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "513:22:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 929, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "513:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 930, - "nodeType": "ArrayTypeName", - "src": "513:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 933, - "mutability": "mutable", - "name": "root", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "537:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 932, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "537:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 935, - "mutability": "mutable", - "name": "leaf", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "551:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 934, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "551:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "512:52:4" - }, - "returnParameters": { - "id": 939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 938, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "588:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 937, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "588:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "587:6:4" - }, - "scope": 995, - "src": "497:779:4", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 996, - "src": "143:1135:4" - } - ], - "src": "33:1246:4" - }, - "id": 4 - }, - "@openzeppelin/contracts/utils/introspection/ERC165.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 1019 - ], - "IERC165": [ - 1031 - ] - }, - "id": 1020, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 997, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:5" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 998, - "nodeType": "ImportDirective", - "scope": 1020, - "sourceUnit": 1032, - "src": "58:23:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1000, - "name": "IERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1031, - "src": "688:7:5" - }, - "id": 1001, - "nodeType": "InheritanceSpecifier", - "src": "688:7:5" - } - ], - "contractDependencies": [ - 1031 - ], - "contractKind": "contract", - "documentation": { - "id": 999, - "nodeType": "StructuredDocumentation", - "src": "83:576:5", - "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." - }, - "fullyImplemented": true, - "id": 1019, - "linearizedBaseContracts": [ - 1019, - 1031 - ], - "name": "ERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 1030 - ], - "body": { - "id": 1017, - "nodeType": "Block", - "src": "854:64:5", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1010, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1004, - "src": "871:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 1012, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1031, - "src": "891:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$1031_$", - "typeString": "type(contract IERC165)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165_$1031_$", - "typeString": "type(contract IERC165)" - } - ], - "id": 1011, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "886:4:5", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1013, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "886:13:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$1031", - "typeString": "type(contract IERC165)" - } - }, - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "886:25:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "871:40:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1009, - "id": 1016, - "nodeType": "Return", - "src": "864:47:5" - } - ] - }, - "documentation": { - "id": 1002, - "nodeType": "StructuredDocumentation", - "src": "702:56:5", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 1018, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1006, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "830:8:5" - }, - "parameters": { - "id": 1005, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1004, - "mutability": "mutable", - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "scope": 1018, - "src": "790:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1003, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "790:6:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "789:20:5" - }, - "returnParameters": { - "id": 1009, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1008, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1018, - "src": "848:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1007, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "848:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "847:6:5" - }, - "scope": 1019, - "src": "763:155:5", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - } - ], - "scope": 1020, - "src": "660:260:5" - } - ], - "src": "33:888:5" - }, - "id": 5 - }, - "@openzeppelin/contracts/utils/introspection/IERC165.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 1031 - ] - }, - "id": 1032, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1021, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:6" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1022, - "nodeType": "StructuredDocumentation", - "src": "58:279:6", - "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\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": 1031, - "linearizedBaseContracts": [ - 1031 - ], - "name": "IERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1023, - "nodeType": "StructuredDocumentation", - "src": "362:340:6", - "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[EIP 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": 1030, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1025, - "mutability": "mutable", - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "scope": 1030, - "src": "734:18:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1024, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "734:6:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "733:20:6" - }, - "returnParameters": { - "id": 1029, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1028, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1030, - "src": "777:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1027, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "777:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "776:6:6" - }, - "scope": 1031, - "src": "707:76:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1032, - "src": "338:447:6" - } - ], - "src": "33:753:6" - }, - "id": 6 - }, - "contracts/Core/ACL.sol": { - "ast": { - "absolutePath": "contracts/Core/ACL.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "Constants": [ - 5450 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "IAccessControl": [ - 42 - ], - "IERC165": [ - 1031 - ] - }, - "id": 1064, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1033, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:7" - }, - { - "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", - "file": "@openzeppelin/contracts/access/AccessControl.sol", - "id": 1034, - "nodeType": "ImportDirective", - "scope": 1064, - "sourceUnit": 323, - "src": "64:58:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 1035, - "nodeType": "ImportDirective", - "scope": 1064, - "sourceUnit": 5451, - "src": "123:30:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1036, - "name": "AccessControl", - "nodeType": "IdentifierPath", - "referencedDeclaration": 322, - "src": "172:13:7" - }, - "id": 1037, - "nodeType": "InheritanceSpecifier", - "src": "172:13:7" - } - ], - "contractDependencies": [ - 42, - 322, - 924, - 1019, - 1031 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 1063, - "linearizedBaseContracts": [ - 1063, - 322, - 1019, - 1031, - 42, - 924 - ], - "name": "ACL", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1046, - "nodeType": "Block", - "src": "206:59:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1041, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 64, - "src": "227:18:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 1042, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "247:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "247:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1040, - "name": "_setupRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "216:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 1044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "216:42:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1045, - "nodeType": "ExpressionStatement", - "src": "216:42:7" - } - ] - }, - "id": 1047, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1038, - "nodeType": "ParameterList", - "parameters": [], - "src": "203:2:7" - }, - "returnParameters": { - "id": 1039, - "nodeType": "ParameterList", - "parameters": [], - "src": "206:0:7" - }, - "scope": 1063, - "src": "192:73:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1061, - "nodeType": "Block", - "src": "304:93:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1053, - "name": "_hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1049, - "src": "330:5:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 1054, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "337:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "337:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1052, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "322:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 1056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "322:26:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "41434c3a2073656e646572206e6f7420617574686f72697a6564", - "id": 1057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "350:28:7", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869", - "typeString": "literal_string \"ACL: sender not authorized\"" - }, - "value": "ACL: sender not authorized" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b8d24e09f2c47edaedd485c0e912418a816fcd018648864118a4cf7a068c6869", - "typeString": "literal_string \"ACL: sender not authorized\"" - } - ], - "id": 1051, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "314:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "314:65:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1059, - "nodeType": "ExpressionStatement", - "src": "314:65:7" - }, - { - "id": 1060, - "nodeType": "PlaceholderStatement", - "src": "389:1:7" - } - ] - }, - "id": 1062, - "name": "onlyRole", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 1050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1049, - "mutability": "mutable", - "name": "_hash", - "nodeType": "VariableDeclaration", - "scope": 1062, - "src": "289:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1048, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "289:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "288:15:7" - }, - "src": "271:126:7", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1064, - "src": "156:243:7" - } - ], - "src": "39:360:7" - }, - "id": 7 - }, - "contracts/Core/BlockManager.sol": { - "ast": { - "absolutePath": "contracts/Core/BlockManager.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "BlockManager": [ - 2294 - ], - "BlockStorage": [ - 4925 - ], - "Constants": [ - 5450 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "IAccessControl": [ - 42 - ], - "IERC165": [ - 1031 - ], - "IJobManager": [ - 4716 - ], - "IStakeManager": [ - 4809 - ], - "IStateManager": [ - 4822 - ], - "IVoteManager": [ - 4903 - ], - "Initializable": [ - 5185 - ], - "Random": [ - 5570 - ], - "Structs": [ - 5650 - ] - }, - "id": 2295, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1065, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:8" - }, - { - "absolutePath": "contracts/Core/interface/IStakeManager.sol", - "file": "./interface/IStakeManager.sol", - "id": 1066, - "nodeType": "ImportDirective", - "scope": 2295, - "sourceUnit": 4810, - "src": "64:39:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IStateManager.sol", - "file": "./interface/IStateManager.sol", - "id": 1067, - "nodeType": "ImportDirective", - "scope": 2295, - "sourceUnit": 4823, - "src": "104:39:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IVoteManager.sol", - "file": "./interface/IVoteManager.sol", - "id": 1068, - "nodeType": "ImportDirective", - "scope": 2295, - "sourceUnit": 4904, - "src": "144:38:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IJobManager.sol", - "file": "./interface/IJobManager.sol", - "id": 1069, - "nodeType": "ImportDirective", - "scope": 2295, - "sourceUnit": 4717, - "src": "183:37:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/storage/BlockStorage.sol", - "file": "./storage/BlockStorage.sol", - "id": 1070, - "nodeType": "ImportDirective", - "scope": 2295, - "sourceUnit": 4926, - "src": "221:36:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 1071, - "nodeType": "ImportDirective", - "scope": 2295, - "sourceUnit": 5451, - "src": "258:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Random.sol", - "file": "../lib/Random.sol", - "id": 1072, - "nodeType": "ImportDirective", - "scope": 2295, - "sourceUnit": 5571, - "src": "289:27:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Initializable.sol", - "file": "../Initializable.sol", - "id": 1073, - "nodeType": "ImportDirective", - "scope": 2295, - "sourceUnit": 5186, - "src": "317:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/ACL.sol", - "file": "./ACL.sol", - "id": 1074, - "nodeType": "ImportDirective", - "scope": 2295, - "sourceUnit": 1064, - "src": "348:19:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1075, - "name": "Initializable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5185, - "src": "395:13:8" - }, - "id": 1076, - "nodeType": "InheritanceSpecifier", - "src": "395:13:8" - }, - { - "baseName": { - "id": 1077, - "name": "ACL", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1063, - "src": "410:3:8" - }, - "id": 1078, - "nodeType": "InheritanceSpecifier", - "src": "410:3:8" - }, - { - "baseName": { - "id": 1079, - "name": "BlockStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4925, - "src": "415:12:8" - }, - "id": 1080, - "nodeType": "InheritanceSpecifier", - "src": "415:12:8" - } - ], - "contractDependencies": [ - 42, - 322, - 924, - 1019, - 1031, - 1063, - 4925, - 5185 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2294, - "linearizedBaseContracts": [ - 2294, - 4925, - 1063, - 322, - 1019, - 1031, - 42, - 924, - 5185 - ], - "name": "BlockManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "7542ff95", - "id": 1083, - "mutability": "mutable", - "name": "stakeManager", - "nodeType": "VariableDeclaration", - "scope": 2294, - "src": "437:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - }, - "typeName": { - "id": 1082, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1081, - "name": "IStakeManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4809, - "src": "437:13:8" - }, - "referencedDeclaration": 4809, - "src": "437:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2e716fb1", - "id": 1086, - "mutability": "mutable", - "name": "stateManager", - "nodeType": "VariableDeclaration", - "scope": 2294, - "src": "476:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - }, - "typeName": { - "id": 1085, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1084, - "name": "IStateManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4822, - "src": "476:13:8" - }, - "referencedDeclaration": 4822, - "src": "476:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "42c1e587", - "id": 1089, - "mutability": "mutable", - "name": "voteManager", - "nodeType": "VariableDeclaration", - "scope": 2294, - "src": "515:31:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - }, - "typeName": { - "id": 1088, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1087, - "name": "IVoteManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4903, - "src": "515:12:8" - }, - "referencedDeclaration": 4903, - "src": "515:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3df395a3", - "id": 1092, - "mutability": "mutable", - "name": "jobManager", - "nodeType": "VariableDeclaration", - "scope": 2294, - "src": "552:29:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - }, - "typeName": { - "id": 1091, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1090, - "name": "IJobManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4716, - "src": "552:11:8" - }, - "referencedDeclaration": 4716, - "src": "552:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "visibility": "public" - }, - { - "anonymous": false, - "id": 1112, - "name": "BlockConfirmed", - "nodeType": "EventDefinition", - "parameters": { - "id": 1111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1094, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1112, - "src": "619:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1093, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "619:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1096, - "indexed": false, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 1112, - "src": "642:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "642:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1099, - "indexed": false, - "mutability": "mutable", - "name": "medians", - "nodeType": "VariableDeclaration", - "scope": 1112, - "src": "668:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1097, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "668:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1098, - "nodeType": "ArrayTypeName", - "src": "668:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1102, - "indexed": false, - "mutability": "mutable", - "name": "lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1112, - "src": "695:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "695:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1101, - "nodeType": "ArrayTypeName", - "src": "695:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1105, - "indexed": false, - "mutability": "mutable", - "name": "higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1112, - "src": "727:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1103, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "727:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1104, - "nodeType": "ArrayTypeName", - "src": "727:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1108, - "indexed": false, - "mutability": "mutable", - "name": "jobIds", - "nodeType": "VariableDeclaration", - "scope": 1112, - "src": "760:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "760:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1107, - "nodeType": "ArrayTypeName", - "src": "760:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1110, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 1112, - "src": "786:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1109, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "609:200:8" - }, - "src": "588:222:8" - }, - { - "anonymous": false, - "id": 1136, - "name": "Proposed", - "nodeType": "EventDefinition", - "parameters": { - "id": 1135, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1114, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "841:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "841:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1116, - "indexed": false, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "864:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "864:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1119, - "indexed": false, - "mutability": "mutable", - "name": "jobIds", - "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "890:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "890:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1118, - "nodeType": "ArrayTypeName", - "src": "890:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1122, - "indexed": false, - "mutability": "mutable", - "name": "medians", - "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "916:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "916:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1121, - "nodeType": "ArrayTypeName", - "src": "916:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1125, - "indexed": false, - "mutability": "mutable", - "name": "lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "943:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "943:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1124, - "nodeType": "ArrayTypeName", - "src": "943:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1128, - "indexed": false, - "mutability": "mutable", - "name": "higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "975:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1127, - "nodeType": "ArrayTypeName", - "src": "975:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1130, - "indexed": false, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "1008:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1008:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1132, - "indexed": false, - "mutability": "mutable", - "name": "biggestStakerId", - "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "1035:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1134, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "1068:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1068:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "831:260:8" - }, - "src": "816:276:8" - }, - { - "body": { - "id": 1150, - "nodeType": "Block", - "src": "1138:88:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1141, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "1156:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1142, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "1165:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 1143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4816, - "src": "1165:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1165:23:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1156:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f72726563742065706f6368", - "id": 1146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1190:17:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - }, - "value": "incorrect epoch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - } - ], - "id": 1140, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1148:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1148:60:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1148, - "nodeType": "ExpressionStatement", - "src": "1148:60:8" - }, - { - "id": 1149, - "nodeType": "PlaceholderStatement", - "src": "1218:1:8" - } - ] - }, - "id": 1151, - "name": "checkEpoch", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 1139, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1138, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1151, - "src": "1123:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1137, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1123:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1122:15:8" - }, - "src": "1102:124:8", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1165, - "nodeType": "Block", - "src": "1268:88:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1156, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1153, - "src": "1286:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1157, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "1295:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 1158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4821, - "src": "1295:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1295:23:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1286:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f7272656374207374617465", - "id": 1161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1320:17:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - }, - "value": "incorrect state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - } - ], - "id": 1155, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1278:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1278:60:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1163, - "nodeType": "ExpressionStatement", - "src": "1278:60:8" - }, - { - "id": 1164, - "nodeType": "PlaceholderStatement", - "src": "1348:1:8" - } - ] - }, - "id": 1166, - "name": "checkState", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 1154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1153, - "mutability": "mutable", - "name": "state", - "nodeType": "VariableDeclaration", - "scope": 1166, - "src": "1253:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1253:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1252:15:8" - }, - "src": "1232:124:8", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1206, - "nodeType": "Block", - "src": "1588:234:8", - "statements": [ - { - "expression": { - "id": 1186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1182, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "1598:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1184, - "name": "stakeManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1168, - "src": "1627:19:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1183, - "name": "IStakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4809, - "src": "1613:13:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStakeManager_$4809_$", - "typeString": "type(contract IStakeManager)" - } - }, - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1613:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "src": "1598:49:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 1187, - "nodeType": "ExpressionStatement", - "src": "1598:49:8" - }, - { - "expression": { - "id": 1192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1188, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "1657:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1190, - "name": "stateManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1170, - "src": "1686:19:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1189, - "name": "IStateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4822, - "src": "1672:13:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStateManager_$4822_$", - "typeString": "type(contract IStateManager)" - } - }, - "id": 1191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1672:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "src": "1657:49:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 1193, - "nodeType": "ExpressionStatement", - "src": "1657:49:8" - }, - { - "expression": { - "id": 1198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1194, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "1716:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1196, - "name": "voteManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1172, - "src": "1743:18:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1195, - "name": "IVoteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4903, - "src": "1730:12:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IVoteManager_$4903_$", - "typeString": "type(contract IVoteManager)" - } - }, - "id": 1197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1730:32:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "src": "1716:46:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "id": 1199, - "nodeType": "ExpressionStatement", - "src": "1716:46:8" - }, - { - "expression": { - "id": 1204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1200, - "name": "jobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1092, - "src": "1772:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1202, - "name": "jobManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1174, - "src": "1797:17:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1201, - "name": "IJobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "1785:11:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IJobManager_$4716_$", - "typeString": "type(contract IJobManager)" - } - }, - "id": 1203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1785:30:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "src": "1772:43:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "id": 1205, - "nodeType": "ExpressionStatement", - "src": "1772:43:8" - } - ] - }, - "functionSelector": "f8c8765e", - "id": 1207, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1177, - "modifierName": { - "id": 1176, - "name": "initializer", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5175, - "src": "1543:11:8" - }, - "nodeType": "ModifierInvocation", - "src": "1543:11:8" - }, - { - "arguments": [ - { - "id": 1179, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 64, - "src": "1564:18:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 1180, - "modifierName": { - "id": 1178, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "1555:8:8" - }, - "nodeType": "ModifierInvocation", - "src": "1555:28:8" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1175, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1168, - "mutability": "mutable", - "name": "stakeManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "1392:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1167, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1392:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1170, - "mutability": "mutable", - "name": "stateManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "1429:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1429:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1172, - "mutability": "mutable", - "name": "voteManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "1466:26:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1466:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1174, - "mutability": "mutable", - "name": "jobManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "1502:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1502:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1382:151:8" - }, - "returnParameters": { - "id": 1181, - "nodeType": "ParameterList", - "parameters": [], - "src": "1588:0:8" - }, - "scope": 2294, - "src": "1362:460:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1220, - "nodeType": "Block", - "src": "1912:38:8", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "id": 1215, - "name": "blocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "1929:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5615_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref)" - } - }, - "id": 1217, - "indexExpression": { - "id": 1216, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1209, - "src": "1936:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1929:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - } - ], - "id": 1218, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1928:15:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "functionReturnParameters": 1214, - "id": 1219, - "nodeType": "Return", - "src": "1922:21:8" - } - ] - }, - "functionSelector": "04c07569", - "id": 1221, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1209, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1221, - "src": "1846:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1846:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1845:15:8" - }, - "returnParameters": { - "id": 1214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1213, - "mutability": "mutable", - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 1221, - "src": "1883:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block" - }, - "typeName": { - "id": 1212, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1211, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5615, - "src": "1883:13:8" - }, - "referencedDeclaration": 5615, - "src": "1883:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "visibility": "internal" - } - ], - "src": "1882:29:8" - }, - "scope": 2294, - "src": "1828:122:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1239, - "nodeType": "Block", - "src": "2050:85:8", - "statements": [ - { - "expression": { - "id": 1234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1229, - "name": "_blockMedians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "2060:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "baseExpression": { - "id": 1230, - "name": "blocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "2076:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5615_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref)" - } - }, - "id": 1232, - "indexExpression": { - "id": 1231, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1223, - "src": "2083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2076:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5602, - "src": "2076:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "src": "2060:37:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1235, - "nodeType": "ExpressionStatement", - "src": "2060:37:8" - }, - { - "expression": { - "components": [ - { - "id": 1236, - "name": "_blockMedians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "2114:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 1237, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2113:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 1228, - "id": 1238, - "nodeType": "Return", - "src": "2107:21:8" - } - ] - }, - "functionSelector": "378ab9a9", - "id": 1240, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBlockMedians", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1224, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1223, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1240, - "src": "1981:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1222, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1981:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1980:15:8" - }, - "returnParameters": { - "id": 1228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1227, - "mutability": "mutable", - "name": "_blockMedians", - "nodeType": "VariableDeclaration", - "scope": 1240, - "src": "2018:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1225, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2018:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1226, - "nodeType": "ArrayTypeName", - "src": "2018:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "2017:32:8" - }, - "scope": 2294, - "src": "1956:179:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1258, - "nodeType": "Block", - "src": "2235:90:8", - "statements": [ - { - "expression": { - "id": 1253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1248, - "name": "_lowerCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1246, - "src": "2245:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "baseExpression": { - "id": 1249, - "name": "blocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "2261:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5615_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref)" - } - }, - "id": 1251, - "indexExpression": { - "id": 1250, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1242, - "src": "2268:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2261:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1252, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5605, - "src": "2261:26:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "src": "2245:42:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1254, - "nodeType": "ExpressionStatement", - "src": "2245:42:8" - }, - { - "expression": { - "components": [ - { - "id": 1255, - "name": "_lowerCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1246, - "src": "2304:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 1256, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2303:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 1247, - "id": 1257, - "nodeType": "Return", - "src": "2297:21:8" - } - ] - }, - "functionSelector": "d2a4669a", - "id": 1259, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLowerCutoffs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1242, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "2166:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2166:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2165:15:8" - }, - "returnParameters": { - "id": 1247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1246, - "mutability": "mutable", - "name": "_lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1259, - "src": "2203:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2203:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1245, - "nodeType": "ArrayTypeName", - "src": "2203:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "2202:32:8" - }, - "scope": 2294, - "src": "2141:184:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1277, - "nodeType": "Block", - "src": "2446:93:8", - "statements": [ - { - "expression": { - "id": 1272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1267, - "name": "_higherCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1265, - "src": "2456:14:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "baseExpression": { - "id": 1268, - "name": "blocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "2473:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5615_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref)" - } - }, - "id": 1270, - "indexExpression": { - "id": 1269, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1261, - "src": "2480:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2473:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1271, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5608, - "src": "2473:27:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "src": "2456:44:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1273, - "nodeType": "ExpressionStatement", - "src": "2456:44:8" - }, - { - "expression": { - "components": [ - { - "id": 1274, - "name": "_higherCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1265, - "src": "2517:14:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 1275, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2516:16:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 1266, - "id": 1276, - "nodeType": "Return", - "src": "2510:22:8" - } - ] - }, - "functionSelector": "fae4425d", - "id": 1278, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getHigherCutoffs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1261, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1278, - "src": "2366:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1260, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2366:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2356:29:8" - }, - "returnParameters": { - "id": 1266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1265, - "mutability": "mutable", - "name": "_higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1278, - "src": "2408:31:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2408:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1264, - "nodeType": "ArrayTypeName", - "src": "2408:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "2407:33:8" - }, - "scope": 2294, - "src": "2331:208:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1314, - "nodeType": "Block", - "src": "2867:145:8", - "statements": [ - { - "expression": { - "id": 1303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1297, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "2877:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "baseExpression": { - "id": 1298, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "2886:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1300, - "indexExpression": { - "id": 1299, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1280, - "src": "2901:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2886:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1302, - "indexExpression": { - "id": 1301, - "name": "proposedBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1282, - "src": "2908:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2886:36:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "src": "2877:45:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 1304, - "nodeType": "ExpressionStatement", - "src": "2877:45:8" - }, - { - "expression": { - "components": [ - { - "id": 1305, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "2939:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - { - "expression": { - "id": 1306, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "2947:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5602, - "src": "2947:14:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "expression": { - "id": 1308, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "2963:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 1309, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5605, - "src": "2963:19:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "expression": { - "id": 1310, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "2984:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 1311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5608, - "src": "2984:20:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 1312, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2938:67:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_struct$_Block_$5615_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(struct Structs.Block memory,uint256[] memory,uint256[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 1296, - "id": 1313, - "nodeType": "Return", - "src": "2932:73:8" - } - ] - }, - "functionSelector": "a27ce1ef", - "id": 1315, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposedBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1280, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "2580:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2580:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1282, - "mutability": "mutable", - "name": "proposedBlock", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "2603:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2603:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2570:60:8" - }, - "returnParameters": { - "id": 1296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1286, - "mutability": "mutable", - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "2691:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block" - }, - "typeName": { - "id": 1285, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1284, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5615, - "src": "2691:13:8" - }, - "referencedDeclaration": 5615, - "src": "2691:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1289, - "mutability": "mutable", - "name": "_blockMedians", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "2732:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2732:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1288, - "nodeType": "ArrayTypeName", - "src": "2732:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1292, - "mutability": "mutable", - "name": "_lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "2776:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2776:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1291, - "nodeType": "ArrayTypeName", - "src": "2776:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1295, - "mutability": "mutable", - "name": "_higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "2820:31:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2820:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1294, - "nodeType": "ArrayTypeName", - "src": "2820:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "2677:184:8" - }, - "scope": 2294, - "src": "2545:467:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1337, - "nodeType": "Block", - "src": "3147:108:8", - "statements": [ - { - "expression": { - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1325, - "name": "_blockMedians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1323, - "src": "3157:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1326, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "3173:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1328, - "indexExpression": { - "id": 1327, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1317, - "src": "3188:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3173:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1330, - "indexExpression": { - "id": 1329, - "name": "proposedBlock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "3195:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3173:36:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1331, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5602, - "src": "3173:44:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "src": "3157:60:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1333, - "nodeType": "ExpressionStatement", - "src": "3157:60:8" - }, - { - "expression": { - "components": [ - { - "id": 1334, - "name": "_blockMedians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1323, - "src": "3234:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 1335, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3233:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 1324, - "id": 1336, - "nodeType": "Return", - "src": "3227:21:8" - } - ] - }, - "functionSelector": "d1a4a43d", - "id": 1338, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposedBlockMedians", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1320, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1317, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "3051:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3051:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1319, - "mutability": "mutable", - "name": "proposedBlock", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "3066:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1318, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3066:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3050:38:8" - }, - "returnParameters": { - "id": 1324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1323, - "mutability": "mutable", - "name": "_blockMedians", - "nodeType": "VariableDeclaration", - "scope": 1338, - "src": "3115:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3115:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1322, - "nodeType": "ArrayTypeName", - "src": "3115:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "3114:32:8" - }, - "scope": 2294, - "src": "3018:237:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1351, - "nodeType": "Block", - "src": "3341:53:8", - "statements": [ - { - "expression": { - "components": [ - { - "expression": { - "baseExpression": { - "id": 1345, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "3358:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1347, - "indexExpression": { - "id": 1346, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "3373:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3358:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3358:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1349, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3357:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1344, - "id": 1350, - "nodeType": "Return", - "src": "3351:36:8" - } - ] - }, - "functionSelector": "e38c7c42", - "id": 1352, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getNumProposedBlocks", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1340, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1352, - "src": "3291:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3291:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3290:15:8" - }, - "returnParameters": { - "id": 1344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1343, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1352, - "src": "3332:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1342, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3332:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3331:9:8" - }, - "scope": 2294, - "src": "3261:133:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 1445, - "nodeType": "Block", - "src": "4357:915:8", - "statements": [ - { - "assignments": [ - 1384 - ], - "declarations": [ - { - "constant": false, - "id": 1384, - "mutability": "mutable", - "name": "proposerId", - "nodeType": "VariableDeclaration", - "scope": 1445, - "src": "4367:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4367:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1390, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 1387, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4413:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4413:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 1385, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "4388:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 1386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4785, - "src": "4388:24:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 1389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4388:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4367:57:8" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1393, - "name": "iteration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "4460:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1394, - "name": "biggestStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "4471:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1395, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "4488:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1392, - "name": "isElectedProposer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2144, - "src": "4442:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,uint256) view returns (bool)" - } - }, - "id": 1396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4442:57:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6e6f7420656c6563746564", - "id": 1397, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4501:13:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3a53d0d6126438ff1f7ac8601076ce122aa0d007e64b2d6f4fd42962b5d21f79", - "typeString": "literal_string \"not elected\"" - }, - "value": "not elected" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3a53d0d6126438ff1f7ac8601076ce122aa0d007e64b2d6f4fd42962b5d21f79", - "typeString": "literal_string \"not elected\"" - } - ], - "id": 1391, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4434:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4434:81:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1399, - "nodeType": "ExpressionStatement", - "src": "4434:81:8" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1403, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "4569:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1401, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "4546:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4793, - "src": "4546:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5594_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 1404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4546:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 1405, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "4546:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1406, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "4590:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 1407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "minStake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5350, - "src": "4590:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 1408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4590:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4546:64:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "7374616b652062656c6f77206d696e696d756d207374616b65", - "id": 1410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4624:27:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e207c79d2d176c883fa78b2700e15a84ccf7c71d444ce3f422160c532fe0bb38", - "typeString": "literal_string \"stake below minimum stake\"" - }, - "value": "stake below minimum stake" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e207c79d2d176c883fa78b2700e15a84ccf7c71d444ce3f422160c532fe0bb38", - "typeString": "literal_string \"stake below minimum stake\"" - } - ], - "id": 1400, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4525:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4525:136:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1412, - "nodeType": "ExpressionStatement", - "src": "4525:136:8" - }, - { - "expression": { - "arguments": [ - { - "id": 1414, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1354, - "src": "4706:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 1417, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "4757:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1418, - "name": "jobIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1357, - "src": "4785:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1419, - "name": "medians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1360, - "src": "4809:7:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1420, - "name": "lowerCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1363, - "src": "4834:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1421, - "name": "higherCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1366, - "src": "4864:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1422, - "name": "iteration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "4895:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "arguments": [ - { - "id": 1425, - "name": "biggestStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "4945:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1423, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "4922:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 1424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4793, - "src": "4922:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5594_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 1426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4922:39:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 1427, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "4922:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "74727565", - "id": 1428, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4985:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "id": 1415, - "name": "Structs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5650, - "src": "4726:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Structs_$5650_$", - "typeString": "type(library Structs)" - } - }, - "id": 1416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "Block", - "nodeType": "MemberAccess", - "referencedDeclaration": 5615, - "src": "4726:13:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Block_$5615_storage_ptr_$", - "typeString": "type(struct Structs.Block storage pointer)" - } - }, - "id": 1429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4726:277:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - ], - "id": 1413, - "name": "_insertAppropriately", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2293, - "src": "4672:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_struct$_Block_$5615_memory_ptr_$returns$__$", - "typeString": "function (uint256,struct Structs.Block memory)" - } - }, - "id": 1430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4672:341:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1431, - "nodeType": "ExpressionStatement", - "src": "4672:341:8" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1433, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1354, - "src": "5051:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1434, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "5070:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1435, - "name": "jobIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1357, - "src": "5094:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1436, - "name": "medians", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1360, - "src": "5114:7:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1437, - "name": "lowerCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1363, - "src": "5135:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1438, - "name": "higherCutoffs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1366, - "src": "5161:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1439, - "name": "iteration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "5188:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1440, - "name": "biggestStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "5211:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 1441, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "5240:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 1442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "5240:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1432, - "name": "Proposed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "5029:8:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256[] memory,uint256[] memory,uint256[] memory,uint256[] memory,uint256,uint256,uint256)" - } - }, - "id": 1443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5029:236:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1444, - "nodeType": "EmitStatement", - "src": "5024:241:8" - } - ] - }, - "functionSelector": "17d99c04", - "id": 1446, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1373, - "modifierName": { - "id": 1372, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "4290:11:8" - }, - "nodeType": "ModifierInvocation", - "src": "4290:11:8" - }, - { - "arguments": [ - { - "id": 1375, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1354, - "src": "4313:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1376, - "modifierName": { - "id": 1374, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1151, - "src": "4302:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "4302:17:8" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1378, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "4331:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 1379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "propose", - "nodeType": "MemberAccess", - "referencedDeclaration": 5306, - "src": "4331:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 1380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4331:19:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1381, - "modifierName": { - "id": 1377, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1166, - "src": "4320:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "4320:31:8" - } - ], - "name": "propose", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1354, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "4057:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4057:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1357, - "mutability": "mutable", - "name": "jobIds", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "4080:23:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4080:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1356, - "nodeType": "ArrayTypeName", - "src": "4080:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1360, - "mutability": "mutable", - "name": "medians", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "4113:24:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4113:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1359, - "nodeType": "ArrayTypeName", - "src": "4113:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1363, - "mutability": "mutable", - "name": "lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "4147:29:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4147:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1362, - "nodeType": "ArrayTypeName", - "src": "4147:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1366, - "mutability": "mutable", - "name": "higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "4186:30:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4186:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1365, - "nodeType": "ArrayTypeName", - "src": "4186:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1368, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "4226:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4226:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1370, - "mutability": "mutable", - "name": "biggestStakerId", - "nodeType": "VariableDeclaration", - "scope": 1446, - "src": "4253:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4253:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4047:235:8" - }, - "returnParameters": { - "id": 1382, - "nodeType": "ParameterList", - "parameters": [], - "src": "4357:0:8" - }, - "scope": 2294, - "src": "4031:1241:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1707, - "nodeType": "Block", - "src": "5555:1726:8", - "statements": [ - { - "assignments": [ - 1467 - ], - "declarations": [ - { - "constant": false, - "id": 1467, - "mutability": "mutable", - "name": "medianWeight", - "nodeType": "VariableDeclaration", - "scope": 1707, - "src": "5565:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5565:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1476, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1470, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "5622:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1471, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "5629:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1468, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "5588:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalStakeRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 4891, - "src": "5588:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view external returns (uint256)" - } - }, - "id": 1472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5588:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "hexValue": "32", - "id": 1473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5639:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "id": 1474, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5638:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - }, - "src": "5588:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5565:76:8" - }, - { - "assignments": [ - 1478 - ], - "declarations": [ - { - "constant": false, - "id": 1478, - "mutability": "mutable", - "name": "lowerCutoffWeight", - "nodeType": "VariableDeclaration", - "scope": 1707, - "src": "5651:25:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5651:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1487, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1481, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "5713:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1482, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "5720:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1479, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "5679:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "id": 1480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalStakeRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 4891, - "src": "5679:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view external returns (uint256)" - } - }, - "id": 1483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5679:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "hexValue": "34", - "id": 1484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5730:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "id": 1485, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5729:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - }, - "src": "5679:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5651:81:8" - }, - { - "assignments": [ - 1489 - ], - "declarations": [ - { - "constant": false, - "id": 1489, - "mutability": "mutable", - "name": "higherCutoffWeight", - "nodeType": "VariableDeclaration", - "scope": 1707, - "src": "5742:26:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1488, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5742:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1502, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1492, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "5806:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1493, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "5813:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1490, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "5772:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "id": 1491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalStakeRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 4891, - "src": "5772:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view external returns (uint256)" - } - }, - "id": 1494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5772:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "hexValue": "33", - "id": 1495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5823:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "id": 1496, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5822:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - }, - "src": "5772:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1498, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5771:55:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "hexValue": "34", - "id": 1499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5828:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "id": 1500, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5827:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - }, - "src": "5771:59:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5742:88:8" - }, - { - "assignments": [ - 1504 - ], - "declarations": [ - { - "constant": false, - "id": 1504, - "mutability": "mutable", - "name": "accWeight", - "nodeType": "VariableDeclaration", - "scope": 1707, - "src": "5840:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1503, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5840:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1512, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1505, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "5860:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1507, - "indexExpression": { - "id": 1506, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "5869:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5860:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1510, - "indexExpression": { - "expression": { - "id": 1508, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5876:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5876:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5860:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accWeight", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "5860:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5840:57:8" - }, - { - "assignments": [ - 1514 - ], - "declarations": [ - { - "constant": false, - "id": 1514, - "mutability": "mutable", - "name": "lastVisited", - "nodeType": "VariableDeclaration", - "scope": 1707, - "src": "5907:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5907:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1522, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1515, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "5929:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1517, - "indexExpression": { - "id": 1516, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "5938:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5929:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1520, - "indexExpression": { - "expression": { - "id": 1518, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5945:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5945:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5929:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lastVisited", - "nodeType": "MemberAccess", - "referencedDeclaration": 5625, - "src": "5929:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5907:61:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1523, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "5982:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1525, - "indexExpression": { - "id": 1524, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "5991:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5982:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1528, - "indexExpression": { - "expression": { - "id": 1526, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5998:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5998:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5982:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1529, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accWeight", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "5982:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6023:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5982:42:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1556, - "nodeType": "Block", - "src": "6102:104:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1544, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "6124:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1546, - "indexExpression": { - "id": 1545, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "6133:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6124:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1549, - "indexExpression": { - "expression": { - "id": 1547, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6140:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6140:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6124:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "assetId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5627, - "src": "6124:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1551, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6163:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6124:46:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "41737365744964206e6f74206d61746368696e67", - "id": 1553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6172:22:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8502787b53e287151708a5e7afa0877b07e01519c554f40b2a5921a6d13c115", - "typeString": "literal_string \"AssetId not matching\"" - }, - "value": "AssetId not matching" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d8502787b53e287151708a5e7afa0877b07e01519c554f40b2a5921a6d13c115", - "typeString": "literal_string \"AssetId not matching\"" - } - ], - "id": 1543, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6116:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6116:79:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1555, - "nodeType": "ExpressionStatement", - "src": "6116:79:8" - } - ] - }, - "id": 1557, - "nodeType": "IfStatement", - "src": "5978:228:8", - "trueBody": { - "id": 1542, - "nodeType": "Block", - "src": "6026:70:8", - "statements": [ - { - "expression": { - "id": 1540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1532, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "6040:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1536, - "indexExpression": { - "id": 1533, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "6049:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6040:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1537, - "indexExpression": { - "expression": { - "id": 1534, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6056:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6056:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6040:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "assetId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5627, - "src": "6040:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1539, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6078:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6040:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1541, - "nodeType": "ExpressionStatement", - "src": "6040:45:8" - } - ] - } - }, - { - "body": { - "id": 1685, - "nodeType": "Block", - "src": "6259:894:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 1570, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1453, - "src": "6281:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1572, - "indexExpression": { - "id": 1571, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6288:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6281:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1573, - "name": "lastVisited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1514, - "src": "6293:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6281:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "736f727465645b695d206973206e6f742067726561746572207468616e206c61737456697369746564", - "id": 1575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6306:43:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1ec6875020a1d7aab0ee87c86d27f1e233ed357292ee2698d9d8c4f8dc8faf8f", - "typeString": "literal_string \"sorted[i] is not greater than lastVisited\"" - }, - "value": "sorted[i] is not greater than lastVisited" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1ec6875020a1d7aab0ee87c86d27f1e233ed357292ee2698d9d8c4f8dc8faf8f", - "typeString": "literal_string \"sorted[i] is not greater than lastVisited\"" - } - ], - "id": 1569, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6273:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6273:77:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1577, - "nodeType": "ExpressionStatement", - "src": "6273:77:8" - }, - { - "expression": { - "id": 1582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1578, - "name": "lastVisited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1514, - "src": "6364:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1579, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1453, - "src": "6378:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1581, - "indexExpression": { - "id": 1580, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6385:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6378:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6364:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1583, - "nodeType": "ExpressionStatement", - "src": "6364:23:8" - }, - { - "expression": { - "id": 1596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1584, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1504, - "src": "6401:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1585, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1504, - "src": "6413:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "arguments": [ - { - "id": 1588, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "6452:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1589, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6459:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "id": 1590, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1453, - "src": "6468:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1592, - "indexExpression": { - "id": 1591, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6475:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6468:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1586, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "6426:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "id": 1587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getVoteWeight", - "nodeType": "MemberAccess", - "referencedDeclaration": 4882, - "src": "6426:25:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view external returns (uint256)" - } - }, - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6426:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1594, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6425:54:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6413:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6401:78:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1597, - "nodeType": "ExpressionStatement", - "src": "6401:78:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1598, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "6498:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1600, - "indexExpression": { - "id": 1599, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "6507:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6498:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1603, - "indexExpression": { - "expression": { - "id": 1601, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6514:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6514:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6498:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5621, - "src": "6498:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6541:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6498:44:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1607, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1504, - "src": "6546:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1608, - "name": "lowerCutoffWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "6559:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6546:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6498:78:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1624, - "nodeType": "IfStatement", - "src": "6494:168:8", - "trueBody": { - "id": 1623, - "nodeType": "Block", - "src": "6578:84:8", - "statements": [ - { - "expression": { - "id": 1621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1611, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "6596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1615, - "indexExpression": { - "id": 1612, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "6605:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6596:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1616, - "indexExpression": { - "expression": { - "id": 1613, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6612:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6612:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6596:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lowerCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5621, - "src": "6596:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1618, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1453, - "src": "6638:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1620, - "indexExpression": { - "id": 1619, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6645:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6638:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6596:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1622, - "nodeType": "ExpressionStatement", - "src": "6596:51:8" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1625, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "6679:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1627, - "indexExpression": { - "id": 1626, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "6688:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6679:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1630, - "indexExpression": { - "expression": { - "id": 1628, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6695:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6695:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6679:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1631, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "median", - "nodeType": "MemberAccess", - "referencedDeclaration": 5619, - "src": "6679:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6717:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6679:39:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1634, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1504, - "src": "6722:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1635, - "name": "medianWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1467, - "src": "6734:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6722:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6679:67:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1651, - "nodeType": "IfStatement", - "src": "6675:152:8", - "trueBody": { - "id": 1650, - "nodeType": "Block", - "src": "6748:79:8", - "statements": [ - { - "expression": { - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1638, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "6766:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1642, - "indexExpression": { - "id": 1639, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "6775:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6766:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1643, - "indexExpression": { - "expression": { - "id": 1640, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6782:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6782:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6766:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1644, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "median", - "nodeType": "MemberAccess", - "referencedDeclaration": 5619, - "src": "6766:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1645, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1453, - "src": "6803:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1647, - "indexExpression": { - "id": 1646, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6810:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6803:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6766:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1649, - "nodeType": "ExpressionStatement", - "src": "6766:46:8" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1652, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "6844:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1654, - "indexExpression": { - "id": 1653, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "6853:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6844:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1657, - "indexExpression": { - "expression": { - "id": 1655, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6860:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6860:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6844:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1658, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5623, - "src": "6844:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6888:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6844:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1661, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1504, - "src": "6893:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1662, - "name": "higherCutoffWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1489, - "src": "6905:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6893:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6844:79:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1678, - "nodeType": "IfStatement", - "src": "6840:170:8", - "trueBody": { - "id": 1677, - "nodeType": "Block", - "src": "6925:85:8", - "statements": [ - { - "expression": { - "id": 1675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1665, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "6943:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1669, - "indexExpression": { - "id": 1666, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "6952:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6943:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1670, - "indexExpression": { - "expression": { - "id": 1667, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6959:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6959:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6943:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1671, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "higherCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5623, - "src": "6943:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1672, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1453, - "src": "6986:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1674, - "indexExpression": { - "id": 1673, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6993:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6986:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6943:52:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1676, - "nodeType": "ExpressionStatement", - "src": "6943:52:8" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1679, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -7, - "src": "7118:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 1680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7118:9:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "hexValue": "3130303030", - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7130:5:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "src": "7118:17:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1684, - "nodeType": "IfStatement", - "src": "7114:28:8", - "trueBody": { - "id": 1683, - "nodeType": "Break", - "src": "7137:5:8" - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1562, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6235:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 1563, - "name": "sorted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1453, - "src": "6239:6:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "6239:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6235:17:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1686, - "initializationExpression": { - "assignments": [ - 1559 - ], - "declarations": [ - { - "constant": false, - "id": 1559, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1686, - "src": "6220:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6220:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1561, - "initialValue": { - "hexValue": "30", - "id": 1560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6232:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6220:13:8" - }, - "loopExpression": { - "expression": { - "id": 1567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6254:3:8", - "subExpression": { - "id": 1566, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6254:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1568, - "nodeType": "ExpressionStatement", - "src": "6254:3:8" - }, - "nodeType": "ForStatement", - "src": "6215:938:8" - }, - { - "expression": { - "id": 1695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1687, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "7162:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1691, - "indexExpression": { - "id": 1688, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "7171:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7162:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1692, - "indexExpression": { - "expression": { - "id": 1689, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7178:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7178:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7162:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1693, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastVisited", - "nodeType": "MemberAccess", - "referencedDeclaration": 5625, - "src": "7162:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1694, - "name": "lastVisited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1514, - "src": "7204:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7162:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1696, - "nodeType": "ExpressionStatement", - "src": "7162:53:8" - }, - { - "expression": { - "id": 1705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1697, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "7225:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1701, - "indexExpression": { - "id": 1698, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "7234:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7225:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1702, - "indexExpression": { - "expression": { - "id": 1699, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7241:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7241:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7225:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "accWeight", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "7225:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1704, - "name": "accWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1504, - "src": "7265:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7225:49:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1706, - "nodeType": "ExpressionStatement", - "src": "7225:49:8" - } - ] - }, - "functionSelector": "4e6753b7", - "id": 1708, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1456, - "modifierName": { - "id": 1455, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "5472:11:8" - }, - "nodeType": "ModifierInvocation", - "src": "5472:11:8" - }, - { - "arguments": [ - { - "id": 1458, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1448, - "src": "5503:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1459, - "modifierName": { - "id": 1457, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1151, - "src": "5492:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "5492:17:8" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1461, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "5529:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 1462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dispute", - "nodeType": "MemberAccess", - "referencedDeclaration": 5315, - "src": "5529:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 1463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5529:19:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1464, - "modifierName": { - "id": 1460, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1166, - "src": "5518:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "5518:31:8" - } - ], - "name": "giveSorted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1448, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1708, - "src": "5370:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5370:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1450, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 1708, - "src": "5393:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5393:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1453, - "mutability": "mutable", - "name": "sorted", - "nodeType": "VariableDeclaration", - "scope": 1708, - "src": "5418:23:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1451, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5418:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1452, - "nodeType": "ArrayTypeName", - "src": "5418:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "5360:87:8" - }, - "returnParameters": { - "id": 1465, - "nodeType": "ParameterList", - "parameters": [], - "src": "5555:0:8" - }, - "scope": 2294, - "src": "5341:1940:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1740, - "nodeType": "Block", - "src": "7507:80:8", - "statements": [ - { - "expression": { - "id": 1738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 1723, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "7517:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1727, - "indexExpression": { - "id": 1724, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1710, - "src": "7526:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7517:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1728, - "indexExpression": { - "expression": { - "id": 1725, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7533:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7533:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7517:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "30", - "id": 1731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7563:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7569:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7572:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7575:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7578:1:8", - "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" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 1729, - "name": "Structs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5650, - "src": "7547:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Structs_$5650_$", - "typeString": "type(library Structs)" - } - }, - "id": 1730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "Dispute", - "nodeType": "MemberAccess", - "referencedDeclaration": 5628, - "src": "7547:15:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Dispute_$5628_storage_ptr_$", - "typeString": "type(struct Structs.Dispute storage pointer)" - } - }, - "id": 1737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7547:33:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_memory_ptr", - "typeString": "struct Structs.Dispute memory" - } - }, - "src": "7517:63:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1739, - "nodeType": "ExpressionStatement", - "src": "7517:63:8" - } - ] - }, - "functionSelector": "5ce8772f", - "id": 1741, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1713, - "modifierName": { - "id": 1712, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "7441:11:8" - }, - "nodeType": "ModifierInvocation", - "src": "7441:11:8" - }, - { - "arguments": [ - { - "id": 1715, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1710, - "src": "7464:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1716, - "modifierName": { - "id": 1714, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1151, - "src": "7453:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "7453:17:8" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1718, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "7482:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 1719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dispute", - "nodeType": "MemberAccess", - "referencedDeclaration": 5315, - "src": "7482:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 1720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7482:19:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1721, - "modifierName": { - "id": 1717, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1166, - "src": "7471:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "7471:31:8" - } - ], - "name": "resetDispute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1710, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1741, - "src": "7414:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7414:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7404:29:8" - }, - "returnParameters": { - "id": 1722, - "nodeType": "ParameterList", - "parameters": [], - "src": "7507:0:8" - }, - "scope": 2294, - "src": "7383:204:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1888, - "nodeType": "Block", - "src": "7724:1059:8", - "statements": [ - { - "assignments": [ - 1759 - ], - "declarations": [ - { - "constant": false, - "id": 1759, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "7734:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7734:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1767, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1760, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "7752:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1762, - "indexExpression": { - "id": 1761, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "7761:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7752:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1765, - "indexExpression": { - "expression": { - "id": 1763, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7768:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7768:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7752:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1766, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "assetId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5627, - "src": "7752:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7734:53:8" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1769, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "7818:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1771, - "indexExpression": { - "id": 1770, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "7827:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7818:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1774, - "indexExpression": { - "expression": { - "id": 1772, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7834:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7834:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7818:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "accWeight", - "nodeType": "MemberAccess", - "referencedDeclaration": 5617, - "src": "7818:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 1778, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "7893:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1779, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1759, - "src": "7900:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1776, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1089, - "src": "7859:11:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "id": 1777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalStakeRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 4891, - "src": "7859:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view external returns (uint256)" - } - }, - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7859:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7818:90:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546f74616c207374616b652072657665616c656420646f65736e74206d61746368", - "id": 1782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7922:35:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ecd7c03dd4fefcf0b1a7bf52abee3e5ee96cf728822576b5a1ea0511bb7da846", - "typeString": "literal_string \"Total stake revealed doesnt match\"" - }, - "value": "Total stake revealed doesnt match" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ecd7c03dd4fefcf0b1a7bf52abee3e5ee96cf728822576b5a1ea0511bb7da846", - "typeString": "literal_string \"Total stake revealed doesnt match\"" - } - ], - "id": 1768, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7797:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7797:170:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1784, - "nodeType": "ExpressionStatement", - "src": "7797:170:8" - }, - { - "assignments": [ - 1786 - ], - "declarations": [ - { - "constant": false, - "id": 1786, - "mutability": "mutable", - "name": "median", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "7977:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7977:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1794, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1787, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "7994:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1789, - "indexExpression": { - "id": 1788, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8003:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7994:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1792, - "indexExpression": { - "expression": { - "id": 1790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8010:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8010:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7994:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1793, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "median", - "nodeType": "MemberAccess", - "referencedDeclaration": 5619, - "src": "7994:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7977:51:8" - }, - { - "assignments": [ - 1796 - ], - "declarations": [ - { - "constant": false, - "id": 1796, - "mutability": "mutable", - "name": "lowerCutoff", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "8038:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1795, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8038:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1804, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1797, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "8060:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1799, - "indexExpression": { - "id": 1798, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8069:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8060:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1802, - "indexExpression": { - "expression": { - "id": 1800, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8076:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8076:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8060:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5621, - "src": "8060:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8038:61:8" - }, - { - "assignments": [ - 1806 - ], - "declarations": [ - { - "constant": false, - "id": 1806, - "mutability": "mutable", - "name": "higherCutoff", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "8109:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8109:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1814, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1807, - "name": "disputes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4913, - "src": "8132:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute storage ref))" - } - }, - "id": 1809, - "indexExpression": { - "id": 1808, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8141:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8132:15:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute storage ref)" - } - }, - "id": 1812, - "indexExpression": { - "expression": { - "id": 1810, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8148:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8148:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8132:27:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage", - "typeString": "struct Structs.Dispute storage ref" - } - }, - "id": 1813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoff", - "nodeType": "MemberAccess", - "referencedDeclaration": 5623, - "src": "8132:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8109:63:8" - }, - { - "assignments": [ - 1816 - ], - "declarations": [ - { - "constant": false, - "id": 1816, - "mutability": "mutable", - "name": "proposerId", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "8182:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1823, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1817, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "8203:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1819, - "indexExpression": { - "id": 1818, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8218:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8203:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1821, - "indexExpression": { - "id": 1820, - "name": "blockId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1745, - "src": "8225:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8203:30:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5596, - "src": "8203:41:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8182:62:8" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1825, - "name": "median", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1786, - "src": "8273:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8282:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8273:10:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4d656469616e2063616e2774206265207a65726f", - "id": 1828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8285:22:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_caba54141c8302d91fc582341a896e0618c7585ad35d02d6bc357749c156dc4f", - "typeString": "literal_string \"Median can't be zero\"" - }, - "value": "Median can't be zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_caba54141c8302d91fc582341a896e0618c7585ad35d02d6bc357749c156dc4f", - "typeString": "literal_string \"Median can't be zero\"" - } - ], - "id": 1824, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8265:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8265:43:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1830, - "nodeType": "ExpressionStatement", - "src": "8265:43:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1831, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "8322:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1833, - "indexExpression": { - "id": 1832, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8337:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8322:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1835, - "indexExpression": { - "id": 1834, - "name": "blockId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1745, - "src": "8344:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8322:30:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1836, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5602, - "src": "8322:38:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1838, - "indexExpression": { - "id": 1837, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1759, - "src": "8361:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8322:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1839, - "name": "median", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1786, - "src": "8373:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8322:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1841, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "8395:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1843, - "indexExpression": { - "id": 1842, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8410:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8395:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1845, - "indexExpression": { - "id": 1844, - "name": "blockId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1745, - "src": "8417:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8395:30:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1846, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5605, - "src": "8395:43:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1848, - "indexExpression": { - "id": 1847, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1759, - "src": "8439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8395:52:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1849, - "name": "lowerCutoff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1796, - "src": "8451:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8395:67:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8322:140:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1852, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "8478:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1854, - "indexExpression": { - "id": 1853, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8493:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8478:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1856, - "indexExpression": { - "id": 1855, - "name": "blockId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1745, - "src": "8500:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8478:30:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1857, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5608, - "src": "8478:44:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1859, - "indexExpression": { - "id": 1858, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1759, - "src": "8523:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8478:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1860, - "name": "higherCutoff", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1806, - "src": "8535:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8478:69:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8322:225:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1886, - "nodeType": "Block", - "src": "8687:90:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "50726f706f73656420416c7465726e61746520626c6f636b206973206964656e746963616c20746f2070726f706f73656420626c6f636b", - "id": 1883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8708:57:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e0caad04d64eaccf0f1520337c6a454830add2cfcac5d358ae30ee8051ad8105", - "typeString": "literal_string \"Proposed Alternate block is identical to proposed block\"" - }, - "value": "Proposed Alternate block is identical to proposed block" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e0caad04d64eaccf0f1520337c6a454830add2cfcac5d358ae30ee8051ad8105", - "typeString": "literal_string \"Proposed Alternate block is identical to proposed block\"" - } - ], - "id": 1882, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "8701:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8701:65:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1885, - "nodeType": "ExpressionStatement", - "src": "8701:65:8" - } - ] - }, - "id": 1887, - "nodeType": "IfStatement", - "src": "8318:459:8", - "trueBody": { - "id": 1881, - "nodeType": "Block", - "src": "8549:132:8", - "statements": [ - { - "expression": { - "id": 1870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1863, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "8563:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1866, - "indexExpression": { - "id": 1864, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8578:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8563:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1867, - "indexExpression": { - "id": 1865, - "name": "blockId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1745, - "src": "8585:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8563:30:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1868, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "valid", - "nodeType": "MemberAccess", - "referencedDeclaration": 5614, - "src": "8563:36:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 1869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8602:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "8563:44:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1871, - "nodeType": "ExpressionStatement", - "src": "8563:44:8" - }, - { - "expression": { - "arguments": [ - { - "id": 1875, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1816, - "src": "8640:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 1876, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8652:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "8652:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1878, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "8664:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1872, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "8621:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 1874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "slash", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "8621:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256) external" - } - }, - "id": 1879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8621:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1880, - "nodeType": "ExpressionStatement", - "src": "8621:49:8" - } - ] - } - } - ] - }, - "functionSelector": "3cd32fd4", - "id": 1889, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1748, - "modifierName": { - "id": 1747, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "7662:11:8" - }, - "nodeType": "ModifierInvocation", - "src": "7662:11:8" - }, - { - "arguments": [ - { - "id": 1750, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1743, - "src": "7685:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1751, - "modifierName": { - "id": 1749, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1151, - "src": "7674:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "7674:17:8" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1753, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "7703:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 1754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "dispute", - "nodeType": "MemberAccess", - "referencedDeclaration": 5315, - "src": "7703:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 1755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7703:19:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1756, - "modifierName": { - "id": 1752, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1166, - "src": "7692:10:8" - }, - "nodeType": "ModifierInvocation", - "src": "7692:31:8" - } - ], - "name": "finalizeDispute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1743, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 1889, - "src": "7619:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7619:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1745, - "mutability": "mutable", - "name": "blockId", - "nodeType": "VariableDeclaration", - "scope": 1889, - "src": "7634:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7634:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7618:32:8" - }, - "returnParameters": { - "id": 1757, - "nodeType": "ParameterList", - "parameters": [], - "src": "7724:0:8" - }, - "scope": 2294, - "src": "7593:1190:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2051, - "nodeType": "Block", - "src": "8876:1180:8", - "statements": [ - { - "assignments": [ - 1900 - ], - "declarations": [ - { - "constant": false, - "id": 1900, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2051, - "src": "8886:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8886:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1904, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1901, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "8902:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 1902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4816, - "src": "8902:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 1903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8902:23:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8886:39:8" - }, - { - "body": { - "id": 2049, - "nodeType": "Block", - "src": "9003:1038:8", - "statements": [ - { - "condition": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1920, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "9021:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1924, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1921, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9036:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1922, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9044:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9036:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9021:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1926, - "indexExpression": { - "id": 1925, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "9047:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9021:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1927, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "valid", - "nodeType": "MemberAccess", - "referencedDeclaration": 5614, - "src": "9021:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2048, - "nodeType": "IfStatement", - "src": "9017:1014:8", - "trueBody": { - "id": 2047, - "nodeType": "Block", - "src": "9057:974:8", - "statements": [ - { - "expression": { - "id": 1940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1928, - "name": "blocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "9075:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5615_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref)" - } - }, - "id": 1932, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1929, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9082:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9090:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9082:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9075:17:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "baseExpression": { - "id": 1933, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "9095:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1937, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1934, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9110:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9118:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9110:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9095:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1939, - "indexExpression": { - "id": 1938, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "9121:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9095:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "src": "9075:48:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1941, - "nodeType": "ExpressionStatement", - "src": "9075:48:8" - }, - { - "assignments": [ - 1943 - ], - "declarations": [ - { - "constant": false, - "id": 1943, - "mutability": "mutable", - "name": "proposerId", - "nodeType": "VariableDeclaration", - "scope": 2047, - "src": "9141:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1942, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9141:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1952, - "initialValue": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1944, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "9162:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1948, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1945, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9177:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9185:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9177:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9162:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1950, - "indexExpression": { - "id": 1949, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "9188:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9162:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5596, - "src": "9162:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9141:60:8" - }, - { - "eventCall": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1954, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9239:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9247:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9239:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1957, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1943, - "src": "9286:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1958, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "9334:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1962, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1959, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9349:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9357:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9349:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9334:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1964, - "indexExpression": { - "id": 1963, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "9360:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9334:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1965, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5602, - "src": "9334:36:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1966, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "9408:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1970, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1967, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9423:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9431:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9423:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9408:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1972, - "indexExpression": { - "id": 1971, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "9434:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9408:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1973, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5605, - "src": "9408:41:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1974, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "9487:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1978, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1975, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9502:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9510:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9502:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9487:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1980, - "indexExpression": { - "id": 1979, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "9513:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9487:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1981, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5608, - "src": "9487:42:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1982, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "9567:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1986, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1983, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9582:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9590:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9582:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9567:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1988, - "indexExpression": { - "id": 1987, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "9593:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9567:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 1989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "jobIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 5599, - "src": "9567:35:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - { - "expression": { - "id": 1990, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "9640:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 1991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "9640:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1953, - "name": "BlockConfirmed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "9224:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256[] memory,uint256[] memory,uint256[] memory,uint256[] memory,uint256)" - } - }, - "id": 1992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9224:432:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1993, - "nodeType": "EmitStatement", - "src": "9219:437:8" - }, - { - "body": { - "id": 2037, - "nodeType": "Block", - "src": "9745:183:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "baseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2015, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "9789:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2019, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2016, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9804:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9812:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9804:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9789:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2021, - "indexExpression": { - "id": 2020, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "9815:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9789:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2022, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "jobIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 5599, - "src": "9789:35:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2024, - "indexExpression": { - "id": 2023, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "9825:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9789:38:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2025, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "9869:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2029, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2026, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9884:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9892:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9884:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9869:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2031, - "indexExpression": { - "id": 2030, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "9895:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9869:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2032, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "medians", - "nodeType": "MemberAccess", - "referencedDeclaration": 5602, - "src": "9869:36:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2034, - "indexExpression": { - "id": 2033, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "9906:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9869:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2012, - "name": "jobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1092, - "src": "9767:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "id": 2014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "fulfillJob", - "nodeType": "MemberAccess", - "referencedDeclaration": 4693, - "src": "9767:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 2035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9767:142:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2036, - "nodeType": "ExpressionStatement", - "src": "9767:142:8" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1998, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "9692:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1999, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "9696:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2003, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2000, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9711:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9719:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9711:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9696:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2005, - "indexExpression": { - "id": 2004, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "9722:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9696:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "jobIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 5599, - "src": "9696:35:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9696:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9692:46:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2038, - "initializationExpression": { - "assignments": [ - 1995 - ], - "declarations": [ - { - "constant": false, - "id": 1995, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 2038, - "src": "9679:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1994, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9679:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 1997, - "initialValue": { - "hexValue": "30", - "id": 1996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9689:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9679:11:8" - }, - "loopExpression": { - "expression": { - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9740:3:8", - "subExpression": { - "id": 2009, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "9740:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 2011, - "nodeType": "ExpressionStatement", - "src": "9740:3:8" - }, - "nodeType": "ForStatement", - "src": "9674:254:8" - }, - { - "expression": { - "arguments": [ - { - "id": 2042, - "name": "proposerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1943, - "src": "9974:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2043, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "9986:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2039, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "9945:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 2041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "giveBlockReward", - "nodeType": "MemberAccess", - "referencedDeclaration": 4762, - "src": "9945:28:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9945:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2045, - "nodeType": "ExpressionStatement", - "src": "9945:47:8" - }, - { - "functionReturnParameters": 1898, - "id": 2046, - "nodeType": "Return", - "src": "10010:7:8" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1909, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "8960:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 1910, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "8964:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 1914, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1911, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1900, - "src": "8979:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8987:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8979:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8964:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 1915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8964:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8960:36:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2050, - "initializationExpression": { - "assignments": [ - 1906 - ], - "declarations": [ - { - "constant": false, - "id": 1906, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 2050, - "src": "8949:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1905, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "8949:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 1908, - "initialValue": { - "hexValue": "30", - "id": 1907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8957:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8949:9:8" - }, - "loopExpression": { - "expression": { - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "8998:3:8", - "subExpression": { - "id": 1917, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1906, - "src": "8998:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 1919, - "nodeType": "ExpressionStatement", - "src": "8998:3:8" - }, - "nodeType": "ForStatement", - "src": "8944:1097:8" - } - ] - }, - "functionSelector": "9b87f644", - "id": 2052, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1892, - "modifierName": { - "id": 1891, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "8820:11:8" - }, - "nodeType": "ModifierInvocation", - "src": "8820:11:8" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1894, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "8841:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 1895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getBlockConfirmerHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5422, - "src": "8841:31:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 1896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8841:33:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 1897, - "modifierName": { - "id": 1893, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "8832:8:8" - }, - "nodeType": "ModifierInvocation", - "src": "8832:43:8" - } - ], - "name": "confirmBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1890, - "nodeType": "ParameterList", - "parameters": [], - "src": "8810:2:8" - }, - "returnParameters": { - "id": 1898, - "nodeType": "ParameterList", - "parameters": [], - "src": "8876:0:8" - }, - "scope": 2294, - "src": "8789:1267:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2143, - "nodeType": "Block", - "src": "10257:658:8", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "hexValue": "3130", - "id": 2067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10448:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2068, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "10452:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 2069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumStakers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4798, - "src": "10452:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10452:28:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 2074, - "name": "iteration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "10503:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2072, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "10492:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "10492:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10492:21:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2071, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "10482:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10482:32:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2065, - "name": "Random", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5570, - "src": "10436:6:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Random_$5570_$", - "typeString": "type(library Random)" - } - }, - "id": 2066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "prng", - "nodeType": "MemberAccess", - "referencedDeclaration": 5484, - "src": "10436:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_uint8_$_t_uint256_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (uint8,uint256,bytes32) view returns (uint256)" - } - }, - "id": 2077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10436:79:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "hexValue": "31", - "id": 2078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10517:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 2079, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10516:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "src": "10436:83:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2081, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10435:85:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 2082, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "10524:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10435:97:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2087, - "nodeType": "IfStatement", - "src": "10431:140:8", - "trueBody": { - "id": 2086, - "nodeType": "Block", - "src": "10534:37:8", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 2084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10555:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2064, - "id": 2085, - "nodeType": "Return", - "src": "10548:12:8" - } - ] - } - }, - { - "assignments": [ - 2089 - ], - "declarations": [ - { - "constant": false, - "id": 2089, - "mutability": "mutable", - "name": "randHash", - "nodeType": "VariableDeclaration", - "scope": 2143, - "src": "10580:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2088, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10580:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 2101, - "initialValue": { - "arguments": [ - { - "hexValue": "3130", - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10615:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 2096, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "10640:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2097, - "name": "iteration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "10650:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2094, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "10629:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "10629:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10629:31:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2093, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "10619:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10619:42:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2090, - "name": "Random", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5570, - "src": "10599:6:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Random_$5570_$", - "typeString": "type(library Random)" - } - }, - "id": 2091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "prngHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5513, - "src": "10599:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_uint8_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (uint8,bytes32) view returns (bytes32)" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10599:63:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10580:82:8" - }, - { - "assignments": [ - 2103 - ], - "declarations": [ - { - "constant": false, - "id": 2103, - "mutability": "mutable", - "name": "rand", - "nodeType": "VariableDeclaration", - "scope": 2143, - "src": "10672:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10672:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2113, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2106, - "name": "randHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2089, - "src": "10695:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10687:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2104, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10687:7:8", - "typeDescriptions": {} - } - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10687:17:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 2110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10706:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 2109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10709:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10706:5:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - } - ], - "id": 2111, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10705:7:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "10687:25:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10672:40:8" - }, - { - "assignments": [ - 2115 - ], - "declarations": [ - { - "constant": false, - "id": 2115, - "mutability": "mutable", - "name": "biggestStake", - "nodeType": "VariableDeclaration", - "scope": 2143, - "src": "10722:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10722:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2121, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 2118, - "name": "biggestStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2056, - "src": "10768:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2116, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "10745:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 2117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4793, - "src": "10745:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5594_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 2119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10745:39:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 2120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "10745:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10722:68:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2122, - "name": "rand", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "10804:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "id": 2123, - "name": "biggestStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2115, - "src": "10810:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2124, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10809:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10804:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2128, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "10849:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2126, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "10826:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 2127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4793, - "src": "10826:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5594_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 2129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10826:32:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 2130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "10826:38:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - }, - "id": 2133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10866:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 2132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10869:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10866:5:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - } - ], - "id": 2134, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10865:7:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967296_by_1", - "typeString": "int_const 4294967296" - } - }, - "src": "10826:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10804:68:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2140, - "nodeType": "IfStatement", - "src": "10800:87:8", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10881:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "id": 2138, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10880:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2064, - "id": 2139, - "nodeType": "Return", - "src": "10874:13:8" - } - }, - { - "expression": { - "hexValue": "74727565", - "id": 2141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10904:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2064, - "id": 2142, - "nodeType": "Return", - "src": "10897:11:8" - } - ] - }, - "functionSelector": "1d69ff9b", - "id": 2144, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2061, - "modifierName": { - "id": 2060, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "10217:11:8" - }, - "nodeType": "ModifierInvocation", - "src": "10217:11:8" - } - ], - "name": "isElectedProposer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2059, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2054, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 2144, - "src": "10098:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2053, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10098:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2056, - "mutability": "mutable", - "name": "biggestStakerId", - "nodeType": "VariableDeclaration", - "scope": 2144, - "src": "10125:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10125:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2058, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2144, - "src": "10158:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2057, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10158:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10088:92:8" - }, - "returnParameters": { - "id": 2064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2063, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2144, - "src": "10246:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2062, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10246:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "10245:6:8" - }, - "scope": 2294, - "src": "10062:853:8", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2292, - "nodeType": "Block", - "src": "11004:964:8", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2152, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11018:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2154, - "indexExpression": { - "id": 2153, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11033:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11018:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11018:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11050:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11018:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2167, - "nodeType": "IfStatement", - "src": "11014:118:8", - "trueBody": { - "id": 2166, - "nodeType": "Block", - "src": "11053:79:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2162, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "11094:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - ], - "expression": { - "baseExpression": { - "id": 2158, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11067:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2160, - "indexExpression": { - "id": 2159, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11082:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11067:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "11067:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Block_$5615_storage_$returns$__$", - "typeString": "function (struct Structs.Block storage ref)" - } - }, - "id": 2163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11067:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2164, - "nodeType": "ExpressionStatement", - "src": "11067:34:8" - }, - { - "functionReturnParameters": 2151, - "id": 2165, - "nodeType": "Return", - "src": "11115:7:8" - } - ] - } - }, - { - "assignments": [ - 2169 - ], - "declarations": [ - { - "constant": false, - "id": 2169, - "mutability": "mutable", - "name": "pushAt", - "nodeType": "VariableDeclaration", - "scope": 2292, - "src": "11142:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11142:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2174, - "initialValue": { - "expression": { - "baseExpression": { - "id": 2170, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11159:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2172, - "indexExpression": { - "id": 2171, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11174:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11159:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11159:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11142:45:8" - }, - { - "body": { - "id": 2220, - "nodeType": "Block", - "src": "11256:293:8", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2188, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11274:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2190, - "indexExpression": { - "id": 2189, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11289:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11274:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2192, - "indexExpression": { - "id": 2191, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "11296:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11274:24:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2193, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "biggestStake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5612, - "src": "11274:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 2194, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "11314:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 2195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "biggestStake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5612, - "src": "11314:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11274:59:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2203, - "nodeType": "IfStatement", - "src": "11270:131:8", - "trueBody": { - "id": 2202, - "nodeType": "Block", - "src": "11335:66:8", - "statements": [ - { - "expression": { - "id": 2199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2197, - "name": "pushAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "11353:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2198, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "11362:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11353:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2200, - "nodeType": "ExpressionStatement", - "src": "11353:10:8" - }, - { - "id": 2201, - "nodeType": "Break", - "src": "11381:5:8" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2204, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11418:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2206, - "indexExpression": { - "id": 2205, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11433:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11418:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2208, - "indexExpression": { - "id": 2207, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "11440:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11418:24:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2209, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "iteration", - "nodeType": "MemberAccess", - "referencedDeclaration": 5610, - "src": "11418:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 2210, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "11455:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 2211, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "iteration", - "nodeType": "MemberAccess", - "referencedDeclaration": 5610, - "src": "11455:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11418:53:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2219, - "nodeType": "IfStatement", - "src": "11414:125:8", - "trueBody": { - "id": 2218, - "nodeType": "Block", - "src": "11473:66:8", - "statements": [ - { - "expression": { - "id": 2215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2213, - "name": "pushAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "11491:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2214, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "11500:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11491:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2216, - "nodeType": "ExpressionStatement", - "src": "11491:10:8" - }, - { - "id": 2217, - "nodeType": "Break", - "src": "11519:5:8" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2179, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "11217:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 2180, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11221:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2182, - "indexExpression": { - "id": 2181, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11236:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11221:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11221:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11217:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2221, - "initializationExpression": { - "assignments": [ - 2176 - ], - "declarations": [ - { - "constant": false, - "id": 2176, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 2221, - "src": "11202:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11202:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2178, - "initialValue": { - "hexValue": "30", - "id": 2177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11214:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11202:13:8" - }, - "loopExpression": { - "expression": { - "id": 2186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "11251:3:8", - "subExpression": { - "id": 2185, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "11251:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2187, - "nodeType": "ExpressionStatement", - "src": "11251:3:8" - }, - "nodeType": "ForStatement", - "src": "11197:352:8" - }, - { - "expression": { - "arguments": [ - { - "id": 2226, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "11586:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - ], - "expression": { - "baseExpression": { - "id": 2222, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11559:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2224, - "indexExpression": { - "id": 2223, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11574:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11559:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "11559:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Block_$5615_storage_$returns$__$", - "typeString": "function (struct Structs.Block storage ref)" - } - }, - "id": 2227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11559:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2228, - "nodeType": "ExpressionStatement", - "src": "11559:34:8" - }, - { - "body": { - "id": 2259, - "nodeType": "Block", - "src": "11673:80:8", - "statements": [ - { - "expression": { - "id": 2257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 2245, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11687:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2248, - "indexExpression": { - "id": 2246, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11702:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11687:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2249, - "indexExpression": { - "id": 2247, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2230, - "src": "11709:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11687:24:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "baseExpression": { - "id": 2250, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11714:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2252, - "indexExpression": { - "id": 2251, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11729:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11714:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2256, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2253, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2230, - "src": "11736:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11740:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11736:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11714:28:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "src": "11687:55:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2258, - "nodeType": "ExpressionStatement", - "src": "11687:55:8" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2238, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2230, - "src": "11654:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "components": [ - { - "id": 2239, - "name": "pushAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "11659:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2240, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11658:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11654:12:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2260, - "initializationExpression": { - "assignments": [ - 2230 - ], - "declarations": [ - { - "constant": false, - "id": 2230, - "mutability": "mutable", - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 2260, - "src": "11608:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11608:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2237, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2231, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11620:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2233, - "indexExpression": { - "id": 2232, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11635:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11620:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11620:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11651:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11620:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11608:44:8" - }, - "loopExpression": { - "expression": { - "id": 2243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "11668:3:8", - "subExpression": { - "id": 2242, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2230, - "src": "11668:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2244, - "nodeType": "ExpressionStatement", - "src": "11668:3:8" - }, - "nodeType": "ForStatement", - "src": "11603:150:8" - }, - { - "expression": { - "id": 2267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 2261, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11763:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2264, - "indexExpression": { - "id": 2262, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11778:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11763:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2265, - "indexExpression": { - "id": 2263, - "name": "pushAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "11785:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11763:29:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2266, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "11795:6:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "src": "11763:38:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "id": 2268, - "nodeType": "ExpressionStatement", - "src": "11763:38:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2269, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11816:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2271, - "indexExpression": { - "id": 2270, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11831:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11816:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11816:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2273, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "11847:9:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "maxAltBlocks", - "nodeType": "MemberAccess", - "referencedDeclaration": 5377, - "src": "11847:22:8", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 2275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11847:24:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11816:55:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2291, - "nodeType": "IfStatement", - "src": "11812:150:8", - "trueBody": { - "id": 2290, - "nodeType": "Block", - "src": "11873:89:8", - "statements": [ - { - "expression": { - "id": 2288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "11887:64:8", - "subExpression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "id": 2277, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11895:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2279, - "indexExpression": { - "id": 2278, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11910:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11895:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2286, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2280, - "name": "proposedBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "11917:14:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block storage ref[] storage ref)" - } - }, - "id": 2282, - "indexExpression": { - "id": 2281, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2146, - "src": "11932:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11917:21:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage", - "typeString": "struct Structs.Block storage ref[] storage ref" - } - }, - "id": 2283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11917:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11948:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11917:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11895:55:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - } - ], - "id": 2287, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11894:57:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage", - "typeString": "struct Structs.Block storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2289, - "nodeType": "ExpressionStatement", - "src": "11887:64:8" - } - ] - } - } - ] - }, - "id": 2293, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_insertAppropriately", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2150, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2146, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2293, - "src": "10951:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2145, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10951:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2149, - "mutability": "mutable", - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 2293, - "src": "10966:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block" - }, - "typeName": { - "id": 2148, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2147, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5615, - "src": "10966:13:8" - }, - "referencedDeclaration": 5615, - "src": "10966:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "visibility": "internal" - } - ], - "src": "10950:44:8" - }, - "returnParameters": { - "id": 2151, - "nodeType": "ParameterList", - "parameters": [], - "src": "11004:0:8" - }, - "scope": 2294, - "src": "10921:1047:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2295, - "src": "370:11602:8" - } - ], - "src": "39:11934:8" - }, - "id": 8 - }, - "contracts/Core/JobManager.sol": { - "ast": { - "absolutePath": "contracts/Core/JobManager.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "Constants": [ - 5450 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "IAccessControl": [ - 42 - ], - "IERC165": [ - 1031 - ], - "IStateManager": [ - 4822 - ], - "JobManager": [ - 2556 - ], - "JobStorage": [ - 4936 - ], - "Structs": [ - 5650 - ] - }, - "id": 2557, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2296, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:9" - }, - { - "absolutePath": "contracts/Core/interface/IStateManager.sol", - "file": "./interface/IStateManager.sol", - "id": 2297, - "nodeType": "ImportDirective", - "scope": 2557, - "sourceUnit": 4823, - "src": "64:39:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/storage/JobStorage.sol", - "file": "./storage/JobStorage.sol", - "id": 2298, - "nodeType": "ImportDirective", - "scope": 2557, - "sourceUnit": 4937, - "src": "104:34:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 2299, - "nodeType": "ImportDirective", - "scope": 2557, - "sourceUnit": 5451, - "src": "139:30:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/ACL.sol", - "file": "./ACL.sol", - "id": 2300, - "nodeType": "ImportDirective", - "scope": 2557, - "sourceUnit": 1064, - "src": "170:19:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2301, - "name": "ACL", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1063, - "src": "215:3:9" - }, - "id": 2302, - "nodeType": "InheritanceSpecifier", - "src": "215:3:9" - }, - { - "baseName": { - "id": 2303, - "name": "JobStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4936, - "src": "220:10:9" - }, - "id": 2304, - "nodeType": "InheritanceSpecifier", - "src": "220:10:9" - } - ], - "contractDependencies": [ - 42, - 322, - 924, - 1019, - 1031, - 1063, - 4936 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2556, - "linearizedBaseContracts": [ - 2556, - 4936, - 1063, - 322, - 1019, - 1031, - 42, - 924 - ], - "name": "JobManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "2e716fb1", - "id": 2307, - "mutability": "mutable", - "name": "stateManager", - "nodeType": "VariableDeclaration", - "scope": 2556, - "src": "238:33:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - }, - "typeName": { - "id": 2306, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2305, - "name": "IStateManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4822, - "src": "238:13:9" - }, - "referencedDeclaration": 4822, - "src": "238:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "visibility": "public" - }, - { - "anonymous": false, - "id": 2327, - "name": "JobCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 2326, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2309, - "indexed": false, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "304:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "304:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2311, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "324:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "324:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2313, - "indexed": false, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "347:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2312, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "347:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2315, - "indexed": false, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "367:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2314, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "367:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2317, - "indexed": false, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "392:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2316, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "392:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2319, - "indexed": false, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "413:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2318, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "413:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2321, - "indexed": false, - "mutability": "mutable", - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "434:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2320, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "434:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2323, - "indexed": false, - "mutability": "mutable", - "name": "credit", - "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "459:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2322, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "459:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2325, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2327, - "src": "483:17:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "483:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "294:212:9" - }, - "src": "278:229:9" - }, - { - "anonymous": false, - "id": 2351, - "name": "JobReported", - "nodeType": "EventDefinition", - "parameters": { - "id": 2350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2329, - "indexed": false, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "540:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2328, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "540:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2331, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "560:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2333, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "583:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "583:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2335, - "indexed": false, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "606:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2334, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "606:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2337, - "indexed": false, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "626:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2336, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "626:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2339, - "indexed": false, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "651:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2338, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "651:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2341, - "indexed": false, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "672:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2340, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "672:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2343, - "indexed": false, - "mutability": "mutable", - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "693:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "693:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2345, - "indexed": false, - "mutability": "mutable", - "name": "credit", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "718:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "718:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2347, - "indexed": false, - "mutability": "mutable", - "name": "fulfilled", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "742:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2346, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "742:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2349, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2351, - "src": "766:17:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "766:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "530:259:9" - }, - "src": "513:277:9" - }, - { - "body": { - "id": 2362, - "nodeType": "Block", - "src": "837:66:9", - "statements": [ - { - "expression": { - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2356, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2307, - "src": "847:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2358, - "name": "stateManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2353, - "src": "876:19:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2357, - "name": "IStateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4822, - "src": "862:13:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStateManager_$4822_$", - "typeString": "type(contract IStateManager)" - } - }, - "id": 2359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "862:34:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "src": "847:49:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 2361, - "nodeType": "ExpressionStatement", - "src": "847:49:9" - } - ] - }, - "id": 2363, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2353, - "mutability": "mutable", - "name": "stateManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 2363, - "src": "808:27:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "808:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "807:29:9" - }, - "returnParameters": { - "id": 2355, - "nodeType": "ParameterList", - "parameters": [], - "src": "837:0:9" - }, - "scope": 2556, - "src": "796:107:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2428, - "nodeType": "Block", - "src": "1074:607:9", - "statements": [ - { - "expression": { - "id": 2378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2374, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "1084:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2375, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "1094:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 2376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1104:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1094:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1084:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2379, - "nodeType": "ExpressionStatement", - "src": "1084:21:9" - }, - { - "assignments": [ - 2381 - ], - "declarations": [ - { - "constant": false, - "id": 2381, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2428, - "src": "1115:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2380, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1115:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2385, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2382, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2307, - "src": "1131:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 2383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4816, - "src": "1131:21:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1131:23:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1115:39:9" - }, - { - "assignments": [ - 2390 - ], - "declarations": [ - { - "constant": false, - "id": 2390, - "mutability": "mutable", - "name": "job", - "nodeType": "VariableDeclaration", - "scope": 2428, - "src": "1164:22:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_memory_ptr", - "typeString": "struct Structs.Job" - }, - "typeName": { - "id": 2389, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2388, - "name": "Structs.Job", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5649, - "src": "1164:11:9" - }, - "referencedDeclaration": 5649, - "src": "1164:11:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job" - } - }, - "visibility": "internal" - } - ], - "id": 2406, - "initialValue": { - "arguments": [ - { - "id": 2393, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "1214:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2394, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2381, - "src": "1235:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2395, - "name": "url", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "1254:3:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2396, - "name": "selector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2367, - "src": "1271:8:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2397, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2369, - "src": "1293:4:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2398, - "name": "repeat", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "1311:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "expression": { - "id": 2399, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1331:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1331:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 2401, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1355:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "1355:9:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "66616c7365", - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1378:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 2404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1397:1:9", - "typeDescriptions": { - "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_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 2391, - "name": "Structs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5650, - "src": "1189:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Structs_$5650_$", - "typeString": "type(library Structs)" - } - }, - "id": 2392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "Job", - "nodeType": "MemberAccess", - "referencedDeclaration": 5649, - "src": "1189:11:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Job_$5649_storage_ptr_$", - "typeString": "type(struct Structs.Job storage pointer)" - } - }, - "id": 2405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1189:219:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1164:244:9" - }, - { - "expression": { - "id": 2411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2407, - "name": "jobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4935, - "src": "1418:4:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5649_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job storage ref)" - } - }, - "id": 2409, - "indexExpression": { - "id": 2408, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "1423:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1418:13:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage", - "typeString": "struct Structs.Job storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2410, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2390, - "src": "1434:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "src": "1418:19:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage", - "typeString": "struct Structs.Job storage ref" - } - }, - "id": 2412, - "nodeType": "ExpressionStatement", - "src": "1418:19:9" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2414, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "1485:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2415, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2381, - "src": "1506:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2416, - "name": "url", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "1525:3:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2417, - "name": "selector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2367, - "src": "1542:8:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2418, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2369, - "src": "1564:4:9", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 2419, - "name": "repeat", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "1582:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "expression": { - "id": 2420, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1602:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1602:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 2422, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1626:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "1626:9:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2424, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1649:5:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1649:15:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2413, - "name": "JobCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "1461:10:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,string memory,string memory,bool,address,uint256,uint256)" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1461:213:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2427, - "nodeType": "EmitStatement", - "src": "1456:218:9" - } - ] - }, - "functionSelector": "628aff1d", - "id": 2429, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2365, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 2429, - "src": "941:19:9", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2364, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "941:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2367, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 2429, - "src": "970:24:9", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2366, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "970:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2369, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2429, - "src": "1004:20:9", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2368, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1004:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2371, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 2429, - "src": "1034:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1034:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "931:120:9" - }, - "returnParameters": { - "id": 2373, - "nodeType": "ParameterList", - "parameters": [], - "src": "1074:0:9" - }, - "scope": 2556, - "src": "913:768:9", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2496, - "nodeType": "Block", - "src": "1831:496:9", - "statements": [ - { - "assignments": [ - 2445 - ], - "declarations": [ - { - "constant": false, - "id": 2445, - "mutability": "mutable", - "name": "job", - "nodeType": "VariableDeclaration", - "scope": 2496, - "src": "1841:23:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job" - }, - "typeName": { - "id": 2444, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2443, - "name": "Structs.Job", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5649, - "src": "1841:11:9" - }, - "referencedDeclaration": 5649, - "src": "1841:11:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job" - } - }, - "visibility": "internal" - } - ], - "id": 2449, - "initialValue": { - "baseExpression": { - "id": 2446, - "name": "jobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4935, - "src": "1867:4:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5649_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job storage ref)" - } - }, - "id": 2448, - "indexExpression": { - "id": 2447, - "name": "jobId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "1872:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1867:11:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage", - "typeString": "struct Structs.Job storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1841:37:9" - }, - { - "assignments": [ - 2451 - ], - "declarations": [ - { - "constant": false, - "id": 2451, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2496, - "src": "1888:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1888:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2455, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2452, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2307, - "src": "1904:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 2453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4816, - "src": "1904:21:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1904:23:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1888:39:9" - }, - { - "condition": { - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1942:11:9", - "subExpression": { - "expression": { - "id": 2456, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "1943:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2457, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "repeat", - "nodeType": "MemberAccess", - "referencedDeclaration": 5640, - "src": "1943:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2466, - "nodeType": "IfStatement", - "src": "1938:62:9", - "trueBody": { - "id": 2465, - "nodeType": "Block", - "src": "1955:45:9", - "statements": [ - { - "expression": { - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 2459, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "1969:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fulfilled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5646, - "src": "1969:13:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 2462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1985:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1969:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2464, - "nodeType": "ExpressionStatement", - "src": "1969:20:9" - } - ] - } - }, - { - "expression": { - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 2467, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "2010:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2469, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "2010:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2470, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2433, - "src": "2023:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2010:18:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2472, - "nodeType": "ExpressionStatement", - "src": "2010:18:9" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 2474, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "2068:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5630, - "src": "2068:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2476, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2433, - "src": "2088:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2477, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2451, - "src": "2107:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2478, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "2126:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "url", - "nodeType": "MemberAccess", - "referencedDeclaration": 5634, - "src": "2126:7:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "expression": { - "id": 2480, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "2147:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "2147:12:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "expression": { - "id": 2482, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "2173:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "2173:8:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "expression": { - "id": 2484, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "2195:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2485, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "repeat", - "nodeType": "MemberAccess", - "referencedDeclaration": 5640, - "src": "2195:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "expression": { - "id": 2486, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "2219:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5642, - "src": "2219:11:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 2488, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "2244:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2489, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "credit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5644, - "src": "2244:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2490, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2445, - "src": "2268:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job storage pointer" - } - }, - "id": 2491, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fulfilled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5646, - "src": "2268:13:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "expression": { - "id": 2492, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2295:5:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "2295:15:9", - "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_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2473, - "name": "JobReported", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2351, - "src": "2043:11:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_address_$_t_uint256_$_t_bool_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,string memory,string memory,string memory,bool,address,uint256,bool,uint256)" - } - }, - "id": 2494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2043:277:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2495, - "nodeType": "EmitStatement", - "src": "2038:282:9" - } - ] - }, - "functionSelector": "56350bdf", - "id": 2497, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2436, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "1794:9:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getJobConfirmerHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5413, - "src": "1794:29:9", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1794:31:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2439, - "modifierName": { - "id": 2435, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "1785:8:9" - }, - "nodeType": "ModifierInvocation", - "src": "1785:41:9" - } - ], - "name": "fulfillJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2431, - "mutability": "mutable", - "name": "jobId", - "nodeType": "VariableDeclaration", - "scope": 2497, - "src": "1716:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1716:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2433, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2497, - "src": "1739:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1739:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1706:52:9" - }, - "returnParameters": { - "id": 2440, - "nodeType": "ParameterList", - "parameters": [], - "src": "1831:0:9" - }, - "scope": 2556, - "src": "1687:640:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2509, - "nodeType": "Block", - "src": "2395:39:9", - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 2504, - "name": "jobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4935, - "src": "2412:4:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5649_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job storage ref)" - } - }, - "id": 2506, - "indexExpression": { - "id": 2505, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2499, - "src": "2417:2:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2412:8:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage", - "typeString": "struct Structs.Job storage ref" - } - }, - "id": 2507, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "2412:15:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2503, - "id": 2508, - "nodeType": "Return", - "src": "2405:22:9" - } - ] - }, - "functionSelector": "995e4339", - "id": 2510, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getResult", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2499, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 2510, - "src": "2352:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2498, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2352:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2351:12:9" - }, - "returnParameters": { - "id": 2503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2502, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2510, - "src": "2386:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2386:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2385:9:9" - }, - "scope": 2556, - "src": "2333:101:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2546, - "nodeType": "Block", - "src": "2696:123:9", - "statements": [ - { - "assignments": [ - 2529 - ], - "declarations": [ - { - "constant": false, - "id": 2529, - "mutability": "mutable", - "name": "job", - "nodeType": "VariableDeclaration", - "scope": 2546, - "src": "2706:22:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_memory_ptr", - "typeString": "struct Structs.Job" - }, - "typeName": { - "id": 2528, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2527, - "name": "Structs.Job", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5649, - "src": "2706:11:9" - }, - "referencedDeclaration": 5649, - "src": "2706:11:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job" - } - }, - "visibility": "internal" - } - ], - "id": 2533, - "initialValue": { - "baseExpression": { - "id": 2530, - "name": "jobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4935, - "src": "2731:4:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5649_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job storage ref)" - } - }, - "id": 2532, - "indexExpression": { - "id": 2531, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "2736:2:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2731:8:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage", - "typeString": "struct Structs.Job storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2706:33:9" - }, - { - "expression": { - "components": [ - { - "expression": { - "id": 2534, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2529, - "src": "2756:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "id": 2535, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "url", - "nodeType": "MemberAccess", - "referencedDeclaration": 5634, - "src": "2756:7:9", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "expression": { - "id": 2536, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2529, - "src": "2765:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "id": 2537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": 5636, - "src": "2765:12:9", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "expression": { - "id": 2538, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2529, - "src": "2779:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "id": 2539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 5638, - "src": "2779:8:9", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "expression": { - "id": 2540, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2529, - "src": "2789:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "id": 2541, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "repeat", - "nodeType": "MemberAccess", - "referencedDeclaration": 5640, - "src": "2789:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "expression": { - "id": 2542, - "name": "job", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2529, - "src": "2801:3:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_memory_ptr", - "typeString": "struct Structs.Job memory" - } - }, - "id": 2543, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 5648, - "src": "2801:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2544, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2755:57:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_uint256_$", - "typeString": "tuple(string memory,string memory,string memory,bool,uint256)" - } - }, - "functionReturnParameters": 2524, - "id": 2545, - "nodeType": "Return", - "src": "2749:63:9" - } - ] - }, - "functionSelector": "bf22c457", - "id": 2547, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2513, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2512, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 2547, - "src": "2465:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2511, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2465:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2455:26:9" - }, - "returnParameters": { - "id": 2524, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2515, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 2547, - "src": "2542:17:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2514, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2542:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2517, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 2547, - "src": "2573:22:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2516, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2573:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2519, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2547, - "src": "2609:18:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2518, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2609:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2521, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 2547, - "src": "2641:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2520, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2641:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2523, - "mutability": "mutable", - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 2547, - "src": "2666:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2522, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2666:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2528:162:9" - }, - "scope": 2556, - "src": "2440:379:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2554, - "nodeType": "Block", - "src": "2878:31:9", - "statements": [ - { - "expression": { - "id": 2552, - "name": "numJobs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "2895:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2551, - "id": 2553, - "nodeType": "Return", - "src": "2888:14:9" - } - ] - }, - "functionSelector": "7e0c00ed", - "id": 2555, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getNumJobs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2548, - "nodeType": "ParameterList", - "parameters": [], - "src": "2844:2:9" - }, - "returnParameters": { - "id": 2551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2550, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2555, - "src": "2869:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2549, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2869:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2868:9:9" - }, - "scope": 2556, - "src": "2825:84:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2557, - "src": "192:2719:9" - } - ], - "src": "39:2873:9" - }, - "id": 9 - }, - "contracts/Core/StakeManager.sol": { - "ast": { - "absolutePath": "contracts/Core/StakeManager.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "Constants": [ - 5450 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "ERC20": [ - 823 - ], - "IAccessControl": [ - 42 - ], - "IBlockManager": [ - 4675 - ], - "IERC165": [ - 1031 - ], - "IERC20": [ - 901 - ], - "IStateManager": [ - 4822 - ], - "IVoteManager": [ - 4903 - ], - "Initializable": [ - 5185 - ], - "SchellingCoin": [ - 5277 - ], - "StakeManager": [ - 3955 - ], - "StakeStorage": [ - 4957 - ], - "Structs": [ - 5650 - ] - }, - "id": 3956, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2558, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:10" - }, - { - "absolutePath": "contracts/Core/interface/IStateManager.sol", - "file": "./interface/IStateManager.sol", - "id": 2559, - "nodeType": "ImportDirective", - "scope": 3956, - "sourceUnit": 4823, - "src": "64:39:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IBlockManager.sol", - "file": "./interface/IBlockManager.sol", - "id": 2560, - "nodeType": "ImportDirective", - "scope": 3956, - "sourceUnit": 4676, - "src": "104:39:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IVoteManager.sol", - "file": "./interface/IVoteManager.sol", - "id": 2561, - "nodeType": "ImportDirective", - "scope": 3956, - "sourceUnit": 4904, - "src": "144:38:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/storage/StakeStorage.sol", - "file": "./storage/StakeStorage.sol", - "id": 2562, - "nodeType": "ImportDirective", - "scope": 3956, - "sourceUnit": 4958, - "src": "183:36:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 2563, - "nodeType": "ImportDirective", - "scope": 3956, - "sourceUnit": 5451, - "src": "220:30:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 2564, - "nodeType": "ImportDirective", - "scope": 3956, - "sourceUnit": 5451, - "src": "251:30:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Initializable.sol", - "file": "../Initializable.sol", - "id": 2565, - "nodeType": "ImportDirective", - "scope": 3956, - "sourceUnit": 5186, - "src": "282:30:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/SchellingCoin.sol", - "file": "../SchellingCoin.sol", - "id": 2566, - "nodeType": "ImportDirective", - "scope": 3956, - "sourceUnit": 5278, - "src": "313:30:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/ACL.sol", - "file": "./ACL.sol", - "id": 2567, - "nodeType": "ImportDirective", - "scope": 3956, - "sourceUnit": 1064, - "src": "344:19:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2569, - "name": "Initializable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5185, - "src": "509:13:10" - }, - "id": 2570, - "nodeType": "InheritanceSpecifier", - "src": "509:13:10" - }, - { - "baseName": { - "id": 2571, - "name": "ACL", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1063, - "src": "524:3:10" - }, - "id": 2572, - "nodeType": "InheritanceSpecifier", - "src": "524:3:10" - }, - { - "baseName": { - "id": 2573, - "name": "StakeStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4957, - "src": "529:12:10" - }, - "id": 2574, - "nodeType": "InheritanceSpecifier", - "src": "529:12:10" - } - ], - "contractDependencies": [ - 42, - 322, - 924, - 1019, - 1031, - 1063, - 4957, - 5185 - ], - "contractKind": "contract", - "documentation": { - "id": 2568, - "nodeType": "StructuredDocumentation", - "src": "366:117:10", - "text": "@title StakeManager\n @notice StakeManager handles stake, unstake, withdraw, reward, functions\n for stakers" - }, - "fullyImplemented": true, - "id": 3955, - "linearizedBaseContracts": [ - 3955, - 4957, - 1063, - 322, - 1019, - 1031, - 42, - 924, - 5185 - ], - "name": "StakeManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "c584bb9f", - "id": 2577, - "mutability": "mutable", - "name": "sch", - "nodeType": "VariableDeclaration", - "scope": 3955, - "src": "549:24:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5277", - "typeString": "contract SchellingCoin" - }, - "typeName": { - "id": 2576, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2575, - "name": "SchellingCoin", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5277, - "src": "549:13:10" - }, - "referencedDeclaration": 5277, - "src": "549:13:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5277", - "typeString": "contract SchellingCoin" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "42c1e587", - "id": 2580, - "mutability": "mutable", - "name": "voteManager", - "nodeType": "VariableDeclaration", - "scope": 3955, - "src": "579:31:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - }, - "typeName": { - "id": 2579, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2578, - "name": "IVoteManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4903, - "src": "579:12:10" - }, - "referencedDeclaration": 4903, - "src": "579:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d9169b32", - "id": 2583, - "mutability": "mutable", - "name": "blockManager", - "nodeType": "VariableDeclaration", - "scope": 3955, - "src": "616:33:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - }, - "typeName": { - "id": 2582, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2581, - "name": "IBlockManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4675, - "src": "616:13:10" - }, - "referencedDeclaration": 4675, - "src": "616:13:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2e716fb1", - "id": 2586, - "mutability": "mutable", - "name": "stateManager", - "nodeType": "VariableDeclaration", - "scope": 3955, - "src": "655:33:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - }, - "typeName": { - "id": 2585, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2584, - "name": "IStateManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4822, - "src": "655:13:10" - }, - "referencedDeclaration": 4822, - "src": "655:13:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "visibility": "public" - }, - { - "anonymous": false, - "id": 2600, - "name": "StakeChange", - "nodeType": "EventDefinition", - "parameters": { - "id": 2599, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2588, - "indexed": true, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2600, - "src": "722:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2587, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "722:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2590, - "indexed": false, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 2600, - "src": "756:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2589, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2592, - "indexed": false, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 2600, - "src": "787:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2591, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "787:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2594, - "indexed": false, - "mutability": "mutable", - "name": "reason", - "nodeType": "VariableDeclaration", - "scope": 2600, - "src": "813:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2593, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "813:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2596, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2600, - "src": "836:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2595, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "836:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2598, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2600, - "src": "859:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2597, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "859:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "712:170:10" - }, - "src": "695:188:10" - }, - { - "anonymous": false, - "id": 2610, - "name": "RewardPoolChange", - "nodeType": "EventDefinition", - "parameters": { - "id": 2609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2602, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2610, - "src": "921:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2601, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "921:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2604, - "indexed": false, - "mutability": "mutable", - "name": "prevRewardPool", - "nodeType": "VariableDeclaration", - "scope": 2610, - "src": "944:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "944:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2606, - "indexed": false, - "mutability": "mutable", - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 2610, - "src": "976:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "976:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2608, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2610, - "src": "1004:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "911:116:10" - }, - "src": "889:139:10" - }, - { - "anonymous": false, - "id": 2620, - "name": "StakeGettingRewardChange", - "nodeType": "EventDefinition", - "parameters": { - "id": 2619, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2612, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2620, - "src": "1073:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1073:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2614, - "indexed": false, - "mutability": "mutable", - "name": "prevStakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 2620, - "src": "1096:30:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1096:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2616, - "indexed": false, - "mutability": "mutable", - "name": "stakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 2620, - "src": "1136:26:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1136:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2618, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2620, - "src": "1172:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2617, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1172:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1063:132:10" - }, - "src": "1033:163:10" - }, - { - "anonymous": false, - "id": 2632, - "name": "Staked", - "nodeType": "EventDefinition", - "parameters": { - "id": 2631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2622, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "1224:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2621, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1224:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2624, - "indexed": true, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "1247:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1247:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2626, - "indexed": false, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "1281:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2625, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1281:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2628, - "indexed": false, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "1312:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2627, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1312:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2630, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "1338:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2629, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1338:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1214:147:10" - }, - "src": "1202:160:10" - }, - { - "anonymous": false, - "id": 2644, - "name": "Unstaked", - "nodeType": "EventDefinition", - "parameters": { - "id": 2643, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2634, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2644, - "src": "1392:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1392:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2636, - "indexed": true, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2644, - "src": "1415:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1415:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2638, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2644, - "src": "1449:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2637, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1449:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2640, - "indexed": false, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 2644, - "src": "1473:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2639, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1473:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2642, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2644, - "src": "1499:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2641, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1499:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1382:140:10" - }, - "src": "1368:155:10" - }, - { - "anonymous": false, - "id": 2656, - "name": "Withdrew", - "nodeType": "EventDefinition", - "parameters": { - "id": 2655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2646, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2656, - "src": "1553:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1553:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2648, - "indexed": true, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2656, - "src": "1576:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2647, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1576:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2650, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2656, - "src": "1610:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1610:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2652, - "indexed": false, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 2656, - "src": "1634:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1634:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2654, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 2656, - "src": "1660:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1660:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1543:140:10" - }, - "src": "1529:155:10" - }, - { - "body": { - "id": 2670, - "nodeType": "Block", - "src": "1726:88:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2661, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "1744:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2662, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "1753:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 2663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4816, - "src": "1753:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1753:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1744:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f72726563742065706f6368", - "id": 2666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1778:17:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - }, - "value": "incorrect epoch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - } - ], - "id": 2660, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1736:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1736:60:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2668, - "nodeType": "ExpressionStatement", - "src": "1736:60:10" - }, - { - "id": 2669, - "nodeType": "PlaceholderStatement", - "src": "1806:1:10" - } - ] - }, - "id": 2671, - "name": "checkEpoch", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2658, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2671, - "src": "1711:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1711:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1710:15:10" - }, - "src": "1690:124:10", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2685, - "nodeType": "Block", - "src": "1856:88:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2676, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2673, - "src": "1874:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2677, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "1883:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 2678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4821, - "src": "1883:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1883:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1874:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f7272656374207374617465", - "id": 2681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1908:17:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - }, - "value": "incorrect state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - } - ], - "id": 2675, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1866:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1866:60:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2683, - "nodeType": "ExpressionStatement", - "src": "1866:60:10" - }, - { - "id": 2684, - "nodeType": "PlaceholderStatement", - "src": "1936:1:10" - } - ] - }, - "id": 2686, - "name": "checkState", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2673, - "mutability": "mutable", - "name": "state", - "nodeType": "VariableDeclaration", - "scope": 2686, - "src": "1841:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1841:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1840:15:10" - }, - "src": "1820:124:10", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2695, - "nodeType": "Block", - "src": "1985:43:10", - "statements": [ - { - "expression": { - "id": 2693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2691, - "name": "blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "1995:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2692, - "name": "_blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "2009:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1995:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2694, - "nodeType": "ExpressionStatement", - "src": "1995:26:10" - } - ] - }, - "id": 2696, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2688, - "mutability": "mutable", - "name": "_blockReward", - "nodeType": "VariableDeclaration", - "scope": 2696, - "src": "1963:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1963:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1962:22:10" - }, - "returnParameters": { - "id": 2690, - "nodeType": "ParameterList", - "parameters": [], - "src": "1985:0:10" - }, - "scope": 3955, - "src": "1950:78:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2737, - "nodeType": "Block", - "src": "2557:223:10", - "statements": [ - { - "expression": { - "id": 2717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2713, - "name": "sch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2577, - "src": "2567:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5277", - "typeString": "contract SchellingCoin" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2715, - "name": "schAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2699, - "src": "2587:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2714, - "name": "SchellingCoin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "src": "2573:13:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SchellingCoin_$5277_$", - "typeString": "type(contract SchellingCoin)" - } - }, - "id": 2716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2573:25:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5277", - "typeString": "contract SchellingCoin" - } - }, - "src": "2567:31:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5277", - "typeString": "contract SchellingCoin" - } - }, - "id": 2718, - "nodeType": "ExpressionStatement", - "src": "2567:31:10" - }, - { - "expression": { - "id": 2723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2719, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2580, - "src": "2608:11:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2721, - "name": "voteManagersAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2701, - "src": "2635:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2720, - "name": "IVoteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4903, - "src": "2622:12:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IVoteManager_$4903_$", - "typeString": "type(contract IVoteManager)" - } - }, - "id": 2722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2622:33:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "src": "2608:47:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "id": 2724, - "nodeType": "ExpressionStatement", - "src": "2608:47:10" - }, - { - "expression": { - "id": 2729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2725, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "2665:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2727, - "name": "blockManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2703, - "src": "2694:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2726, - "name": "IBlockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4675, - "src": "2680:13:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBlockManager_$4675_$", - "typeString": "type(contract IBlockManager)" - } - }, - "id": 2728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2680:34:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "src": "2665:49:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "id": 2730, - "nodeType": "ExpressionStatement", - "src": "2665:49:10" - }, - { - "expression": { - "id": 2735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2731, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "2724:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2733, - "name": "stateManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2705, - "src": "2753:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2732, - "name": "IStateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4822, - "src": "2739:13:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStateManager_$4822_$", - "typeString": "type(contract IStateManager)" - } - }, - "id": 2734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2739:34:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "src": "2724:49:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 2736, - "nodeType": "ExpressionStatement", - "src": "2724:49:10" - } - ] - }, - "documentation": { - "id": 2697, - "nodeType": "StructuredDocumentation", - "src": "2034:298:10", - "text": "@param schAddress The address of the Schelling token ERC20 contract\n @param voteManagersAddress The address of the VoteManager contract\n @param blockManagerAddress The address of the BlockManager contract\n @param stateManagerAddress The address of the StateManager contract" - }, - "functionSelector": "f8c8765e", - "id": 2738, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2708, - "modifierName": { - "id": 2707, - "name": "initializer", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5175, - "src": "2512:11:10" - }, - "nodeType": "ModifierInvocation", - "src": "2512:11:10" - }, - { - "arguments": [ - { - "id": 2710, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 64, - "src": "2533:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2711, - "modifierName": { - "id": 2709, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "2524:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "2524:28:10" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2699, - "mutability": "mutable", - "name": "schAddress", - "nodeType": "VariableDeclaration", - "scope": 2738, - "src": "2367:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2698, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2367:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2701, - "mutability": "mutable", - "name": "voteManagersAddress", - "nodeType": "VariableDeclaration", - "scope": 2738, - "src": "2395:27:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2700, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2395:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2703, - "mutability": "mutable", - "name": "blockManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 2738, - "src": "2432:27:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2702, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2432:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2705, - "mutability": "mutable", - "name": "stateManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 2738, - "src": "2469:27:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2469:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2357:145:10" - }, - "returnParameters": { - "id": 2712, - "nodeType": "ParameterList", - "parameters": [], - "src": "2557:0:10" - }, - "scope": 3955, - "src": "2337:443:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2760, - "nodeType": "Block", - "src": "3089:68:10", - "statements": [ - { - "expression": { - "id": 2758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2753, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "3099:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2755, - "indexExpression": { - "id": 2754, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2741, - "src": "3107:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3099:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2756, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5589, - "src": "3099:30:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2757, - "name": "_epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2743, - "src": "3132:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3099:51:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2759, - "nodeType": "ExpressionStatement", - "src": "3099:51:10" - } - ] - }, - "documentation": { - "id": 2739, - "nodeType": "StructuredDocumentation", - "src": "2786:123:10", - "text": "@param _id The ID of the staker\n @param _epochLastRevealed The number of epoch that staker revealed asset values" - }, - "functionSelector": "9864f70a", - "id": 2761, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2746, - "modifierName": { - "id": 2745, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "3022:11:10" - }, - "nodeType": "ModifierInvocation", - "src": "3022:11:10" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2748, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "3043:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakerActivityUpdaterHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "3043:38:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3043:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2751, - "modifierName": { - "id": 2747, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "3034:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "3034:50:10" - } - ], - "name": "setStakerEpochLastRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2744, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2741, - "mutability": "mutable", - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2761, - "src": "2959:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2959:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2743, - "mutability": "mutable", - "name": "_epochLastRevealed", - "nodeType": "VariableDeclaration", - "scope": 2761, - "src": "2980:26:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2980:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2949:63:10" - }, - "returnParameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [], - "src": "3089:0:10" - }, - "scope": 3955, - "src": "2914:243:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2783, - "nodeType": "Block", - "src": "3347:79:10", - "statements": [ - { - "expression": { - "id": 2781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2774, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "3357:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2776, - "indexExpression": { - "id": 2775, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2764, - "src": "3365:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3357:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2777, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "epochLastCommitted", - "nodeType": "MemberAccess", - "referencedDeclaration": 5587, - "src": "3357:36:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2778, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "3396:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 2779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4816, - "src": "3396:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3396:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3357:62:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2782, - "nodeType": "ExpressionStatement", - "src": "3357:62:10" - } - ] - }, - "documentation": { - "id": 2762, - "nodeType": "StructuredDocumentation", - "src": "3163:40:10", - "text": "@param stakerId The ID of the staker" - }, - "functionSelector": "188dc83b", - "id": 2784, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2767, - "modifierName": { - "id": 2766, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "3280:11:10" - }, - "nodeType": "ModifierInvocation", - "src": "3280:11:10" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2769, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "3301:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakerActivityUpdaterHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5440, - "src": "3301:38:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3301:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2772, - "modifierName": { - "id": 2768, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "3292:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "3292:50:10" - } - ], - "name": "updateCommitmentEpoch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2764, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2784, - "src": "3248:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3248:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3238:32:10" - }, - "returnParameters": { - "id": 2773, - "nodeType": "ParameterList", - "parameters": [], - "src": "3347:0:10" - }, - "scope": 3955, - "src": "3208:218:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2798, - "nodeType": "Block", - "src": "3536:43:10", - "statements": [ - { - "expression": { - "id": 2796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2794, - "name": "blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "3546:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2795, - "name": "_blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2786, - "src": "3560:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3546:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2797, - "nodeType": "ExpressionStatement", - "src": "3546:26:10" - } - ] - }, - "functionSelector": "f580ffcb", - "id": 2799, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2789, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "3499:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getDefaultAdminHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5449, - "src": "3499:29:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3499:31:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2792, - "modifierName": { - "id": 2788, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "3490:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "3490:41:10" - } - ], - "name": "updateBlockReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2786, - "mutability": "mutable", - "name": "_blockReward", - "nodeType": "VariableDeclaration", - "scope": 2799, - "src": "3459:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3459:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3458:22:10" - }, - "returnParameters": { - "id": 2793, - "nodeType": "ParameterList", - "parameters": [], - "src": "3536:0:10" - }, - "scope": 3955, - "src": "3432:147:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2955, - "nodeType": "Block", - "src": "4040:1299:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2818, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "4102:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 2819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4821, - "src": "4102:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4102:23:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2821, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "4129:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "reveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 5297, - "src": "4129:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 2823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4129:18:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "4102:45:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e636f7272656374207374617465", - "id": 2825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4149:17:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ca26c3faaff56aa919715f58bb905a54a26bb23923d6ca4a5f99486cb2e50122", - "typeString": "literal_string \"Incorrect state\"" - }, - "value": "Incorrect state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ca26c3faaff56aa919715f58bb905a54a26bb23923d6ca4a5f99486cb2e50122", - "typeString": "literal_string \"Incorrect state\"" - } - ], - "id": 2817, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4094:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4094:73:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2827, - "nodeType": "ExpressionStatement", - "src": "4094:73:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2829, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "4198:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2830, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "4208:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "minStake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5350, - "src": "4208:18:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 2832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4208:20:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4198:30:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "7374616b656420616d6f756e74206973206c657373207468616e206d696e696d756d207374616b65207265717569726564", - "id": 2834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4243:51:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb68b1a04cb753747a8fd0228ce81c1b903ec58a44c6343bcbc04e0d2e45f04d", - "typeString": "literal_string \"staked amount is less than minimum stake required\"" - }, - "value": "staked amount is less than minimum stake required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb68b1a04cb753747a8fd0228ce81c1b903ec58a44c6343bcbc04e0d2e45f04d", - "typeString": "literal_string \"staked amount is less than minimum stake required\"" - } - ], - "id": 2828, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4177:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4177:127:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2836, - "nodeType": "ExpressionStatement", - "src": "4177:127:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 2840, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4339:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4339:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 2844, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4359:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakeManager_$3955", - "typeString": "contract StakeManager" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakeManager_$3955", - "typeString": "contract StakeManager" - } - ], - "id": 2843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4351:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4351:7:10", - "typeDescriptions": {} - } - }, - "id": 2845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4351:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2846, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "4366:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2838, - "name": "sch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2577, - "src": "4322:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5277", - "typeString": "contract SchellingCoin" - } - }, - "id": 2839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 522, - "src": "4322:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 2847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4322:51:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "736368207472616e73666572206661696c6564", - "id": 2848, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4375:21:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7aaa5b67ce554abe16c4de620677e7c5af580dd691c9629dea90de09c6836b47", - "typeString": "literal_string \"sch transfer failed\"" - }, - "value": "sch transfer failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7aaa5b67ce554abe16c4de620677e7c5af580dd691c9629dea90de09c6836b47", - "typeString": "literal_string \"sch transfer failed\"" - } - ], - "id": 2837, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4314:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4314:83:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2850, - "nodeType": "ExpressionStatement", - "src": "4314:83:10" - }, - { - "assignments": [ - 2852 - ], - "declarations": [ - { - "constant": false, - "id": 2852, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 2955, - "src": "4407:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4407:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2857, - "initialValue": { - "baseExpression": { - "id": 2853, - "name": "stakerIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4951, - "src": "4426:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2856, - "indexExpression": { - "expression": { - "id": 2854, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4436:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4436:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4426:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4407:40:10" - }, - { - "assignments": [ - 2859 - ], - "declarations": [ - { - "constant": false, - "id": 2859, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 2955, - "src": "4457:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4457:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2864, - "initialValue": { - "expression": { - "baseExpression": { - "id": 2860, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "4481:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2862, - "indexExpression": { - "id": 2861, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "4489:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4481:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2863, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "4481:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4457:47:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2865, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "4518:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4530:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4518:13:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2941, - "nodeType": "Block", - "src": "4821:416:10", - "statements": [ - { - "expression": { - "id": 2920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2909, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "5035:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2911, - "indexExpression": { - "id": 2910, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "5043:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5035:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2912, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "5035:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2913, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "5061:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2915, - "indexExpression": { - "id": 2914, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "5069:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5061:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2916, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "5061:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "id": 2917, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "5086:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2918, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5085:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5061:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5035:58:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2921, - "nodeType": "ExpressionStatement", - "src": "5035:58:10" - }, - { - "expression": { - "id": 2932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2922, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "5107:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2924, - "indexExpression": { - "id": 2923, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "5115:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5107:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2925, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakeAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5591, - "src": "5107:30:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2926, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "5140:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2927, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "5147:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakeLockPeriod", - "nodeType": "MemberAccess", - "referencedDeclaration": 5359, - "src": "5147:27:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 2929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5147:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2930, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5146:31:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5140:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5107:70:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2933, - "nodeType": "ExpressionStatement", - "src": "5107:70:10" - }, - { - "expression": { - "id": 2939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2934, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "5191:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2936, - "indexExpression": { - "id": 2935, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "5199:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5191:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "withdrawAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5593, - "src": "5191:31:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 2938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5225:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5191:35:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2940, - "nodeType": "ExpressionStatement", - "src": "5191:35:10" - } - ] - }, - "id": 2942, - "nodeType": "IfStatement", - "src": "4514:723:10", - "trueBody": { - "id": 2908, - "nodeType": "Block", - "src": "4533:282:10", - "statements": [ - { - "expression": { - "id": 2873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2868, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4547:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2869, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4560:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "hexValue": "31", - "id": 2870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4572:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 2871, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4571:3:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "src": "4560:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4547:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2874, - "nodeType": "ExpressionStatement", - "src": "4547:27:10" - }, - { - "expression": { - "id": 2895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2875, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "4588:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2877, - "indexExpression": { - "id": 2876, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4596:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4588:19:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2880, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4625:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2881, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4637:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4637:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2883, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "4649:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2884, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "4657:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 2885, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4664:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 2886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4667:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2887, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "4682:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2888, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "4689:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakeLockPeriod", - "nodeType": "MemberAccess", - "referencedDeclaration": 5359, - "src": "4689:27:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 2890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4689:29:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2891, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4688:31:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4682:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 2893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4721:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 2878, - "name": "Structs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5650, - "src": "4610:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Structs_$5650_$", - "typeString": "type(library Structs)" - } - }, - "id": 2879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "Staker", - "nodeType": "MemberAccess", - "referencedDeclaration": 5594, - "src": "4610:14:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Staker_$5594_storage_ptr_$", - "typeString": "type(struct Structs.Staker storage pointer)" - } - }, - "id": 2894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4610:113:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "src": "4588:135:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2896, - "nodeType": "ExpressionStatement", - "src": "4588:135:10" - }, - { - "expression": { - "id": 2899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2897, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "4737:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2898, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4748:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4737:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2900, - "nodeType": "ExpressionStatement", - "src": "4737:21:10" - }, - { - "expression": { - "id": 2906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2901, - "name": "stakerIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4951, - "src": "4772:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2904, - "indexExpression": { - "expression": { - "id": 2902, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4782:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4782:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4772:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2905, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "4796:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4772:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2907, - "nodeType": "ExpressionStatement", - "src": "4772:32:10" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 2944, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "5259:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2945, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "5266:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2946, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2859, - "src": "5276:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "id": 2947, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "5291:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2949, - "indexExpression": { - "id": 2948, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "5299:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5291:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 2950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "5291:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2951, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "5316:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "5316:15:10", - "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" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2943, - "name": "Staked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2632, - "src": "5252:6:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 2953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5252:80:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2954, - "nodeType": "EmitStatement", - "src": "5247:85:10" - } - ] - }, - "documentation": { - "id": 2800, - "nodeType": "StructuredDocumentation", - "src": "3585:282:10", - "text": "@notice stake during commit state only\n we check epoch during every transaction to avoid withholding and rebroadcasting attacks\n @param epoch The Epoch value for which staker is requesting to stake\n @param amount The amount of schelling tokens Staker stakes" - }, - "functionSelector": "7b0472f0", - "id": 2956, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2807, - "modifierName": { - "id": 2806, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "3966:11:10" - }, - "nodeType": "ModifierInvocation", - "src": "3966:11:10" - }, - { - "arguments": [ - { - "id": 2809, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "3997:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2810, - "modifierName": { - "id": 2808, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2671, - "src": "3986:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "3986:17:10" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2812, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "4015:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "commit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5288, - "src": "4015:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 2814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4015:18:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 2815, - "modifierName": { - "id": 2811, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2686, - "src": "4004:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "4004:30:10" - } - ], - "name": "stake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2802, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "3896:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3896:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2804, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "3919:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3919:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3886:53:10" - }, - "returnParameters": { - "id": 2816, - "nodeType": "ParameterList", - "parameters": [], - "src": "4040:0:10" - }, - "scope": 3955, - "src": "3872:1467:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3045, - "nodeType": "Block", - "src": "5685:496:10", - "statements": [ - { - "assignments": [ - 2973 - ], - "declarations": [ - { - "constant": false, - "id": 2973, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3045, - "src": "5695:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5695:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2978, - "initialValue": { - "baseExpression": { - "id": 2974, - "name": "stakerIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4951, - "src": "5714:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2977, - "indexExpression": { - "expression": { - "id": 2975, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5724:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5724:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5714:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5695:40:10" - }, - { - "assignments": [ - 2983 - ], - "declarations": [ - { - "constant": false, - "id": 2983, - "mutability": "mutable", - "name": "staker", - "nodeType": "VariableDeclaration", - "scope": 3045, - "src": "5745:29:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 2982, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2981, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5594, - "src": "5745:14:10" - }, - "referencedDeclaration": 5594, - "src": "5745:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 2987, - "initialValue": { - "baseExpression": { - "id": 2984, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "5777:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 2986, - "indexExpression": { - "id": 2985, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2973, - "src": "5785:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5777:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5745:49:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2989, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "5812:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 2990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5579, - "src": "5812:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 2991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5825:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5812:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "7374616b65722e6964203d2030", - "id": 2993, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5828:15:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdab4eea84666b4ea254b28d59bb87847c43c977043418b35d698df21c02f227", - "typeString": "literal_string \"staker.id = 0\"" - }, - "value": "staker.id = 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bdab4eea84666b4ea254b28d59bb87847c43c977043418b35d698df21c02f227", - "typeString": "literal_string \"staker.id = 0\"" - } - ], - "id": 2988, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5804:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5804:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2995, - "nodeType": "ExpressionStatement", - "src": "5804:40:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2997, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "5862:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 2998, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "5862:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5877:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5862:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4e6f6e706f736974697665207374616b65", - "id": 3001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5880:19:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6b3918663fb999eb0c08fb3a7f8a053517b9f7c80327988e2d6c66567da15b5a", - "typeString": "literal_string \"Nonpositive stake\"" - }, - "value": "Nonpositive stake" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6b3918663fb999eb0c08fb3a7f8a053517b9f7c80327988e2d6c66567da15b5a", - "typeString": "literal_string \"Nonpositive stake\"" - } - ], - "id": 2996, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5854:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5854:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3003, - "nodeType": "ExpressionStatement", - "src": "5854:46:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3005, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "5918:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakeAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5591, - "src": "5918:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 3007, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2959, - "src": "5941:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5918:28:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3009, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "5950:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakeAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5591, - "src": "5950:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 3011, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5973:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5950:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5918:56:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6c6f636b6564", - "id": 3014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5976:8:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ab99c6d7581cbb37d2e578d3097bfdd3323e05447f1fd7670b6c3a3fb9d9ff79", - "typeString": "literal_string \"locked\"" - }, - "value": "locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ab99c6d7581cbb37d2e578d3097bfdd3323e05447f1fd7670b6c3a3fb9d9ff79", - "typeString": "literal_string \"locked\"" - } - ], - "id": 3004, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5910:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5910:75:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3016, - "nodeType": "ExpressionStatement", - "src": "5910:75:10" - }, - { - "expression": { - "id": 3021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 3017, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "5995:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakeAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5591, - "src": "5995:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6017:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5995:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3022, - "nodeType": "ExpressionStatement", - "src": "5995:23:10" - }, - { - "expression": { - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 3023, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "6028:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "withdrawAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5593, - "src": "6028:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3026, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2959, - "src": "6051:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3027, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "6058:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawLockPeriod", - "nodeType": "MemberAccess", - "referencedDeclaration": 5368, - "src": "6058:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6058:30:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3030, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6057:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6051:38:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6028:61:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3033, - "nodeType": "ExpressionStatement", - "src": "6028:61:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3035, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2959, - "src": "6113:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3036, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2973, - "src": "6120:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3037, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "6130:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3038, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "6130:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3039, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "6144:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3040, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "6144:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3041, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6158:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "6158:15:10", - "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" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3034, - "name": "Unstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2644, - "src": "6104:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 3043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6104:70:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3044, - "nodeType": "EmitStatement", - "src": "6099:75:10" - } - ] - }, - "documentation": { - "id": 2957, - "nodeType": "StructuredDocumentation", - "src": "5345:232:10", - "text": "@notice staker must call unstake() and should wait for Constants.WITHDRAW_LOCK_PERIOD\n after which she can call withdraw() to finally Withdraw\n @param epoch The Epoch value for which staker is requesting to unstake" - }, - "functionSelector": "2e17de78", - "id": 3046, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2962, - "modifierName": { - "id": 2961, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "5624:11:10" - }, - "nodeType": "ModifierInvocation", - "src": "5624:11:10" - }, - { - "arguments": [ - { - "id": 2964, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2959, - "src": "5647:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2965, - "modifierName": { - "id": 2963, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2671, - "src": "5636:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "5636:17:10" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2967, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "5665:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 2968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "commit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5288, - "src": "5665:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 2969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5665:18:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 2970, - "modifierName": { - "id": 2966, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2686, - "src": "5654:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "5654:30:10" - } - ], - "name": "unstake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2959, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3046, - "src": "5600:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2958, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5600:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5599:15:10" - }, - "returnParameters": { - "id": 2971, - "nodeType": "ParameterList", - "parameters": [], - "src": "5685:0:10" - }, - "scope": 3955, - "src": "5582:599:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3177, - "nodeType": "Block", - "src": "6445:1024:10", - "statements": [ - { - "assignments": [ - 3063 - ], - "declarations": [ - { - "constant": false, - "id": 3063, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3177, - "src": "6455:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3062, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6455:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3068, - "initialValue": { - "baseExpression": { - "id": 3064, - "name": "stakerIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4951, - "src": "6474:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3067, - "indexExpression": { - "expression": { - "id": 3065, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6484:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6484:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6474:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6455:40:10" - }, - { - "assignments": [ - 3073 - ], - "declarations": [ - { - "constant": false, - "id": 3073, - "mutability": "mutable", - "name": "staker", - "nodeType": "VariableDeclaration", - "scope": 3177, - "src": "6505:29:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 3072, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3071, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5594, - "src": "6505:14:10" - }, - "referencedDeclaration": 5594, - "src": "6505:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 3077, - "initialValue": { - "baseExpression": { - "id": 3074, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "6537:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3076, - "indexExpression": { - "id": 3075, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3063, - "src": "6545:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6537:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6505:49:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3079, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "6572:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3080, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5579, - "src": "6572:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 3081, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6585:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6572:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "7374616b657220646f65736e74206578697374", - "id": 3083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6588:21:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a113a0c9b7ecb25bf74a95ce032f1c4492c26de43ba45cb480773d9125636f9b", - "typeString": "literal_string \"staker doesnt exist\"" - }, - "value": "staker doesnt exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a113a0c9b7ecb25bf74a95ce032f1c4492c26de43ba45cb480773d9125636f9b", - "typeString": "literal_string \"staker doesnt exist\"" - } - ], - "id": 3078, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6564:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6564:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3085, - "nodeType": "ExpressionStatement", - "src": "6564:46:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3087, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "6628:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3088, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakeAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5591, - "src": "6628:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 3089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6651:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6628:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "446964206e6f7420756e7374616b65", - "id": 3091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6654:17:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e78ec75f598dcd03331f3963b6697277106610c26010b4ec4db871858b3a5b29", - "typeString": "literal_string \"Did not unstake\"" - }, - "value": "Did not unstake" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e78ec75f598dcd03331f3963b6697277106610c26010b4ec4db871858b3a5b29", - "typeString": "literal_string \"Did not unstake\"" - } - ], - "id": 3086, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6620:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6620:52:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3093, - "nodeType": "ExpressionStatement", - "src": "6620:52:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3095, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "6704:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3096, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5593, - "src": "6704:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 3097, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3049, - "src": "6728:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6704:29:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3099, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6703:31:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3100, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "6738:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3101, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5593, - "src": "6738:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6762:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6738:25:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6703:60:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "57697468647261772065706f6368206e6f742072656163686564", - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6777:28:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2634de0e003793e166e3d97211813e50178a1fe7320c5468fddff641fa460575", - "typeString": "literal_string \"Withdraw epoch not reached\"" - }, - "value": "Withdraw epoch not reached" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2634de0e003793e166e3d97211813e50178a1fe7320c5468fddff641fa460575", - "typeString": "literal_string \"Withdraw epoch not reached\"" - } - ], - "id": 3094, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6682:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6682:133:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3107, - "nodeType": "ExpressionStatement", - "src": "6682:133:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3109, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "6847:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 5593, - "src": "6847:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3111, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "6870:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawLockPeriod", - "nodeType": "MemberAccess", - "referencedDeclaration": 5368, - "src": "6870:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6870:30:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6847:53:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3115, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6846:55:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 3116, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "6905:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5589, - "src": "6905:24:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6846:83:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "50617274696369706174656420696e205769746864726177206c6f636b20706572696f642c2043616e74207769746864726177", - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6943:53:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8c0f978acf8435b7df5019fed51409365d54b03cc05b322280c7239d75c06443", - "typeString": "literal_string \"Participated in Withdraw lock period, Cant withdraw\"" - }, - "value": "Participated in Withdraw lock period, Cant withdraw" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8c0f978acf8435b7df5019fed51409365d54b03cc05b322280c7239d75c06443", - "typeString": "literal_string \"Participated in Withdraw lock period, Cant withdraw\"" - } - ], - "id": 3108, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6825:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6825:181:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3121, - "nodeType": "ExpressionStatement", - "src": "6825:181:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 3125, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3049, - "src": "7063:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3126, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3063, - "src": "7070:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3123, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2580, - "src": "7037:11:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "id": 3124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getCommitment", - "nodeType": "MemberAccess", - "referencedDeclaration": 4859, - "src": "7037:25:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (uint256,uint256) view external returns (bytes32)" - } - }, - "id": 3127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7037:42:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "307830", - "id": 3128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7083:3:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "7037:49:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "616c726561647920636f6d6d6974656420746869732065706f63682e2043616e74207769746864726177", - "id": 3130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7100:44:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e28e7431deba574db0112ec0b937aaf1eb1cf46251a078d34bc069c9a6e2ba1e", - "typeString": "literal_string \"already commited this epoch. Cant withdraw\"" - }, - "value": "already commited this epoch. Cant withdraw" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e28e7431deba574db0112ec0b937aaf1eb1cf46251a078d34bc069c9a6e2ba1e", - "typeString": "literal_string \"already commited this epoch. Cant withdraw\"" - } - ], - "id": 3122, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7016:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7016:138:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3132, - "nodeType": "ExpressionStatement", - "src": "7016:138:10" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3134, - "name": "staker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "7172:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "7172:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7187:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7172:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4e6f6e706f736974697665205374616b65", - "id": 3138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7190:19:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f810ff1ebbf47d94f8225d3c6edf23be7b0290f78abb3c694a0753fdc11ea065", - "typeString": "literal_string \"Nonpositive Stake\"" - }, - "value": "Nonpositive Stake" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f810ff1ebbf47d94f8225d3c6edf23be7b0290f78abb3c694a0753fdc11ea065", - "typeString": "literal_string \"Nonpositive Stake\"" - } - ], - "id": 3133, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7164:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7164:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3140, - "nodeType": "ExpressionStatement", - "src": "7164:46:10" - }, - { - "assignments": [ - 3142 - ], - "declarations": [ - { - "constant": false, - "id": 3142, - "mutability": "mutable", - "name": "toTransfer", - "nodeType": "VariableDeclaration", - "scope": 3177, - "src": "7221:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7221:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3147, - "initialValue": { - "expression": { - "baseExpression": { - "id": 3143, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "7242:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3145, - "indexExpression": { - "id": 3144, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3063, - "src": "7250:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7242:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "7242:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7221:44:10" - }, - { - "expression": { - "id": 3153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3148, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "7275:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3150, - "indexExpression": { - "id": 3149, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3063, - "src": "7283:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7275:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "7275:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7301:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7275:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3154, - "nodeType": "ExpressionStatement", - "src": "7275:27:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3156, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3049, - "src": "7326:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3157, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3063, - "src": "7333:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "id": 3158, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "7343:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3160, - "indexExpression": { - "id": 3159, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3063, - "src": "7351:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7343:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3161, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "7343:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 3162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7368:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "expression": { - "id": 3163, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "7371:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "7371:15:10", - "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_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3155, - "name": "Withdrew", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2656, - "src": "7317:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 3165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7317:70:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3166, - "nodeType": "EmitStatement", - "src": "7312:75:10" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 3170, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7418:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7418:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3172, - "name": "toTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3142, - "src": "7430:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3168, - "name": "sch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2577, - "src": "7405:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5277", - "typeString": "contract SchellingCoin" - } - }, - "id": 3169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 436, - "src": "7405:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7405:36:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "636f756c646e74207472616e73666572", - "id": 3174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7443:18:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_805d1088d8486a1f8aa0a66a0afc9b1041d76f1529ec36a6088491eaaf4f87f3", - "typeString": "literal_string \"couldnt transfer\"" - }, - "value": "couldnt transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_805d1088d8486a1f8aa0a66a0afc9b1041d76f1529ec36a6088491eaaf4f87f3", - "typeString": "literal_string \"couldnt transfer\"" - } - ], - "id": 3167, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7397:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7397:65:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3176, - "nodeType": "ExpressionStatement", - "src": "7397:65:10" - } - ] - }, - "documentation": { - "id": 3047, - "nodeType": "StructuredDocumentation", - "src": "6188:148:10", - "text": "@notice Helps stakers withdraw their stake if previously unstaked\n @param epoch The Epoch value for which staker is requesting a withdraw" - }, - "functionSelector": "2e1a7d4d", - "id": 3178, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3052, - "modifierName": { - "id": 3051, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "6384:11:10" - }, - "nodeType": "ModifierInvocation", - "src": "6384:11:10" - }, - { - "arguments": [ - { - "id": 3054, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3049, - "src": "6407:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3055, - "modifierName": { - "id": 3053, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2671, - "src": "6396:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "6396:17:10" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3057, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "6425:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "commit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5288, - "src": "6425:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 3059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6425:18:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 3060, - "modifierName": { - "id": 3056, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2686, - "src": "6414:10:10" - }, - "nodeType": "ModifierInvocation", - "src": "6414:30:10" - } - ], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3049, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3178, - "src": "6360:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6360:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6359:15:10" - }, - "returnParameters": { - "id": 3061, - "nodeType": "ParameterList", - "parameters": [], - "src": "6445:0:10" - }, - "scope": 3955, - "src": "6341:1128:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3198, - "nodeType": "Block", - "src": "7855:48:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3194, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3181, - "src": "7880:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3195, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "7890:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3193, - "name": "_givePenalties", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3954, - "src": "7865:14:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7865:31:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3197, - "nodeType": "ExpressionStatement", - "src": "7865:31:10" - } - ] - }, - "documentation": { - "id": 3179, - "nodeType": "StructuredDocumentation", - "src": "7475:229:10", - "text": "@notice gives penalty to stakers for failing to reveal or\n reveal value deviations\n @param stakerId The id of staker currently in consideration\n @param epoch the epoch value\n todo reduce complexity" - }, - "functionSelector": "54eae15e", - "id": 3199, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3186, - "modifierName": { - "id": 3185, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "7796:11:10" - }, - "nodeType": "ModifierInvocation", - "src": "7796:11:10" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3188, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "7817:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakeModifierHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5431, - "src": "7817:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7817:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3191, - "modifierName": { - "id": 3187, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "7808:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "7808:42:10" - } - ], - "name": "givePenalties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3181, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3199, - "src": "7741:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7741:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3183, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3199, - "src": "7767:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7767:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7731:55:10" - }, - "returnParameters": { - "id": 3192, - "nodeType": "ParameterList", - "parameters": [], - "src": "7855:0:10" - }, - "scope": 3955, - "src": "7709:194:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3250, - "nodeType": "Block", - "src": "8314:470:10", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3212, - "name": "blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8328:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8342:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8328:15:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3233, - "nodeType": "IfStatement", - "src": "8324:187:10", - "trueBody": { - "id": 3232, - "nodeType": "Block", - "src": "8345:166:10", - "statements": [ - { - "assignments": [ - 3216 - ], - "declarations": [ - { - "constant": false, - "id": 3216, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 3232, - "src": "8359:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8359:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3224, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 3217, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "8378:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3219, - "indexExpression": { - "id": 3218, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3202, - "src": "8386:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8378:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "8378:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "id": 3221, - "name": "blockReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8403:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3222, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8402:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8378:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8359:56:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3226, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3202, - "src": "8445:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3227, - "name": "newStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3216, - "src": "8455:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "426c6f636b20526577617264", - "id": 3228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8465:14:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7847f4b872e007a21e06d6da4e670fd8d44af5a9fa41a9af6bb822a535da6edf", - "typeString": "literal_string \"Block Reward\"" - }, - "value": "Block Reward" - }, - { - "id": 3229, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3204, - "src": "8481:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_7847f4b872e007a21e06d6da4e670fd8d44af5a9fa41a9af6bb822a535da6edf", - "typeString": "literal_string \"Block Reward\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3225, - "name": "_setStakerStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "8429:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,uint256)" - } - }, - "id": 3230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8429:58:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3231, - "nodeType": "ExpressionStatement", - "src": "8429:58:10" - } - ] - } - }, - { - "assignments": [ - 3235 - ], - "declarations": [ - { - "constant": false, - "id": 3235, - "mutability": "mutable", - "name": "prevStakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 3250, - "src": "8520:30:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8520:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3237, - "initialValue": { - "id": 3236, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "8553:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8520:51:10" - }, - { - "expression": { - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3238, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "8581:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8602:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8581:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3241, - "nodeType": "ExpressionStatement", - "src": "8581:22:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3243, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3204, - "src": "8665:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3244, - "name": "prevStakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3235, - "src": "8684:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3245, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "8720:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3246, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8752:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "8752:15:10", - "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": 3242, - "name": "StakeGettingRewardChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2620, - "src": "8627:24:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8627:150:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3249, - "nodeType": "EmitStatement", - "src": "8622:155:10" - } - ] - }, - "documentation": { - "id": 3200, - "nodeType": "StructuredDocumentation", - "src": "7909:264:10", - "text": "@notice The function gives block reward for one valid proposer in the\n previous epoch by minting new tokens from the schelling token contract\n called from confirmBlock function of BlockManager contract\n @param stakerId The ID of the staker" - }, - "functionSelector": "746c8b65", - "id": 3251, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3207, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "8276:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakeModifierHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5431, - "src": "8276:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8276:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3210, - "modifierName": { - "id": 3206, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "8267:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "8267:42:10" - } - ], - "name": "giveBlockReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3202, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3251, - "src": "8212:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8212:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3204, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3251, - "src": "8238:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8238:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8202:55:10" - }, - "returnParameters": { - "id": 3211, - "nodeType": "ParameterList", - "parameters": [], - "src": "8314:0:10" - }, - "scope": 3955, - "src": "8178:606:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3479, - "nodeType": "Block", - "src": "9276:2220:10", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3266, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "9290:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 3267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9312:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9290:23:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3270, - "nodeType": "IfStatement", - "src": "9286:36:10", - "trueBody": { - "functionReturnParameters": 3265, - "id": 3269, - "nodeType": "Return", - "src": "9315:7:10" - } - }, - { - "assignments": [ - 3275 - ], - "declarations": [ - { - "constant": false, - "id": 3275, - "mutability": "mutable", - "name": "thisStaker", - "nodeType": "VariableDeclaration", - "scope": 3479, - "src": "9331:32:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 3274, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3273, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5594, - "src": "9331:14:10" - }, - "referencedDeclaration": 5594, - "src": "9331:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 3279, - "initialValue": { - "baseExpression": { - "id": 3276, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "9366:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3278, - "indexExpression": { - "id": 3277, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3254, - "src": "9374:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9366:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9331:52:10" - }, - { - "assignments": [ - 3281 - ], - "declarations": [ - { - "constant": false, - "id": 3281, - "mutability": "mutable", - "name": "epochLastRevealed", - "nodeType": "VariableDeclaration", - "scope": 3479, - "src": "9393:25:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9393:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3284, - "initialValue": { - "expression": { - "id": 3282, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "9421:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5589, - "src": "9421:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9393:56:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3285, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3256, - "src": "9521:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3286, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "9529:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9521:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3288, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9520:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "31", - "id": 3289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9551:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9520:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3292, - "nodeType": "IfStatement", - "src": "9516:45:10", - "trueBody": { - "functionReturnParameters": 3265, - "id": 3291, - "nodeType": "Return", - "src": "9554:7:10" - } - }, - { - "assignments": [ - 3297 - ], - "declarations": [ - { - "constant": false, - "id": 3297, - "mutability": "mutable", - "name": "mediansLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3479, - "src": "9570:33:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9570:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3296, - "nodeType": "ArrayTypeName", - "src": "9570:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 3302, - "initialValue": { - "arguments": [ - { - "id": 3300, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "9635:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3298, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "9606:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "id": 3299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getBlockMedians", - "nodeType": "MemberAccess", - "referencedDeclaration": 4641, - "src": "9606:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) view external returns (uint256[] memory)" - } - }, - "id": 3301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9606:47:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9570:83:10" - }, - { - "assignments": [ - 3307 - ], - "declarations": [ - { - "constant": false, - "id": 3307, - "mutability": "mutable", - "name": "lowerCutoffsLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3479, - "src": "9663:38:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9663:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3306, - "nodeType": "ArrayTypeName", - "src": "9663:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 3312, - "initialValue": { - "arguments": [ - { - "id": 3310, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "9733:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3308, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "9704:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "id": 3309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getLowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 4649, - "src": "9704:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) view external returns (uint256[] memory)" - } - }, - "id": 3311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9704:47:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9663:88:10" - }, - { - "assignments": [ - 3317 - ], - "declarations": [ - { - "constant": false, - "id": 3317, - "mutability": "mutable", - "name": "higherCutoffsLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3479, - "src": "9761:39:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3315, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9761:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3316, - "nodeType": "ArrayTypeName", - "src": "9761:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 3322, - "initialValue": { - "arguments": [ - { - "id": 3320, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "9833:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3318, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "9803:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "id": 3319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getHigherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 4657, - "src": "9803:29:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) view external returns (uint256[] memory)" - } - }, - "id": 3321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9803:48:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9761:90:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3323, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3307, - "src": "9866:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9866:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9897:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9866:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3478, - "nodeType": "IfStatement", - "src": "9862:1628:10", - "trueBody": { - "id": 3477, - "nodeType": "Block", - "src": "9900:1590:10", - "statements": [ - { - "assignments": [ - 3328 - ], - "declarations": [ - { - "constant": false, - "id": 3328, - "mutability": "mutable", - "name": "rewardable", - "nodeType": "VariableDeclaration", - "scope": 3477, - "src": "9914:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9914:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3330, - "initialValue": { - "hexValue": "30", - "id": 3329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9935:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9914:22:10" - }, - { - "body": { - "id": 3394, - "nodeType": "Block", - "src": "10009:648:10", - "statements": [ - { - "assignments": [ - 3343 - ], - "declarations": [ - { - "constant": false, - "id": 3343, - "mutability": "mutable", - "name": "voteLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3394, - "src": "10027:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3342, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10027:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3352, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 3346, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "10092:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3347, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "10111:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5579, - "src": "10111:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3349, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3332, - "src": "10126:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3344, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2580, - "src": "10072:11:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "id": 3345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getVote", - "nodeType": "MemberAccess", - "referencedDeclaration": 4871, - "src": "10072:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_struct$_Vote_$5577_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) view external returns (struct Structs.Vote memory)" - } - }, - "id": 3350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10072:56:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_memory_ptr", - "typeString": "struct Structs.Vote memory" - } - }, - "id": 3351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 5574, - "src": "10072:62:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10027:107:10" - }, - { - "assignments": [ - 3354 - ], - "declarations": [ - { - "constant": false, - "id": 3354, - "mutability": "mutable", - "name": "medianLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3394, - "src": "10152:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10152:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3358, - "initialValue": { - "baseExpression": { - "id": 3355, - "name": "mediansLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3297, - "src": "10178:16:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3357, - "indexExpression": { - "id": 3356, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3332, - "src": "10195:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10178:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10152:45:10" - }, - { - "assignments": [ - 3360 - ], - "declarations": [ - { - "constant": false, - "id": 3360, - "mutability": "mutable", - "name": "lowerCutoffLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3394, - "src": "10215:28:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3359, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10215:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3364, - "initialValue": { - "baseExpression": { - "id": 3361, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3307, - "src": "10246:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3363, - "indexExpression": { - "id": 3362, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3332, - "src": "10268:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10246:24:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10215:55:10" - }, - { - "assignments": [ - 3366 - ], - "declarations": [ - { - "constant": false, - "id": 3366, - "mutability": "mutable", - "name": "higherCutoffLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3394, - "src": "10288:29:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10288:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3370, - "initialValue": { - "baseExpression": { - "id": 3367, - "name": "higherCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3317, - "src": "10320:22:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3369, - "indexExpression": { - "id": 3368, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3332, - "src": "10343:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10320:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10288:57:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3371, - "name": "voteLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "10417:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 3372, - "name": "medianLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3354, - "src": "10434:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10417:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3374, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10416:34:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3375, - "name": "voteLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "10472:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 3376, - "name": "lowerCutoffLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3360, - "src": "10488:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10472:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3378, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10471:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3379, - "name": "voteLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "10534:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3380, - "name": "higherCutoffLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3366, - "src": "10550:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10534:37:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3382, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10533:39:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10471:101:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3384, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10470:103:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10416:157:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3393, - "nodeType": "IfStatement", - "src": "10412:231:10", - "trueBody": { - "id": 3392, - "nodeType": "Block", - "src": "10575:68:10", - "statements": [ - { - "expression": { - "id": 3390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3386, - "name": "rewardable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3328, - "src": "10597:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3387, - "name": "rewardable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3328, - "src": "10610:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 3388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10623:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10610:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10597:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3391, - "nodeType": "ExpressionStatement", - "src": "10597:27:10" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3335, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3332, - "src": "9970:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 3336, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3307, - "src": "9974:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9974:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9970:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3395, - "initializationExpression": { - "assignments": [ - 3332 - ], - "declarations": [ - { - "constant": false, - "id": 3332, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3395, - "src": "9955:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9955:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3334, - "initialValue": { - "hexValue": "30", - "id": 3333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9967:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9955:13:10" - }, - "loopExpression": { - "expression": { - "id": 3340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "10004:3:10", - "subExpression": { - "id": 3339, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3332, - "src": "10004:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3341, - "nodeType": "ExpressionStatement", - "src": "10004:3:10" - }, - "nodeType": "ForStatement", - "src": "9950:707:10" - }, - { - "assignments": [ - 3397 - ], - "declarations": [ - { - "constant": false, - "id": 3397, - "mutability": "mutable", - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 3477, - "src": "10671:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3396, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10671:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3411, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3398, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "10689:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3399, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "10689:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 3400, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "10706:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10689:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 3402, - "name": "rewardable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3328, - "src": "10717:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10689:38:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3404, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10688:40:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3405, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "10743:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "expression": { - "id": 3406, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3307, - "src": "10762:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "10762:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10743:47:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3409, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10742:49:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10688:103:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10671:120:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3412, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3397, - "src": "10809:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10818:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10809:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3476, - "nodeType": "IfStatement", - "src": "10805:675:10", - "trueBody": { - "id": 3475, - "nodeType": "Block", - "src": "10821:659:10", - "statements": [ - { - "assignments": [ - 3416 - ], - "declarations": [ - { - "constant": false, - "id": 3416, - "mutability": "mutable", - "name": "prevStakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 3475, - "src": "10839:30:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10839:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3418, - "initialValue": { - "id": 3417, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "10872:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10839:51:10" - }, - { - "expression": { - "id": 3431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3419, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "10908:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3420, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "10929:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 3421, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "10951:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3422, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "10951:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10929:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 3429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11010:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 3430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "10929:82:10", - "trueExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3424, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "10970:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "expression": { - "id": 3425, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "10990:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "10990:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3427, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10989:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10970:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10908:103:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3432, - "nodeType": "ExpressionStatement", - "src": "10908:103:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3434, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3256, - "src": "11059:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3435, - "name": "prevStakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3416, - "src": "11066:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3436, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "11090:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3437, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "11110:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "11110:15:10", - "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": 3433, - "name": "StakeGettingRewardChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2620, - "src": "11034:24:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11034:92:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3440, - "nodeType": "EmitStatement", - "src": "11029:97:10" - }, - { - "assignments": [ - 3442 - ], - "declarations": [ - { - "constant": false, - "id": 3442, - "mutability": "mutable", - "name": "newStake", - "nodeType": "VariableDeclaration", - "scope": 3475, - "src": "11144:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11144:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3447, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3443, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "11163:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3444, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "11163:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 3445, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3397, - "src": "11182:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11163:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11144:44:10" - }, - { - "assignments": [ - 3449 - ], - "declarations": [ - { - "constant": false, - "id": 3449, - "mutability": "mutable", - "name": "prevRewardPool", - "nodeType": "VariableDeclaration", - "scope": 3475, - "src": "11206:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3448, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11206:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3451, - "initialValue": { - "id": 3450, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "11231:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11206:35:10" - }, - { - "expression": { - "id": 3457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3452, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "11259:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3453, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "11272:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "id": 3454, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3397, - "src": "11284:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3455, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11283:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11272:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11259:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3458, - "nodeType": "ExpressionStatement", - "src": "11259:32:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3460, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3256, - "src": "11331:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3461, - "name": "prevRewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3449, - "src": "11338:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3462, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "11354:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3463, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "11366:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "11366:15:10", - "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": 3459, - "name": "RewardPoolChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2610, - "src": "11314:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11314:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3466, - "nodeType": "EmitStatement", - "src": "11309:73:10" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 3468, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3275, - "src": "11416:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3469, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5579, - "src": "11416:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3470, - "name": "newStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3442, - "src": "11431:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "566f74696e672052657761726473", - "id": 3471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11441:16:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9b53049769b4a3f2fba2643b9ef1039494340d4a9f04f5aa90ef9e2f91757cc8", - "typeString": "literal_string \"Voting Rewards\"" - }, - "value": "Voting Rewards" - }, - { - "id": 3472, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3256, - "src": "11459:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_9b53049769b4a3f2fba2643b9ef1039494340d4a9f04f5aa90ef9e2f91757cc8", - "typeString": "literal_string \"Voting Rewards\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3467, - "name": "_setStakerStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "11400:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,uint256)" - } - }, - "id": 3473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11400:65:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3474, - "nodeType": "ExpressionStatement", - "src": "11400:65:10" - } - ] - } - } - ] - } - } - ] - }, - "documentation": { - "id": 3252, - "nodeType": "StructuredDocumentation", - "src": "8794:333:10", - "text": "@notice This function is called in VoteManager reveal function to give\n rewards to all the stakers who have correctly staked, committed, revealed\n the Values of assets according to the razor protocol rules.\n @param stakerId The staker id\n @param epoch The epoch number for which reveal has been called" - }, - "functionSelector": "fabb9890", - "id": 3480, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3259, - "modifierName": { - "id": 3258, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "9217:11:10" - }, - "nodeType": "ModifierInvocation", - "src": "9217:11:10" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3261, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "9238:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakeModifierHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5431, - "src": "9238:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9238:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3264, - "modifierName": { - "id": 3260, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "9229:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "9229:42:10" - } - ], - "name": "giveRewards", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3254, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3480, - "src": "9162:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3253, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9162:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3256, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3480, - "src": "9188:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3255, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9188:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9152:55:10" - }, - "returnParameters": { - "id": 3265, - "nodeType": "ParameterList", - "parameters": [], - "src": "9276:0:10" - }, - "scope": 3955, - "src": "9132:2364:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3526, - "nodeType": "Block", - "src": "11968:236:10", - "statements": [ - { - "assignments": [ - 3496 - ], - "declarations": [ - { - "constant": false, - "id": 3496, - "mutability": "mutable", - "name": "halfStake", - "nodeType": "VariableDeclaration", - "scope": 3526, - "src": "11978:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11978:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3504, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 3497, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "11998:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3499, - "indexExpression": { - "id": 3498, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3483, - "src": "12006:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11998:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3500, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "11998:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "hexValue": "32", - "id": 3501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12017:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "id": 3502, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12016:3:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - }, - "src": "11998:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11978:41:10" - }, - { - "expression": { - "arguments": [ - { - "id": 3506, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3483, - "src": "12045:2:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 3507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12049:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "536c6173686564", - "id": 3508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12052:9:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_15b356a75cb2bb67a6f512d451791f3aea06edbdd693a6bfe4145016eb69ebff", - "typeString": "literal_string \"Slashed\"" - }, - "value": "Slashed" - }, - { - "id": 3509, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "12063:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_stringliteral_15b356a75cb2bb67a6f512d451791f3aea06edbdd693a6bfe4145016eb69ebff", - "typeString": "literal_string \"Slashed\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3505, - "name": "_setStakerStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "12029:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,uint256)" - } - }, - "id": 3510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12029:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3511, - "nodeType": "ExpressionStatement", - "src": "12029:40:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3512, - "name": "halfStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3496, - "src": "12083:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "31", - "id": 3513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12095:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12083:13:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3525, - "nodeType": "IfStatement", - "src": "12079:119:10", - "trueBody": { - "id": 3524, - "nodeType": "Block", - "src": "12098:100:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3518, - "name": "bountyHunter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3485, - "src": "12133:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3519, - "name": "halfStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3496, - "src": "12147:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3516, - "name": "sch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2577, - "src": "12120:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SchellingCoin_$5277", - "typeString": "contract SchellingCoin" - } - }, - "id": 3517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 436, - "src": "12120:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12120:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6661696c656420746f207472616e7366657220626f756e7479", - "id": 3521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12159:27:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3d5bf2052aff186c28929fe02a490fd5212178072a98ef575ed3d58026bb8c39", - "typeString": "literal_string \"failed to transfer bounty\"" - }, - "value": "failed to transfer bounty" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3d5bf2052aff186c28929fe02a490fd5212178072a98ef575ed3d58026bb8c39", - "typeString": "literal_string \"failed to transfer bounty\"" - } - ], - "id": 3515, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12112:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12112:75:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3523, - "nodeType": "ExpressionStatement", - "src": "12112:75:10" - } - ] - } - } - ] - }, - "documentation": { - "id": 3481, - "nodeType": "StructuredDocumentation", - "src": "11502:344:10", - "text": "@notice The function is used by the Votemanager reveal function\n to penalise the staker who lost his secret and make his stake zero and\n transfer to bounty hunter half the schelling tokens of the stakers stake\n @param id The ID of the staker who is penalised\n @param bountyHunter The address of the bounty hunter" - }, - "functionSelector": "0f91ce19", - "id": 3527, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3490, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "11934:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakeModifierHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 5431, - "src": "11934:30:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11934:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 3493, - "modifierName": { - "id": 3489, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "11925:8:10" - }, - "nodeType": "ModifierInvocation", - "src": "11925:42:10" - } - ], - "name": "slash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3488, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3483, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 3527, - "src": "11867:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3482, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11867:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3485, - "mutability": "mutable", - "name": "bountyHunter", - "nodeType": "VariableDeclaration", - "scope": 3527, - "src": "11879:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11879:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3487, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3527, - "src": "11901:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11901:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11866:49:10" - }, - "returnParameters": { - "id": 3494, - "nodeType": "ParameterList", - "parameters": [], - "src": "11968:0:10" - }, - "scope": 3955, - "src": "11851:353:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3540, - "nodeType": "Block", - "src": "12357:44:10", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "id": 3535, - "name": "stakerIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4951, - "src": "12374:9:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3537, - "indexExpression": { - "id": 3536, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3530, - "src": "12384:8:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12374:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3538, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12373:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3534, - "id": 3539, - "nodeType": "Return", - "src": "12367:27:10" - } - ] - }, - "documentation": { - "id": 3528, - "nodeType": "StructuredDocumentation", - "src": "12211:71:10", - "text": "@param _address Address of the staker\n @return The staker ID" - }, - "functionSelector": "6022a485", - "id": 3541, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStakerId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3531, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3530, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 3541, - "src": "12308:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3529, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12308:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "12307:18:10" - }, - "returnParameters": { - "id": 3534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3533, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3541, - "src": "12348:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12348:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12347:9:10" - }, - "scope": 3955, - "src": "12287:114:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3555, - "nodeType": "Block", - "src": "12580:37:10", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "id": 3550, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "12597:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3552, - "indexExpression": { - "id": 3551, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3544, - "src": "12605:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12597:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - } - ], - "id": 3553, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12596:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "functionReturnParameters": 3549, - "id": 3554, - "nodeType": "Return", - "src": "12590:20:10" - } - ] - }, - "documentation": { - "id": 3542, - "nodeType": "StructuredDocumentation", - "src": "12407:84:10", - "text": "@param _id The staker ID\n @return staker The Struct of staker information" - }, - "functionSelector": "e3c998fe", - "id": 3556, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStaker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3544, - "mutability": "mutable", - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3556, - "src": "12515:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12515:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12514:13:10" - }, - "returnParameters": { - "id": 3549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3548, - "mutability": "mutable", - "name": "staker", - "nodeType": "VariableDeclaration", - "scope": 3556, - "src": "12550:28:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 3547, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3546, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5594, - "src": "12550:14:10" - }, - "referencedDeclaration": 5594, - "src": "12550:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "src": "12549:30:10" - }, - "scope": 3955, - "src": "12496:121:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3565, - "nodeType": "Block", - "src": "12738:35:10", - "statements": [ - { - "expression": { - "components": [ - { - "id": 3562, - "name": "numStakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "12755:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3563, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12754:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3561, - "id": 3564, - "nodeType": "Return", - "src": "12748:18:10" - } - ] - }, - "documentation": { - "id": 3557, - "nodeType": "StructuredDocumentation", - "src": "12623:54:10", - "text": "@return The number of stakers in the razor network" - }, - "functionSelector": "bc788d46", - "id": 3566, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getNumStakers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3558, - "nodeType": "ParameterList", - "parameters": [], - "src": "12704:2:10" - }, - "returnParameters": { - "id": 3561, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3560, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3566, - "src": "12729:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12729:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12728:9:10" - }, - "scope": 3955, - "src": "12682:91:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3575, - "nodeType": "Block", - "src": "12866:35:10", - "statements": [ - { - "expression": { - "components": [ - { - "id": 3572, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "12883:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3573, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12882:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3571, - "id": 3574, - "nodeType": "Return", - "src": "12876:18:10" - } - ] - }, - "documentation": { - "id": 3567, - "nodeType": "StructuredDocumentation", - "src": "12779:26:10", - "text": "@return The rewardpool" - }, - "functionSelector": "1b8b13a7", - "id": 3576, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRewardPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3568, - "nodeType": "ParameterList", - "parameters": [], - "src": "12832:2:10" - }, - "returnParameters": { - "id": 3571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3570, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3576, - "src": "12857:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3569, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12857:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12856:9:10" - }, - "scope": 3955, - "src": "12810:91:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3585, - "nodeType": "Block", - "src": "13016:43:10", - "statements": [ - { - "expression": { - "components": [ - { - "id": 3582, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "13033:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3583, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13032:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3581, - "id": 3584, - "nodeType": "Return", - "src": "13026:26:10" - } - ] - }, - "documentation": { - "id": 3577, - "nodeType": "StructuredDocumentation", - "src": "12907:40:10", - "text": "@return The stakeGettingReward value" - }, - "functionSelector": "1ad54991", - "id": 3586, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStakeGettingReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3578, - "nodeType": "ParameterList", - "parameters": [], - "src": "12982:2:10" - }, - "returnParameters": { - "id": 3581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3580, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3586, - "src": "13007:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13007:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13006:9:10" - }, - "scope": 3955, - "src": "12952:107:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3639, - "nodeType": "Block", - "src": "13377:395:10", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3596, - "name": "epochs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3589, - "src": "13454:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "hexValue": "3130", - "id": 3597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13463:2:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "13454:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3603, - "nodeType": "IfStatement", - "src": "13450:60:10", - "trueBody": { - "id": 3602, - "nodeType": "Block", - "src": "13467:43:10", - "statements": [ - { - "expression": { - "components": [ - { - "id": 3599, - "name": "stakeValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3591, - "src": "13488:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3600, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13487:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3595, - "id": 3601, - "nodeType": "Return", - "src": "13481:18:10" - } - ] - } - }, - { - "assignments": [ - 3605 - ], - "declarations": [ - { - "constant": false, - "id": 3605, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "scope": 3639, - "src": "13520:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13520:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3623, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3606, - "name": "epochs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3589, - "src": "13540:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 3607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13549:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13540:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3609, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13539:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3610, - "name": "stakeValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3591, - "src": "13555:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3611, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "13567:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "penaltyNotRevealNum", - "nodeType": "MemberAccess", - "referencedDeclaration": 5324, - "src": "13567:29:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13567:31:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3614, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13566:33:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13555:44:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3616, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13554:46:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13539:61:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3618, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13538:63:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3619, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "13604:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "penaltyNotRevealDenom", - "nodeType": "MemberAccess", - "referencedDeclaration": 5333, - "src": "13604:31:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13604:33:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13538:99:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13520:117:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3624, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3605, - "src": "13651:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3625, - "name": "stakeValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3591, - "src": "13661:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13651:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3637, - "nodeType": "Block", - "src": "13732:34:10", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "30", - "id": 3634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13753:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 3635, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13752:3:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - }, - "functionReturnParameters": 3595, - "id": 3636, - "nodeType": "Return", - "src": "13746:9:10" - } - ] - }, - "id": 3638, - "nodeType": "IfStatement", - "src": "13647:119:10", - "trueBody": { - "id": 3633, - "nodeType": "Block", - "src": "13673:53:10", - "statements": [ - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3627, - "name": "stakeValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3591, - "src": "13694:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "id": 3628, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3605, - "src": "13706:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3629, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13705:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13694:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3631, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13693:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3595, - "id": 3632, - "nodeType": "Return", - "src": "13687:28:10" - } - ] - } - } - ] - }, - "documentation": { - "id": 3587, - "nodeType": "StructuredDocumentation", - "src": "13065:204:10", - "text": "@notice Calculates the inactivity penalties of the staker\n @param epochs The difference of epochs where the staker was inactive\n @param stakeValue The Stake that staker had in last epoch" - }, - "functionSelector": "1a69f008", - "id": 3640, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateInactivityPenalties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3589, - "mutability": "mutable", - "name": "epochs", - "nodeType": "VariableDeclaration", - "scope": 3640, - "src": "13312:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3588, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13312:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3591, - "mutability": "mutable", - "name": "stakeValue", - "nodeType": "VariableDeclaration", - "scope": 3640, - "src": "13328:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13328:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13311:36:10" - }, - "returnParameters": { - "id": 3595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3594, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3640, - "src": "13368:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13368:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13367:9:10" - }, - "scope": 3955, - "src": "13274:498:10", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3676, - "nodeType": "Block", - "src": "14082:184:10", - "statements": [ - { - "assignments": [ - 3653 - ], - "declarations": [ - { - "constant": false, - "id": 3653, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 3676, - "src": "14092:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14092:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3658, - "initialValue": { - "expression": { - "baseExpression": { - "id": 3654, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "14116:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3656, - "indexExpression": { - "id": 3655, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3643, - "src": "14124:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14116:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3657, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "14116:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14092:42:10" - }, - { - "expression": { - "id": 3664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3659, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "14144:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3661, - "indexExpression": { - "id": 3660, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3643, - "src": "14152:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14144:12:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "id": 3662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "14144:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3663, - "name": "_stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3645, - "src": "14165:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14144:27:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3665, - "nodeType": "ExpressionStatement", - "src": "14144:27:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3667, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3643, - "src": "14198:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3668, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3653, - "src": "14203:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3669, - "name": "_stake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3645, - "src": "14218:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3670, - "name": "_reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3647, - "src": "14226:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 3671, - "name": "_epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3649, - "src": "14235:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3672, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "14243:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "14243:15:10", - "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_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3666, - "name": "StakeChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2600, - "src": "14186:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,string memory,uint256,uint256)" - } - }, - "id": 3674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14186:73:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3675, - "nodeType": "EmitStatement", - "src": "14181:78:10" - } - ] - }, - "documentation": { - "id": 3641, - "nodeType": "StructuredDocumentation", - "src": "13778:197:10", - "text": "@notice internal function for setting stake of the staker\n called in the giveRewards function\n @param _id of the staker\n @param _stake the amount of schelling tokens staked" - }, - "id": 3677, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setStakerStake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3643, - "mutability": "mutable", - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3677, - "src": "14005:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3642, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14005:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3645, - "mutability": "mutable", - "name": "_stake", - "nodeType": "VariableDeclaration", - "scope": 3677, - "src": "14018:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3644, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14018:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3647, - "mutability": "mutable", - "name": "_reason", - "nodeType": "VariableDeclaration", - "scope": 3677, - "src": "14034:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3646, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14034:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3649, - "mutability": "mutable", - "name": "_epoch", - "nodeType": "VariableDeclaration", - "scope": 3677, - "src": "14057:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3648, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14057:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14004:68:10" - }, - "returnParameters": { - "id": 3651, - "nodeType": "ParameterList", - "parameters": [], - "src": "14082:0:10" - }, - "scope": 3955, - "src": "13980:286:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3761, - "nodeType": "Block", - "src": "14644:938:10", - "statements": [ - { - "assignments": [ - 3689 - ], - "declarations": [ - { - "constant": false, - "id": 3689, - "mutability": "mutable", - "name": "thisStaker", - "nodeType": "VariableDeclaration", - "scope": 3761, - "src": "14654:32:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 3688, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3687, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5594, - "src": "14654:14:10" - }, - "referencedDeclaration": 5594, - "src": "14654:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 3693, - "initialValue": { - "baseExpression": { - "id": 3690, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "14689:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3692, - "indexExpression": { - "id": 3691, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3680, - "src": "14697:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14689:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14654:52:10" - }, - { - "assignments": [ - 3695 - ], - "declarations": [ - { - "constant": false, - "id": 3695, - "mutability": "mutable", - "name": "epochLastActive", - "nodeType": "VariableDeclaration", - "scope": 3761, - "src": "14717:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14717:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3706, - "initialValue": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3696, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "14743:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3697, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5585, - "src": "14743:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 3698, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "14768:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3699, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5589, - "src": "14768:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14743:53:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "expression": { - "id": 3703, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "14894:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3704, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5585, - "src": "14894:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "14743:173:10", - "trueExpression": { - "expression": { - "id": 3701, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "14831:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3702, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5589, - "src": "14831:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14717:199:10" - }, - { - "assignments": [ - 3708 - ], - "declarations": [ - { - "constant": false, - "id": 3708, - "mutability": "mutable", - "name": "penalizeEpochs", - "nodeType": "VariableDeclaration", - "scope": 3761, - "src": "14991:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3707, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14991:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3713, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3709, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3682, - "src": "15016:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "id": 3710, - "name": "epochLastActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3695, - "src": "15023:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3711, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15022:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15016:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14991:48:10" - }, - { - "assignments": [ - 3715 - ], - "declarations": [ - { - "constant": false, - "id": 3715, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 3761, - "src": "15049:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15049:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3718, - "initialValue": { - "expression": { - "id": 3716, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "15073:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3717, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "15073:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15049:40:10" - }, - { - "assignments": [ - 3720 - ], - "declarations": [ - { - "constant": false, - "id": 3720, - "mutability": "mutable", - "name": "currentStake", - "nodeType": "VariableDeclaration", - "scope": 3761, - "src": "15148:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15148:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3725, - "initialValue": { - "arguments": [ - { - "id": 3722, - "name": "penalizeEpochs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3708, - "src": "15200:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3723, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "15216:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3721, - "name": "calculateInactivityPenalties", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3640, - "src": "15171:28:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15171:59:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15148:82:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3726, - "name": "currentStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3720, - "src": "15244:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3727, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "15259:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15244:28:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3760, - "nodeType": "IfStatement", - "src": "15240:336:10", - "trueBody": { - "id": 3759, - "nodeType": "Block", - "src": "15274:302:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 3730, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3689, - "src": "15304:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 3731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5579, - "src": "15304:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3732, - "name": "currentStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3720, - "src": "15319:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "496e61637469766974792050656e616c7479", - "id": 3733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15333:20:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a4344606ed7f554e216e523c4674ccd906b7c63915c2b6de0fdb27f7c2b41432", - "typeString": "literal_string \"Inactivity Penalty\"" - }, - "value": "Inactivity Penalty" - }, - { - "id": 3734, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3682, - "src": "15355:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_a4344606ed7f554e216e523c4674ccd906b7c63915c2b6de0fdb27f7c2b41432", - "typeString": "literal_string \"Inactivity Penalty\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3729, - "name": "_setStakerStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "15288:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,uint256)" - } - }, - "id": 3735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15288:73:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3736, - "nodeType": "ExpressionStatement", - "src": "15288:73:10" - }, - { - "assignments": [ - 3738 - ], - "declarations": [ - { - "constant": false, - "id": 3738, - "mutability": "mutable", - "name": "prevRewardPool", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "15375:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15375:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3740, - "initialValue": { - "id": 3739, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "15400:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15375:35:10" - }, - { - "expression": { - "id": 3749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3741, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "15424:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3742, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "15437:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3743, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "15449:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "id": 3744, - "name": "currentStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3720, - "src": "15464:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3745, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15463:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15449:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3747, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15448:30:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15437:41:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15424:54:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3750, - "nodeType": "ExpressionStatement", - "src": "15424:54:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3752, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3682, - "src": "15514:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3753, - "name": "prevRewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3738, - "src": "15521:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3754, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "15537:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3755, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "15549:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "15549:15:10", - "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": 3751, - "name": "RewardPoolChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2610, - "src": "15497:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15497:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3758, - "nodeType": "EmitStatement", - "src": "15492:73:10" - } - ] - } - } - ] - }, - "documentation": { - "id": 3678, - "nodeType": "StructuredDocumentation", - "src": "14272:291:10", - "text": "@notice The function gives out penalties to stakers during commit. \n The penalties are given for inactivity, failing to reveal\n , deviation from the median value of particular asset\n @param stakerId The staker id\n @param epoch The Epoch value in consideration" - }, - "id": 3762, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_giveInactivityPenalties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3683, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3680, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3762, - "src": "14602:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14602:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3682, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3762, - "src": "14620:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14620:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14601:33:10" - }, - "returnParameters": { - "id": 3684, - "nodeType": "ParameterList", - "parameters": [], - "src": "14644:0:10" - }, - "scope": 3955, - "src": "14568:1014:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3953, - "nodeType": "Block", - "src": "15654:2101:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3770, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3764, - "src": "15689:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3771, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3766, - "src": "15699:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3769, - "name": "_giveInactivityPenalties", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3762, - "src": "15664:24:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 3772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15664:41:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3773, - "nodeType": "ExpressionStatement", - "src": "15664:41:10" - }, - { - "assignments": [ - 3778 - ], - "declarations": [ - { - "constant": false, - "id": 3778, - "mutability": "mutable", - "name": "thisStaker", - "nodeType": "VariableDeclaration", - "scope": 3953, - "src": "15715:33:10", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 3777, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3776, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5594, - "src": "15715:14:10" - }, - "referencedDeclaration": 5594, - "src": "15715:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 3782, - "initialValue": { - "baseExpression": { - "id": 3779, - "name": "stakers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "15751:7:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker storage ref)" - } - }, - "id": 3781, - "indexExpression": { - "id": 3780, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3764, - "src": "15759:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15751:17:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage", - "typeString": "struct Structs.Staker storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15715:53:10" - }, - { - "assignments": [ - 3784 - ], - "declarations": [ - { - "constant": false, - "id": 3784, - "mutability": "mutable", - "name": "previousStake", - "nodeType": "VariableDeclaration", - "scope": 3953, - "src": "15778:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3783, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15778:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3787, - "initialValue": { - "expression": { - "id": 3785, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3778, - "src": "15802:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3786, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "15802:16:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15778:40:10" - }, - { - "assignments": [ - 3789 - ], - "declarations": [ - { - "constant": false, - "id": 3789, - "mutability": "mutable", - "name": "epochLastRevealed", - "nodeType": "VariableDeclaration", - "scope": 3953, - "src": "15828:25:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15828:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3792, - "initialValue": { - "expression": { - "id": 3790, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3778, - "src": "15856:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3791, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 5589, - "src": "15856:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15828:56:10" - }, - { - "assignments": [ - 3797 - ], - "declarations": [ - { - "constant": false, - "id": 3797, - "mutability": "mutable", - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 3953, - "src": "15895:27:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block" - }, - "typeName": { - "id": 3796, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3795, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5615, - "src": "15895:13:10" - }, - "referencedDeclaration": 5615, - "src": "15895:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "visibility": "internal" - } - ], - "id": 3802, - "initialValue": { - "arguments": [ - { - "id": 3800, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3789, - "src": "15947:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3798, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "15925:12:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "id": 3799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 4633, - "src": "15925:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Block_$5615_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Block memory)" - } - }, - "id": 3801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15925:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15895:70:10" - }, - { - "assignments": [ - 3807 - ], - "declarations": [ - { - "constant": false, - "id": 3807, - "mutability": "mutable", - "name": "lowerCutoffsLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3953, - "src": "15976:38:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15976:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3806, - "nodeType": "ArrayTypeName", - "src": "15976:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 3810, - "initialValue": { - "expression": { - "id": 3808, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "16017:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 3809, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lowerCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5605, - "src": "16017:19:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15976:60:10" - }, - { - "assignments": [ - 3815 - ], - "declarations": [ - { - "constant": false, - "id": 3815, - "mutability": "mutable", - "name": "higherCutoffsLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3953, - "src": "16046:39:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16046:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3814, - "nodeType": "ArrayTypeName", - "src": "16046:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 3818, - "initialValue": { - "expression": { - "id": 3816, - "name": "_block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3797, - "src": "16088:6:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 3817, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "higherCutoffs", - "nodeType": "MemberAccess", - "referencedDeclaration": 5608, - "src": "16088:20:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16046:62:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3819, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3807, - "src": "16132:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "16132:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16163:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16132:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3952, - "nodeType": "IfStatement", - "src": "16128:1621:10", - "trueBody": { - "id": 3951, - "nodeType": "Block", - "src": "16166:1583:10", - "statements": [ - { - "assignments": [ - 3824 - ], - "declarations": [ - { - "constant": false, - "id": 3824, - "mutability": "mutable", - "name": "penalty", - "nodeType": "VariableDeclaration", - "scope": 3951, - "src": "16180:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3823, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16180:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3826, - "initialValue": { - "hexValue": "30", - "id": 3825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16198:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16180:19:10" - }, - { - "body": { - "id": 3883, - "nodeType": "Block", - "src": "16272:716:10", - "statements": [ - { - "assignments": [ - 3839 - ], - "declarations": [ - { - "constant": false, - "id": 3839, - "mutability": "mutable", - "name": "voteLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3883, - "src": "16290:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16290:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3848, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 3842, - "name": "epochLastRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3789, - "src": "16334:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3843, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3778, - "src": "16353:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3844, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5579, - "src": "16353:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3845, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3828, - "src": "16368:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3840, - "name": "voteManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2580, - "src": "16314:11:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVoteManager_$4903", - "typeString": "contract IVoteManager" - } - }, - "id": 3841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getVote", - "nodeType": "MemberAccess", - "referencedDeclaration": 4871, - "src": "16314:19:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_struct$_Vote_$5577_memory_ptr_$", - "typeString": "function (uint256,uint256,uint256) view external returns (struct Structs.Vote memory)" - } - }, - "id": 3846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16314:56:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_memory_ptr", - "typeString": "struct Structs.Vote memory" - } - }, - "id": 3847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 5574, - "src": "16314:62:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16290:86:10" - }, - { - "assignments": [ - 3850 - ], - "declarations": [ - { - "constant": false, - "id": 3850, - "mutability": "mutable", - "name": "lowerCutoffLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3883, - "src": "16394:28:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16394:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3854, - "initialValue": { - "baseExpression": { - "id": 3851, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3807, - "src": "16425:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3853, - "indexExpression": { - "id": 3852, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3828, - "src": "16447:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16425:24:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16394:55:10" - }, - { - "assignments": [ - 3856 - ], - "declarations": [ - { - "constant": false, - "id": 3856, - "mutability": "mutable", - "name": "higherCutoffLastEpoch", - "nodeType": "VariableDeclaration", - "scope": 3883, - "src": "16467:29:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3855, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16467:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3860, - "initialValue": { - "baseExpression": { - "id": 3857, - "name": "higherCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3815, - "src": "16499:22:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3859, - "indexExpression": { - "id": 3858, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3828, - "src": "16522:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16499:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16467:57:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3861, - "name": "voteLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "16565:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3862, - "name": "lowerCutoffLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3850, - "src": "16581:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16565:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3864, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16564:38:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3865, - "name": "voteLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "16607:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 3866, - "name": "higherCutoffLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3856, - "src": "16623:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16607:37:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3868, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16606:39:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "16564:81:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3882, - "nodeType": "IfStatement", - "src": "16560:414:10", - "trueBody": { - "id": 3881, - "nodeType": "Block", - "src": "16647:327:10", - "statements": [ - { - "expression": { - "id": 3879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3870, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3824, - "src": "16888:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3871, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3824, - "src": "16898:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3872, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3784, - "src": "16909:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3873, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "16923:9:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "exposureDenominator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5404, - "src": "16923:29:10", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16923:31:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16909:45:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3877, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16908:47:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16898:57:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16888:67:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3880, - "nodeType": "ExpressionStatement", - "src": "16888:67:10" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3831, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3828, - "src": "16233:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 3832, - "name": "lowerCutoffsLastEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3807, - "src": "16237:21:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "16237:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16233:32:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3884, - "initializationExpression": { - "assignments": [ - 3828 - ], - "declarations": [ - { - "constant": false, - "id": 3828, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3884, - "src": "16218:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16218:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3830, - "initialValue": { - "hexValue": "30", - "id": 3829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16230:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16218:13:10" - }, - "loopExpression": { - "expression": { - "id": 3836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "16267:3:10", - "subExpression": { - "id": 3835, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3828, - "src": "16267:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3837, - "nodeType": "ExpressionStatement", - "src": "16267:3:10" - }, - "nodeType": "ForStatement", - "src": "16213:775:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3885, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3824, - "src": "17006:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17016:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17006:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3949, - "nodeType": "Block", - "src": "17414:325:10", - "statements": [ - { - "assignments": [ - 3931 - ], - "declarations": [ - { - "constant": false, - "id": 3931, - "mutability": "mutable", - "name": "prevStakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 3949, - "src": "17474:30:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17474:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3933, - "initialValue": { - "id": 3932, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "17507:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17474:51:10" - }, - { - "expression": { - "id": 3939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3934, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "17543:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3935, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "17564:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "id": 3936, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3784, - "src": "17584:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3937, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17583:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17564:34:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17543:55:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3940, - "nodeType": "ExpressionStatement", - "src": "17543:55:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3942, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3766, - "src": "17657:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3943, - "name": "prevStakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3931, - "src": "17664:22:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3944, - "name": "stakeGettingReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "17688:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3945, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "17708:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "17708:15:10", - "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": 3941, - "name": "StakeGettingRewardChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2620, - "src": "17632:24:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17632:92:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3948, - "nodeType": "EmitStatement", - "src": "17627:97:10" - } - ] - }, - "id": 3950, - "nodeType": "IfStatement", - "src": "17002:737:10", - "trueBody": { - "id": 3929, - "nodeType": "Block", - "src": "17019:389:10", - "statements": [ - { - "expression": { - "id": 3896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3888, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3824, - "src": "17037:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "condition": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3889, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3824, - "src": "17048:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 3890, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3784, - "src": "17058:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17048:23:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3892, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17047:25:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 3894, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3824, - "src": "17091:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "17047:51:10", - "trueExpression": { - "id": 3893, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3784, - "src": "17075:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17037:61:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3897, - "nodeType": "ExpressionStatement", - "src": "17037:61:10" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 3899, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3778, - "src": "17132:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker storage pointer" - } - }, - "id": 3900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5579, - "src": "17132:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3901, - "name": "previousStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3784, - "src": "17148:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "components": [ - { - "id": 3902, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3824, - "src": "17163:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3903, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17162:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17148:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3905, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17147:25:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "566f74696e672050656e616c7479", - "id": 3906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17174:16:10", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_66ee0ab3028df9f2ba3847bf49c42b6060ee42fd6e5deaa8cc2f229e77771533", - "typeString": "literal_string \"Voting Penalty\"" - }, - "value": "Voting Penalty" - }, - { - "id": 3907, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3766, - "src": "17192:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_66ee0ab3028df9f2ba3847bf49c42b6060ee42fd6e5deaa8cc2f229e77771533", - "typeString": "literal_string \"Voting Penalty\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3898, - "name": "_setStakerStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "17116:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,string memory,uint256)" - } - }, - "id": 3908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17116:82:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3909, - "nodeType": "ExpressionStatement", - "src": "17116:82:10" - }, - { - "assignments": [ - 3911 - ], - "declarations": [ - { - "constant": false, - "id": 3911, - "mutability": "mutable", - "name": "prevRewardPool", - "nodeType": "VariableDeclaration", - "scope": 3929, - "src": "17216:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3910, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17216:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3913, - "initialValue": { - "id": 3912, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "17241:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17216:35:10" - }, - { - "expression": { - "id": 3919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3914, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "17269:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3915, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "17282:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "id": 3916, - "name": "penalty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3824, - "src": "17294:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3917, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17293:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17282:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17269:33:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3920, - "nodeType": "ExpressionStatement", - "src": "17269:33:10" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3922, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3766, - "src": "17342:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3923, - "name": "prevRewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3911, - "src": "17349:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3924, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "17365:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3925, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "17377:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "17377:15:10", - "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": 3921, - "name": "RewardPoolChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2610, - "src": "17325:16:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256)" - } - }, - "id": 3927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17325:68:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3928, - "nodeType": "EmitStatement", - "src": "17320:73:10" - } - ] - } - } - ] - } - } - ] - }, - "id": 3954, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_givePenalties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3764, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 3954, - "src": "15612:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15612:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3766, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 3954, - "src": "15630:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15630:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15611:33:10" - }, - "returnParameters": { - "id": 3768, - "nodeType": "ParameterList", - "parameters": [], - "src": "15654:0:10" - }, - "scope": 3955, - "src": "15587:2168:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 3956, - "src": "484:17273:10" - } - ], - "src": "39:17719:10" - }, - "id": 10 - }, - "contracts/Core/StateManager.sol": { - "ast": { - "absolutePath": "contracts/Core/StateManager.sol", - "exportedSymbols": { - "Constants": [ - 5450 - ], - "StateManager": [ - 4003 - ] - }, - "id": 4004, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3957, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:11" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 3958, - "nodeType": "ImportDirective", - "scope": 4004, - "sourceUnit": 5451, - "src": "64:30:11", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4003, - "linearizedBaseContracts": [ - 4003 - ], - "name": "StateManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3972, - "nodeType": "Block", - "src": "178:63:11", - "statements": [ - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3963, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "195:5:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "src": "195:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3965, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "209:9:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 5386, - "src": "209:21:11", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "209:23:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3968, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "208:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "195:38:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3970, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "194:40:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3962, - "id": 3971, - "nodeType": "Return", - "src": "188:46:11" - } - ] - }, - "functionSelector": "757991a8", - "id": 3973, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEpoch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3959, - "nodeType": "ParameterList", - "parameters": [], - "src": "144:2:11" - }, - "returnParameters": { - "id": 3962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3961, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3973, - "src": "169:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "169:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "168:9:11" - }, - "scope": 4003, - "src": "126:115:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4001, - "nodeType": "Block", - "src": "299:143:11", - "statements": [ - { - "assignments": [ - 3979 - ], - "declarations": [ - { - "constant": false, - "id": 3979, - "mutability": "mutable", - "name": "state", - "nodeType": "VariableDeclaration", - "scope": 4001, - "src": "309:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "309:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3992, - "initialValue": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3980, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "326:5:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "src": "326:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3982, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "340:9:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 5386, - "src": "340:21:11", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "340:23:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3985, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "364:9:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "numStates", - "nodeType": "MemberAccess", - "referencedDeclaration": 5395, - "src": "364:19:11", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "364:21:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "340:45:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3989, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "339:47:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "326:60:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3991, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "325:62:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "309:78:11" - }, - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3993, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3979, - "src": "405:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3994, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "412:9:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 3995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "numStates", - "nodeType": "MemberAccess", - "referencedDeclaration": 5395, - "src": "412:19:11", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 3996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "412:21:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3997, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "411:23:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "405:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3999, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "404:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3977, - "id": 4000, - "nodeType": "Return", - "src": "397:38:11" - } - ] - }, - "functionSelector": "1865c57d", - "id": 4002, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getState", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3974, - "nodeType": "ParameterList", - "parameters": [], - "src": "265:2:11" - }, - "returnParameters": { - "id": 3977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3976, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4002, - "src": "290:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3975, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "290:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "289:9:11" - }, - "scope": 4003, - "src": "247:195:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4004, - "src": "97:347:11" - } - ], - "src": "39:406:11" - }, - "id": 11 - }, - "contracts/Core/VoteManager.sol": { - "ast": { - "absolutePath": "contracts/Core/VoteManager.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "Constants": [ - 5450 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "IAccessControl": [ - 42 - ], - "IBlockManager": [ - 4675 - ], - "IERC165": [ - 1031 - ], - "IStakeManager": [ - 4809 - ], - "IStateManager": [ - 4822 - ], - "Initializable": [ - 5185 - ], - "MerkleProof": [ - 995 - ], - "Structs": [ - 5650 - ], - "VoteManager": [ - 4574 - ], - "VoteStorage": [ - 4990 - ] - }, - "id": 4575, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4005, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:12" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", - "file": "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol", - "id": 4006, - "nodeType": "ImportDirective", - "scope": 4575, - "sourceUnit": 996, - "src": "64:68:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IStakeManager.sol", - "file": "./interface/IStakeManager.sol", - "id": 4007, - "nodeType": "ImportDirective", - "scope": 4575, - "sourceUnit": 4810, - "src": "133:39:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IStateManager.sol", - "file": "./interface/IStateManager.sol", - "id": 4008, - "nodeType": "ImportDirective", - "scope": 4575, - "sourceUnit": 4823, - "src": "173:39:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/interface/IBlockManager.sol", - "file": "./interface/IBlockManager.sol", - "id": 4009, - "nodeType": "ImportDirective", - "scope": 4575, - "sourceUnit": 4676, - "src": "213:39:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/storage/VoteStorage.sol", - "file": "./storage/VoteStorage.sol", - "id": 4010, - "nodeType": "ImportDirective", - "scope": 4575, - "sourceUnit": 4991, - "src": "253:35:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "../lib/Constants.sol", - "id": 4011, - "nodeType": "ImportDirective", - "scope": 4575, - "sourceUnit": 5451, - "src": "289:30:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Initializable.sol", - "file": "../Initializable.sol", - "id": 4012, - "nodeType": "ImportDirective", - "scope": 4575, - "sourceUnit": 5186, - "src": "320:30:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/ACL.sol", - "file": "./ACL.sol", - "id": 4013, - "nodeType": "ImportDirective", - "scope": 4575, - "sourceUnit": 1064, - "src": "351:19:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 4014, - "name": "Initializable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5185, - "src": "397:13:12" - }, - "id": 4015, - "nodeType": "InheritanceSpecifier", - "src": "397:13:12" - }, - { - "baseName": { - "id": 4016, - "name": "ACL", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1063, - "src": "412:3:12" - }, - "id": 4017, - "nodeType": "InheritanceSpecifier", - "src": "412:3:12" - }, - { - "baseName": { - "id": 4018, - "name": "VoteStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4990, - "src": "417:11:12" - }, - "id": 4019, - "nodeType": "InheritanceSpecifier", - "src": "417:11:12" - } - ], - "contractDependencies": [ - 42, - 322, - 924, - 1019, - 1031, - 1063, - 4990, - 5185 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4574, - "linearizedBaseContracts": [ - 4574, - 4990, - 1063, - 322, - 1019, - 1031, - 42, - 924, - 5185 - ], - "name": "VoteManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "7542ff95", - "id": 4022, - "mutability": "mutable", - "name": "stakeManager", - "nodeType": "VariableDeclaration", - "scope": 4574, - "src": "436:33:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - }, - "typeName": { - "id": 4021, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4020, - "name": "IStakeManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4809, - "src": "436:13:12" - }, - "referencedDeclaration": 4809, - "src": "436:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2e716fb1", - "id": 4025, - "mutability": "mutable", - "name": "stateManager", - "nodeType": "VariableDeclaration", - "scope": 4574, - "src": "475:33:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - }, - "typeName": { - "id": 4024, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4023, - "name": "IStateManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4822, - "src": "475:13:12" - }, - "referencedDeclaration": 4822, - "src": "475:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "d9169b32", - "id": 4028, - "mutability": "mutable", - "name": "blockManager", - "nodeType": "VariableDeclaration", - "scope": 4574, - "src": "514:33:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - }, - "typeName": { - "id": 4027, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4026, - "name": "IBlockManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4675, - "src": "514:13:12" - }, - "referencedDeclaration": 4675, - "src": "514:13:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "visibility": "public" - }, - { - "anonymous": false, - "id": 4038, - "name": "Committed", - "nodeType": "EventDefinition", - "parameters": { - "id": 4037, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4030, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4038, - "src": "570:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "570:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4032, - "indexed": false, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4038, - "src": "585:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4031, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4034, - "indexed": false, - "mutability": "mutable", - "name": "commitment", - "nodeType": "VariableDeclaration", - "scope": 4038, - "src": "603:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4033, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "603:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4036, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 4038, - "src": "623:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4035, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "623:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "569:72:12" - }, - "src": "554:88:12" - }, - { - "anonymous": false, - "id": 4051, - "name": "Revealed", - "nodeType": "EventDefinition", - "parameters": { - "id": 4050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4040, - "indexed": false, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4051, - "src": "662:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4039, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "662:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4042, - "indexed": false, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4051, - "src": "677:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "677:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4044, - "indexed": false, - "mutability": "mutable", - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 4051, - "src": "695:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4043, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "695:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4047, - "indexed": false, - "mutability": "mutable", - "name": "values", - "nodeType": "VariableDeclaration", - "scope": 4051, - "src": "710:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4045, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "710:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4046, - "nodeType": "ArrayTypeName", - "src": "710:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4049, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "scope": 4051, - "src": "728:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "728:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "661:85:12" - }, - "src": "647:100:12" - }, - { - "body": { - "id": 4065, - "nodeType": "Block", - "src": "789:88:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4056, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4053, - "src": "807:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4057, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4025, - "src": "816:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 4058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4816, - "src": "816:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 4059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "816:23:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "807:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f72726563742065706f6368", - "id": 4061, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "841:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - }, - "value": "incorrect epoch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_98fbda0c177bc7bccb16b8c7b9c3adb025d31f7a3657262539d30b1ff1bf41ed", - "typeString": "literal_string \"incorrect epoch\"" - } - ], - "id": 4055, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "799:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "799:60:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4063, - "nodeType": "ExpressionStatement", - "src": "799:60:12" - }, - { - "id": 4064, - "nodeType": "PlaceholderStatement", - "src": "869:1:12" - } - ] - }, - "id": 4066, - "name": "checkEpoch", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 4054, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4053, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4066, - "src": "774:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "774:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "773:15:12" - }, - "src": "753:124:12", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4080, - "nodeType": "Block", - "src": "919:88:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4071, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4068, - "src": "937:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4072, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4025, - "src": "946:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 4073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4821, - "src": "946:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 4074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "946:23:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "937:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f7272656374207374617465", - "id": 4076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "971:17:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - }, - "value": "incorrect state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ef7082a2c7616b427ecbbe9109c3e3527c082b6cf9dc908baea767d9d0ef4403", - "typeString": "literal_string \"incorrect state\"" - } - ], - "id": 4070, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "929:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "929:60:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4078, - "nodeType": "ExpressionStatement", - "src": "929:60:12" - }, - { - "id": 4079, - "nodeType": "PlaceholderStatement", - "src": "999:1:12" - } - ] - }, - "id": 4081, - "name": "checkState", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 4069, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4068, - "mutability": "mutable", - "name": "state", - "nodeType": "VariableDeclaration", - "scope": 4081, - "src": "904:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4067, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "904:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "903:15:12" - }, - "src": "883:124:12", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4113, - "nodeType": "Block", - "src": "1205:184:12", - "statements": [ - { - "expression": { - "id": 4099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4095, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "1215:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 4097, - "name": "stakeManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "1244:19:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4096, - "name": "IStakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4809, - "src": "1230:13:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStakeManager_$4809_$", - "typeString": "type(contract IStakeManager)" - } - }, - "id": 4098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1230:34:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "src": "1215:49:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 4100, - "nodeType": "ExpressionStatement", - "src": "1215:49:12" - }, - { - "expression": { - "id": 4105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4101, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4025, - "src": "1274:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 4103, - "name": "stateManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4085, - "src": "1303:19:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4102, - "name": "IStateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4822, - "src": "1289:13:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IStateManager_$4822_$", - "typeString": "type(contract IStateManager)" - } - }, - "id": 4104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1289:34:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "src": "1274:49:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 4106, - "nodeType": "ExpressionStatement", - "src": "1274:49:12" - }, - { - "expression": { - "id": 4111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4107, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4028, - "src": "1333:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 4109, - "name": "blockManagerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4087, - "src": "1362:19:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4108, - "name": "IBlockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4675, - "src": "1348:13:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBlockManager_$4675_$", - "typeString": "type(contract IBlockManager)" - } - }, - "id": 4110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1348:34:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "src": "1333:49:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "id": 4112, - "nodeType": "ExpressionStatement", - "src": "1333:49:12" - } - ] - }, - "functionSelector": "c0c53b8b", - "id": 4114, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 4090, - "modifierName": { - "id": 4089, - "name": "initializer", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5175, - "src": "1160:11:12" - }, - "nodeType": "ModifierInvocation", - "src": "1160:11:12" - }, - { - "arguments": [ - { - "id": 4092, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 64, - "src": "1181:18:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 4093, - "modifierName": { - "id": 4091, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1062, - "src": "1172:8:12" - }, - "nodeType": "ModifierInvocation", - "src": "1172:28:12" - } - ], - "name": "initialize", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4083, - "mutability": "mutable", - "name": "stakeManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4114, - "src": "1043:27:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4082, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1043:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4085, - "mutability": "mutable", - "name": "stateManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4114, - "src": "1080:27:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1080:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4087, - "mutability": "mutable", - "name": "blockManagerAddress", - "nodeType": "VariableDeclaration", - "scope": 4114, - "src": "1117:27:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4086, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1117:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1033:117:12" - }, - "returnParameters": { - "id": 4094, - "nodeType": "ParameterList", - "parameters": [], - "src": "1205:0:12" - }, - "scope": 4574, - "src": "1013:376:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4222, - "nodeType": "Block", - "src": "1519:850:12", - "statements": [ - { - "assignments": [ - 4132 - ], - "declarations": [ - { - "constant": false, - "id": 4132, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4222, - "src": "1529:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1529:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 4138, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 4135, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1573:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1573:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 4133, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "1548:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 4134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4785, - "src": "1548:24:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1548:36:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1529:55:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 4146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 4140, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "1602:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4142, - "indexExpression": { - "id": 4141, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4116, - "src": "1614:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1602:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4144, - "indexExpression": { - "id": 4143, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4132, - "src": "1621:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1602:28:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "307830", - "id": 4145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1634:3:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "1602:35:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "616c726561647920636f6d6d69746564", - "id": 4147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1639:18:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fde99a45e22e2bf34447c936fa58763b0e7ceae0cf197e297f2efc966d028475", - "typeString": "literal_string \"already commited\"" - }, - "value": "already commited" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fde99a45e22e2bf34447c936fa58763b0e7ceae0cf197e297f2efc966d028475", - "typeString": "literal_string \"already commited\"" - } - ], - "id": 4139, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1594:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1594:64:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4149, - "nodeType": "ExpressionStatement", - "src": "1594:64:12" - }, - { - "assignments": [ - 4154 - ], - "declarations": [ - { - "constant": false, - "id": 4154, - "mutability": "mutable", - "name": "thisStaker", - "nodeType": "VariableDeclaration", - "scope": 4222, - "src": "1668:32:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 4153, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4152, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5594, - "src": "1668:14:12" - }, - "referencedDeclaration": 5594, - "src": "1668:14:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 4159, - "initialValue": { - "arguments": [ - { - "id": 4157, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4132, - "src": "1726:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4155, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "1703:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 4156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4793, - "src": "1703:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5594_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 4158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1703:32:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1668:67:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4162, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4116, - "src": "1928:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 4163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1934:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1928:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4160, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4028, - "src": "1906:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "id": 4161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 4633, - "src": "1906:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Block_$5615_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Block memory)" - } - }, - "id": 4165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1906:30:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block memory" - } - }, - "id": 4166, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5596, - "src": "1906:41:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 4167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1951:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1906:46:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4171, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4116, - "src": "1990:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 4172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1996:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1990:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4169, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4028, - "src": "1956:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "id": 4170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumProposedBlocks", - "nodeType": "MemberAccess", - "referencedDeclaration": 4674, - "src": "1956:33:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 4174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1956:42:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 4175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2001:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1956:46:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1906:96:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4184, - "nodeType": "IfStatement", - "src": "1902:154:12", - "trueBody": { - "id": 4183, - "nodeType": "Block", - "src": "2004:52:12", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4178, - "name": "blockManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4028, - "src": "2018:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBlockManager_$4675", - "typeString": "contract IBlockManager" - } - }, - "id": 4180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "confirmBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 4625, - "src": "2018:25:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 4181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2018:27:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4182, - "nodeType": "ExpressionStatement", - "src": "2018:27:12" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 4188, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4132, - "src": "2092:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4189, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4116, - "src": "2102:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4185, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "2065:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 4187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "givePenalties", - "nodeType": "MemberAccess", - "referencedDeclaration": 4755, - "src": "2065:26:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 4190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2065:43:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4191, - "nodeType": "ExpressionStatement", - "src": "2065:43:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4192, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4154, - "src": "2123:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4193, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "2123:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4194, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "2143:9:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 4195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "minStake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5350, - "src": "2143:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 4196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2143:20:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2123:40:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4221, - "nodeType": "IfStatement", - "src": "2119:244:12", - "trueBody": { - "id": 4220, - "nodeType": "Block", - "src": "2165:198:12", - "statements": [ - { - "expression": { - "id": 4204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 4198, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "2179:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4201, - "indexExpression": { - "id": 4199, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4116, - "src": "2191:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2179:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4202, - "indexExpression": { - "id": 4200, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4132, - "src": "2198:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2179:28:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4203, - "name": "commitment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4118, - "src": "2210:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2179:41:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4205, - "nodeType": "ExpressionStatement", - "src": "2179:41:12" - }, - { - "expression": { - "arguments": [ - { - "id": 4209, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4132, - "src": "2269:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4206, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "2234:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 4208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateCommitmentEpoch", - "nodeType": "MemberAccess", - "referencedDeclaration": 4731, - "src": "2234:34:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 4210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2234:44:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4211, - "nodeType": "ExpressionStatement", - "src": "2234:44:12" - }, - { - "eventCall": { - "arguments": [ - { - "id": 4213, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4116, - "src": "2307:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4214, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4132, - "src": "2314:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4215, - "name": "commitment", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4118, - "src": "2324:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 4216, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2336:5:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "2336:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4212, - "name": "Committed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4038, - "src": "2297:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,bytes32,uint256)" - } - }, - "id": 4218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2297:55:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4219, - "nodeType": "EmitStatement", - "src": "2292:60:12" - } - ] - } - } - ] - }, - "functionSelector": "f2f03877", - "id": 4223, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 4121, - "modifierName": { - "id": 4120, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "1458:11:12" - }, - "nodeType": "ModifierInvocation", - "src": "1458:11:12" - }, - { - "arguments": [ - { - "id": 4123, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4116, - "src": "1481:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4124, - "modifierName": { - "id": 4122, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4066, - "src": "1470:10:12" - }, - "nodeType": "ModifierInvocation", - "src": "1470:17:12" - }, - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4126, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "1499:9:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 4127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "commit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5288, - "src": "1499:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 4128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1499:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4129, - "modifierName": { - "id": 4125, - "name": "checkState", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4081, - "src": "1488:10:12" - }, - "nodeType": "ModifierInvocation", - "src": "1488:30:12" - } - ], - "name": "commit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4116, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4223, - "src": "1416:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1416:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4118, - "mutability": "mutable", - "name": "commitment", - "nodeType": "VariableDeclaration", - "scope": 4223, - "src": "1431:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4117, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1431:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1415:35:12" - }, - "returnParameters": { - "id": 4130, - "nodeType": "ParameterList", - "parameters": [], - "src": "1519:0:12" - }, - "scope": 4574, - "src": "1400:969:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4474, - "nodeType": "Block", - "src": "2625:1791:12", - "statements": [ - { - "assignments": [ - 4247 - ], - "declarations": [ - { - "constant": false, - "id": 4247, - "mutability": "mutable", - "name": "thisStakerId", - "nodeType": "VariableDeclaration", - "scope": 4474, - "src": "2635:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2635:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 4252, - "initialValue": { - "arguments": [ - { - "id": 4250, - "name": "stakerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4238, - "src": "2683:13:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 4248, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "2658:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 4249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStakerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4785, - "src": "2658:24:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2658:39:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2635:62:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4254, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "2715:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 4255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2730:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2715:16:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "537472756374732e5374616b657220646f6573206e6f74206578697374", - "id": 4257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2733:31:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_743d03e1fcb061f47e6c95bfe6f5992a265f5b91e947a0c52d7b1b2db5a6c7f7", - "typeString": "literal_string \"Structs.Staker does not exist\"" - }, - "value": "Structs.Staker does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_743d03e1fcb061f47e6c95bfe6f5992a265f5b91e947a0c52d7b1b2db5a6c7f7", - "typeString": "literal_string \"Structs.Staker does not exist\"" - } - ], - "id": 4253, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2707:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2707:58:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4259, - "nodeType": "ExpressionStatement", - "src": "2707:58:12" - }, - { - "assignments": [ - 4264 - ], - "declarations": [ - { - "constant": false, - "id": 4264, - "mutability": "mutable", - "name": "thisStaker", - "nodeType": "VariableDeclaration", - "scope": 4474, - "src": "2775:32:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 4263, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4262, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5594, - "src": "2775:14:12" - }, - "referencedDeclaration": 5594, - "src": "2775:14:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "id": 4269, - "initialValue": { - "arguments": [ - { - "id": 4267, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "2833:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4265, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "2810:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 4266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getStaker", - "nodeType": "MemberAccess", - "referencedDeclaration": 4793, - "src": "2810:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Staker_$5594_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct Structs.Staker memory)" - } - }, - "id": 4268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2810:36:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2775:71:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 4277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 4271, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "2864:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4273, - "indexExpression": { - "id": 4272, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "2876:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2864:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4275, - "indexExpression": { - "id": 4274, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "2883:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2864:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "307830", - "id": 4276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2900:3:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "2864:39:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6e6f7420636f6d6d69746564206f7220616c72656164792072657665616c6564", - "id": 4278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2905:34:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a940b2a52672d706cd6529433302ee1085aa924690eb9c0a6dfda6488ef2bcdb", - "typeString": "literal_string \"not commited or already revealed\"" - }, - "value": "not commited or already revealed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a940b2a52672d706cd6529433302ee1085aa924690eb9c0a6dfda6488ef2bcdb", - "typeString": "literal_string \"not commited or already revealed\"" - } - ], - "id": 4270, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2856:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2856:84:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4280, - "nodeType": "ExpressionStatement", - "src": "2856:84:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 4295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 4285, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "2985:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4286, - "name": "root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4227, - "src": "2992:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4287, - "name": "secret", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4236, - "src": "2998:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 4283, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2968:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "2968:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2968:37:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4282, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2958:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2958:48:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "baseExpression": { - "baseExpression": { - "id": 4290, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "3010:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4292, - "indexExpression": { - "id": 4291, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "3022:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3010:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4294, - "indexExpression": { - "id": 4293, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "3029:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3010:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2958:84:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e636f7272656374207365637265742f76616c7565", - "id": 4296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3060:24:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_117c0d3e1a97c48aed3d13ddb2f7e4f454991126eb3f4729b34034c97947c147", - "typeString": "literal_string \"incorrect secret/value\"" - }, - "value": "incorrect secret/value" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_117c0d3e1a97c48aed3d13ddb2f7e4f454991126eb3f4729b34034c97947c147", - "typeString": "literal_string \"incorrect secret/value\"" - } - ], - "id": 4281, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2950:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2950:135:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4298, - "nodeType": "ExpressionStatement", - "src": "2950:135:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4299, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3136:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3136:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 4301, - "name": "stakerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4238, - "src": "3150:13:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3136:27:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4472, - "nodeType": "Block", - "src": "4118:292:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4445, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4025, - "src": "4216:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 4446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4821, - "src": "4216:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 4447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4216:23:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4448, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "4243:9:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 4449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "commit", - "nodeType": "MemberAccess", - "referencedDeclaration": 5288, - "src": "4243:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 4450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4243:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "4216:45:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4e6f7420636f6d6d6974207374617465", - "id": 4452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4263:18:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d593732acfcb443b5b44e4943456e2fce39381181ad947ffa33ce891bf81a45", - "typeString": "literal_string \"Not commit state\"" - }, - "value": "Not commit state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6d593732acfcb443b5b44e4943456e2fce39381181ad947ffa33ce891bf81a45", - "typeString": "literal_string \"Not commit state\"" - } - ], - "id": 4444, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4208:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4208:74:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4454, - "nodeType": "ExpressionStatement", - "src": "4208:74:12" - }, - { - "expression": { - "id": 4461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 4455, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4296:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4458, - "indexExpression": { - "id": 4456, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "4308:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4296:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4459, - "indexExpression": { - "id": 4457, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "4315:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4296:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "307830", - "id": 4460, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4331:3:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "4296:38:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4462, - "nodeType": "ExpressionStatement", - "src": "4296:38:12" - }, - { - "expression": { - "arguments": [ - { - "id": 4466, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "4367:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 4467, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4381:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4381:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4469, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "4393:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4463, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "4348:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 4465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "slash", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "4348:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256) external" - } - }, - "id": 4470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4348:51:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4471, - "nodeType": "ExpressionStatement", - "src": "4348:51:12" - } - ] - }, - "id": 4473, - "nodeType": "IfStatement", - "src": "3132:1278:12", - "trueBody": { - "id": 4443, - "nodeType": "Block", - "src": "3165:947:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4304, - "name": "stateManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4025, - "src": "3187:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStateManager_$4822", - "typeString": "contract IStateManager" - } - }, - "id": 4305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getState", - "nodeType": "MemberAccess", - "referencedDeclaration": 4821, - "src": "3187:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 4306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3187:23:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4307, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "3214:9:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 4308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "reveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 5297, - "src": "3214:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint8_$", - "typeString": "function () pure returns (uint8)" - } - }, - "id": 4309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3214:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "3187:45:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4e6f742072657665616c207374617465", - "id": 4311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3234:18:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_268d2c599991ca0d37b6046592043de1b2c44a06b0ce5c2cfad84e09cba7d135", - "typeString": "literal_string \"Not reveal state\"" - }, - "value": "Not reveal state" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_268d2c599991ca0d37b6046592043de1b2c44a06b0ce5c2cfad84e09cba7d135", - "typeString": "literal_string \"Not reveal state\"" - } - ], - "id": 4303, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3179:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3179:74:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4313, - "nodeType": "ExpressionStatement", - "src": "3179:74:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4315, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4264, - "src": "3275:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4316, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "3275:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 4317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3294:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3275:20:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "6e6f6e706f736974697665207374616b65", - "id": 4319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3297:19:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_18946c3cfecfbaff9f580fe1dba9ddd240c806d5ebece06bfbecf58d9b7c810f", - "typeString": "literal_string \"nonpositive stake\"" - }, - "value": "nonpositive stake" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_18946c3cfecfbaff9f580fe1dba9ddd240c806d5ebece06bfbecf58d9b7c810f", - "typeString": "literal_string \"nonpositive stake\"" - } - ], - "id": 4314, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3267:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3267:50:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4321, - "nodeType": "ExpressionStatement", - "src": "3267:50:12" - }, - { - "body": { - "id": 4409, - "nodeType": "Block", - "src": "3375:448:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "id": 4336, - "name": "proofs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3420:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_bytes32_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes32[] memory[] memory" - } - }, - "id": 4338, - "indexExpression": { - "id": 4337, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3427:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3420:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - { - "id": 4339, - "name": "root", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4227, - "src": "3431:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "id": 4343, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4230, - "src": "3464:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 4345, - "indexExpression": { - "id": 4344, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3471:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3464:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4341, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3447:3:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3447:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3447:27:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4340, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3437:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3437:38:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 4334, - "name": "MerkleProof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "3401:11:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MerkleProof_$995_$", - "typeString": "type(library MerkleProof)" - } - }, - "id": 4335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "verify", - "nodeType": "MemberAccess", - "referencedDeclaration": 994, - "src": "3401:18:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32[] memory,bytes32,bytes32) pure returns (bool)" - } - }, - "id": 4348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3401:75:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "696e76616c6964206d65726b6c652070726f6f66", - "id": 4349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3494:22:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e", - "typeString": "literal_string \"invalid merkle proof\"" - }, - "value": "invalid merkle proof" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_25f2e616fb4e39869325d77f95859ffc4bf04bfb15d3a74a1e599c611657a20e", - "typeString": "literal_string \"invalid merkle proof\"" - } - ], - "id": 4333, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3393:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3393:124:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4351, - "nodeType": "ExpressionStatement", - "src": "3393:124:12" - }, - { - "expression": { - "id": 4367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4352, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4975, - "src": "3535:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5577_storage_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => struct Structs.Vote storage ref)))" - } - }, - "id": 4356, - "indexExpression": { - "id": 4353, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "3541:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3535:12:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5577_storage_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => struct Structs.Vote storage ref))" - } - }, - "id": 4357, - "indexExpression": { - "id": 4354, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "3548:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3535:26:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$5577_storage_$", - "typeString": "mapping(uint256 => struct Structs.Vote storage ref)" - } - }, - "id": 4358, - "indexExpression": { - "id": 4355, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3562:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3535:29:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_storage", - "typeString": "struct Structs.Vote storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "baseExpression": { - "id": 4361, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4230, - "src": "3580:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 4363, - "indexExpression": { - "id": 4362, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3587:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3580:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 4364, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4264, - "src": "3591:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4365, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "3591:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4359, - "name": "Structs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5650, - "src": "3567:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Structs_$5650_$", - "typeString": "type(library Structs)" - } - }, - "id": 4360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "Vote", - "nodeType": "MemberAccess", - "referencedDeclaration": 5577, - "src": "3567:12:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Vote_$5577_storage_ptr_$", - "typeString": "type(struct Structs.Vote storage pointer)" - } - }, - "id": 4366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3567:41:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_memory_ptr", - "typeString": "struct Structs.Vote memory" - } - }, - "src": "3535:73:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_storage", - "typeString": "struct Structs.Vote storage ref" - } - }, - "id": 4368, - "nodeType": "ExpressionStatement", - "src": "3535:73:12" - }, - { - "expression": { - "id": 4391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4369, - "name": "voteWeights", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4989, - "src": "3626:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - } - }, - "id": 4375, - "indexExpression": { - "id": 4370, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "3638:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3626:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4376, - "indexExpression": { - "id": 4371, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3645:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3626:21:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4377, - "indexExpression": { - "baseExpression": { - "id": 4372, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4230, - "src": "3648:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 4374, - "indexExpression": { - "id": 4373, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3655:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3648:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3626:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4378, - "name": "voteWeights", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4989, - "src": "3661:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - } - }, - "id": 4380, - "indexExpression": { - "id": 4379, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "3673:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3661:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4382, - "indexExpression": { - "id": 4381, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3680:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3661:21:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4386, - "indexExpression": { - "baseExpression": { - "id": 4383, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4230, - "src": "3683:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 4385, - "indexExpression": { - "id": 4384, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3690:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3683:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3661:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "expression": { - "id": 4387, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4264, - "src": "3695:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4388, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "3695:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4389, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3694:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3661:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3626:86:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4392, - "nodeType": "ExpressionStatement", - "src": "3626:86:12" - }, - { - "expression": { - "id": 4407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 4393, - "name": "totalStakeRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4981, - "src": "3730:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4396, - "indexExpression": { - "id": 4394, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "3749:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3730:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4397, - "indexExpression": { - "id": 4395, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3756:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3730:28:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 4398, - "name": "totalStakeRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4981, - "src": "3761:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4400, - "indexExpression": { - "id": 4399, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "3780:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3761:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4402, - "indexExpression": { - "id": 4401, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3787:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3761:28:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "expression": { - "id": 4403, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4264, - "src": "3791:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4404, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "3791:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4405, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3790:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3761:47:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3730:78:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4408, - "nodeType": "ExpressionStatement", - "src": "3730:78:12" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4326, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3351:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 4327, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4230, - "src": "3355:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 4328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3355:13:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3351:17:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4410, - "initializationExpression": { - "assignments": [ - 4323 - ], - "declarations": [ - { - "constant": false, - "id": 4323, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 4410, - "src": "3336:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4322, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3336:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 4325, - "initialValue": { - "hexValue": "30", - "id": 4324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3348:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3336:13:12" - }, - "loopExpression": { - "expression": { - "id": 4331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3370:3:12", - "subExpression": { - "id": 4330, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4323, - "src": "3370:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4332, - "nodeType": "ExpressionStatement", - "src": "3370:3:12" - }, - "nodeType": "ForStatement", - "src": "3331:492:12" - }, - { - "expression": { - "arguments": [ - { - "id": 4414, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "3862:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4415, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "3876:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4411, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "3837:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 4413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "giveRewards", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "3837:24:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 4416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3837:45:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4417, - "nodeType": "ExpressionStatement", - "src": "3837:45:12" - }, - { - "expression": { - "id": 4424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 4418, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "3897:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4421, - "indexExpression": { - "id": 4419, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "3909:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3897:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4422, - "indexExpression": { - "id": 4420, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "3916:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3897:32:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "307830", - "id": 4423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3932:3:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "3897:38:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4425, - "nodeType": "ExpressionStatement", - "src": "3897:38:12" - }, - { - "expression": { - "arguments": [ - { - "id": 4429, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "3989:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4430, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "4003:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4426, - "name": "stakeManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4022, - "src": "3949:12:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStakeManager_$4809", - "typeString": "contract IStakeManager" - } - }, - "id": 4428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setStakerEpochLastRevealed", - "nodeType": "MemberAccess", - "referencedDeclaration": 4726, - "src": "3949:39:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) external" - } - }, - "id": 4431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3949:60:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4432, - "nodeType": "ExpressionStatement", - "src": "3949:60:12" - }, - { - "eventCall": { - "arguments": [ - { - "id": 4434, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "4038:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4435, - "name": "thisStakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4247, - "src": "4045:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 4436, - "name": "thisStaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4264, - "src": "4059:10:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker memory" - } - }, - "id": 4437, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 5583, - "src": "4059:16:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4438, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4230, - "src": "4077:6:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "expression": { - "id": 4439, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4085:5:12", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "4085:15: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_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4433, - "name": "Revealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4051, - "src": "4029:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256[] memory,uint256)" - } - }, - "id": 4441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4029:72:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4442, - "nodeType": "EmitStatement", - "src": "4024:77:12" - } - ] - } - } - ] - }, - "functionSelector": "125f68f1", - "id": 4475, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 4241, - "modifierName": { - "id": 4240, - "name": "initialized", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5184, - "src": "2582:11:12" - }, - "nodeType": "ModifierInvocation", - "src": "2582:11:12" - }, - { - "arguments": [ - { - "id": 4243, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4225, - "src": "2613:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4244, - "modifierName": { - "id": 4242, - "name": "checkEpoch", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4066, - "src": "2602:10:12" - }, - "nodeType": "ModifierInvocation", - "src": "2602:17:12" - } - ], - "name": "reveal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4225, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4475, - "src": "2402:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4224, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2402:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4227, - "mutability": "mutable", - "name": "root", - "nodeType": "VariableDeclaration", - "scope": 4475, - "src": "2425:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4226, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2425:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4230, - "mutability": "mutable", - "name": "values", - "nodeType": "VariableDeclaration", - "scope": 4475, - "src": "2447:23:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2447:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4229, - "nodeType": "ArrayTypeName", - "src": "2447:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4234, - "mutability": "mutable", - "name": "proofs", - "nodeType": "VariableDeclaration", - "scope": 4475, - "src": "2480:25:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_bytes32_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes32[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 4231, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2480:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4232, - "nodeType": "ArrayTypeName", - "src": "2480:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "id": 4233, - "nodeType": "ArrayTypeName", - "src": "2480:11:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_bytes32_$dyn_storage_$dyn_storage_ptr", - "typeString": "bytes32[][]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4236, - "mutability": "mutable", - "name": "secret", - "nodeType": "VariableDeclaration", - "scope": 4475, - "src": "2507:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2507:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4238, - "mutability": "mutable", - "name": "stakerAddress", - "nodeType": "VariableDeclaration", - "scope": 4475, - "src": "2531:21:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4237, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2531:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2392:166:12" - }, - "returnParameters": { - "id": 4245, - "nodeType": "ParameterList", - "parameters": [], - "src": "2625:0:12" - }, - "scope": 4574, - "src": "2376:2040:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4491, - "nodeType": "Block", - "src": "4507:95:12", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "id": 4484, - "name": "commitments", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "4566:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - } - }, - "id": 4486, - "indexExpression": { - "id": 4485, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4477, - "src": "4578:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4566:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 4488, - "indexExpression": { - "id": 4487, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4479, - "src": "4585:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4566:28:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 4489, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4565:30:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 4483, - "id": 4490, - "nodeType": "Return", - "src": "4559:36:12" - } - ] - }, - "functionSelector": "7164f0d6", - "id": 4492, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getCommitment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4480, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4477, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4492, - "src": "4445:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4445:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4479, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4492, - "src": "4460:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4478, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4460:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4444:33:12" - }, - "returnParameters": { - "id": 4483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4482, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4492, - "src": "4498:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4481, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4498:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4497:9:12" - }, - "scope": 4574, - "src": "4422:180:12", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4513, - "nodeType": "Block", - "src": "4721:103:12", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4504, - "name": "votes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4975, - "src": "4785:5:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5577_storage_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => struct Structs.Vote storage ref)))" - } - }, - "id": 4506, - "indexExpression": { - "id": 4505, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4494, - "src": "4791:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4785:12:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5577_storage_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => struct Structs.Vote storage ref))" - } - }, - "id": 4508, - "indexExpression": { - "id": 4507, - "name": "stakerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4496, - "src": "4798:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4785:22:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$5577_storage_$", - "typeString": "mapping(uint256 => struct Structs.Vote storage ref)" - } - }, - "id": 4510, - "indexExpression": { - "id": 4509, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4498, - "src": "4808:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4785:31:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_storage", - "typeString": "struct Structs.Vote storage ref" - } - } - ], - "id": 4511, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4784:33:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_storage", - "typeString": "struct Structs.Vote storage ref" - } - }, - "functionReturnParameters": 4503, - "id": 4512, - "nodeType": "Return", - "src": "4778:39:12" - } - ] - }, - "functionSelector": "8ce7ff4a", - "id": 4514, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4494, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4514, - "src": "4625:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4493, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4625:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4496, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4514, - "src": "4640:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4640:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4498, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4514, - "src": "4658:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4658:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4624:50:12" - }, - "returnParameters": { - "id": 4503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4502, - "mutability": "mutable", - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 4514, - "src": "4695:24:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_memory_ptr", - "typeString": "struct Structs.Vote" - }, - "typeName": { - "id": 4501, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4500, - "name": "Structs.Vote", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5577, - "src": "4695:12:12" - }, - "referencedDeclaration": 5577, - "src": "4695:12:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_storage_ptr", - "typeString": "struct Structs.Vote" - } - }, - "visibility": "internal" - } - ], - "src": "4694:26:12" - }, - "scope": 4574, - "src": "4608:216:12", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4534, - "nodeType": "Block", - "src": "4937:113:12", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4525, - "name": "voteWeights", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4989, - "src": "5004:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - } - }, - "id": 4527, - "indexExpression": { - "id": 4526, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4516, - "src": "5016:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5004:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4529, - "indexExpression": { - "id": 4528, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4518, - "src": "5023:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5004:27:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4531, - "indexExpression": { - "id": 4530, - "name": "voteValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4520, - "src": "5032:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5004:38:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4532, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5003:40:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4524, - "id": 4533, - "nodeType": "Return", - "src": "4997:46:12" - } - ] - }, - "functionSelector": "9c66556f", - "id": 4535, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVoteWeight", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4516, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4535, - "src": "4853:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4515, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4853:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4518, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4535, - "src": "4868:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4868:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4520, - "mutability": "mutable", - "name": "voteValue", - "nodeType": "VariableDeclaration", - "scope": 4535, - "src": "4885:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4885:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4852:51:12" - }, - "returnParameters": { - "id": 4524, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4523, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4535, - "src": "4928:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4522, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4928:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4927:9:12" - }, - "scope": 4574, - "src": "4830:220:12", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4551, - "nodeType": "Block", - "src": "5148:100:12", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "id": 4544, - "name": "totalStakeRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4981, - "src": "5206:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4546, - "indexExpression": { - "id": 4545, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4537, - "src": "5225:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5206:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4548, - "indexExpression": { - "id": 4547, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "5232:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5206:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4549, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5205:36:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4543, - "id": 4550, - "nodeType": "Return", - "src": "5199:42:12" - } - ] - }, - "functionSelector": "a6a145d9", - "id": 4552, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalStakeRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4537, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4552, - "src": "5087:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5087:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4539, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4552, - "src": "5102:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4538, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5102:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5086:32:12" - }, - "returnParameters": { - "id": 4543, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4542, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4552, - "src": "5139:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5139:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5138:9:12" - }, - "scope": 4574, - "src": "5056:192:12", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4572, - "nodeType": "Block", - "src": "5365:113:12", - "statements": [ - { - "expression": { - "components": [ - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 4563, - "name": "voteWeights", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4989, - "src": "5432:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - } - }, - "id": 4565, - "indexExpression": { - "id": 4564, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4554, - "src": "5444:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5432:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - } - }, - "id": 4567, - "indexExpression": { - "id": 4566, - "name": "assetId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4556, - "src": "5451:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5432:27:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 4569, - "indexExpression": { - "id": 4568, - "name": "voteValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4558, - "src": "5460:9:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5432:38:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4570, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5431:40:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4562, - "id": 4571, - "nodeType": "Return", - "src": "5425:46:12" - } - ] - }, - "functionSelector": "f322bd7d", - "id": 4573, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalStakeRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4559, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4554, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "5285:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5285:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4556, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "5300:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5300:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4558, - "mutability": "mutable", - "name": "voteValue", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "5317:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4557, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5317:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5284:51:12" - }, - "returnParameters": { - "id": 4562, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4561, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "5356:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4560, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5356:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5355:9:12" - }, - "scope": 4574, - "src": "5254:224:12", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 4575, - "src": "373:5107:12" - } - ], - "src": "39:5442:12" - }, - "id": 12 - }, - "contracts/Core/interface/IBlockManager.sol": { - "ast": { - "absolutePath": "contracts/Core/interface/IBlockManager.sol", - "exportedSymbols": { - "IBlockManager": [ - 4675 - ], - "Structs": [ - 5650 - ] - }, - "id": 4676, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4576, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:13" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4577, - "nodeType": "ImportDirective", - "scope": 4676, - "sourceUnit": 5651, - "src": "64:31:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4675, - "linearizedBaseContracts": [ - 4675 - ], - "name": "IBlockManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "17d99c04", - "id": 4598, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "propose", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4598, - "src": "786:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "786:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4582, - "mutability": "mutable", - "name": "jobIds", - "nodeType": "VariableDeclaration", - "scope": 4598, - "src": "809:23:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "809:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4581, - "nodeType": "ArrayTypeName", - "src": "809:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4585, - "mutability": "mutable", - "name": "medians", - "nodeType": "VariableDeclaration", - "scope": 4598, - "src": "842:24:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4583, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "842:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4584, - "nodeType": "ArrayTypeName", - "src": "842:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4588, - "mutability": "mutable", - "name": "lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 4598, - "src": "876:29:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4586, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "876:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4587, - "nodeType": "ArrayTypeName", - "src": "876:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4591, - "mutability": "mutable", - "name": "higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 4598, - "src": "915:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4589, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "915:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4590, - "nodeType": "ArrayTypeName", - "src": "915:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4593, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 4598, - "src": "955:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4592, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "955:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4595, - "mutability": "mutable", - "name": "biggestStakerId", - "nodeType": "VariableDeclaration", - "scope": 4598, - "src": "982:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "982:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "776:235:13" - }, - "returnParameters": { - "id": 4597, - "nodeType": "ParameterList", - "parameters": [], - "src": "1020:0:13" - }, - "scope": 4675, - "src": "760:261:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "4e6753b7", - "id": 4608, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "giveSorted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4606, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4600, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4608, - "src": "1132:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4599, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1132:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4602, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4608, - "src": "1147:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4601, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1147:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "sorted", - "nodeType": "VariableDeclaration", - "scope": 4608, - "src": "1164:25:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1164:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4604, - "nodeType": "ArrayTypeName", - "src": "1164:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1131:59:13" - }, - "returnParameters": { - "id": 4607, - "nodeType": "ParameterList", - "parameters": [], - "src": "1199:0:13" - }, - "scope": 4675, - "src": "1111:89:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "5ce8772f", - "id": 4613, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "resetDispute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4613, - "src": "1228:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1228:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1227:15:13" - }, - "returnParameters": { - "id": 4612, - "nodeType": "ParameterList", - "parameters": [], - "src": "1251:0:13" - }, - "scope": 4675, - "src": "1205:47:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "1d69ff9b", - "id": 4622, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isElectedProposer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4615, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 4622, - "src": "1294:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1294:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4617, - "mutability": "mutable", - "name": "biggestStakerId", - "nodeType": "VariableDeclaration", - "scope": 4622, - "src": "1321:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1321:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4619, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4622, - "src": "1354:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1354:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1284:92:13" - }, - "returnParameters": { - "id": 4621, - "nodeType": "ParameterList", - "parameters": [], - "src": "1385:0:13" - }, - "scope": 4675, - "src": "1258:128:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "9b87f644", - "id": 4625, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "confirmBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4623, - "nodeType": "ParameterList", - "parameters": [], - "src": "1413:2:13" - }, - "returnParameters": { - "id": 4624, - "nodeType": "ParameterList", - "parameters": [], - "src": "1424:0:13" - }, - "scope": 4675, - "src": "1392:33:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "04c07569", - "id": 4633, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getBlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4627, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4633, - "src": "1449:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4626, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1449:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1448:15:13" - }, - "returnParameters": { - "id": 4632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4631, - "mutability": "mutable", - "name": "_block", - "nodeType": "VariableDeclaration", - "scope": 4633, - "src": "1486:27:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_memory_ptr", - "typeString": "struct Structs.Block" - }, - "typeName": { - "id": 4630, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4629, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5615, - "src": "1486:13:13" - }, - "referencedDeclaration": 5615, - "src": "1486:13:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "visibility": "internal" - } - ], - "src": "1485:29:13" - }, - "scope": 4675, - "src": "1431:84:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "378ab9a9", - "id": 4641, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getBlockMedians", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4635, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4641, - "src": "1545:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1545:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1544:15:13" - }, - "returnParameters": { - "id": 4640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4639, - "mutability": "mutable", - "name": "_blockMedians", - "nodeType": "VariableDeclaration", - "scope": 4641, - "src": "1582:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4637, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1582:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4638, - "nodeType": "ArrayTypeName", - "src": "1582:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1581:32:13" - }, - "scope": 4675, - "src": "1520:94:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "d2a4669a", - "id": 4649, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getLowerCutoffs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4644, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4643, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4649, - "src": "1645:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4642, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1645:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1644:15:13" - }, - "returnParameters": { - "id": 4648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4647, - "mutability": "mutable", - "name": "_lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 4649, - "src": "1682:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1682:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4646, - "nodeType": "ArrayTypeName", - "src": "1682:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1681:32:13" - }, - "scope": 4675, - "src": "1620:94:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "fae4425d", - "id": 4657, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getHigherCutoffs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4652, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4651, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4657, - "src": "1755:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1755:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1745:29:13" - }, - "returnParameters": { - "id": 4656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4655, - "mutability": "mutable", - "name": "_higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 4657, - "src": "1797:31:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1797:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4654, - "nodeType": "ArrayTypeName", - "src": "1797:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1796:33:13" - }, - "scope": 4675, - "src": "1720:110:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "d1a4a43d", - "id": 4667, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getProposedBlockMedians", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4659, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4667, - "src": "1878:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1878:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4661, - "mutability": "mutable", - "name": "proposedBlock", - "nodeType": "VariableDeclaration", - "scope": 4667, - "src": "1901:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1901:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1868:60:13" - }, - "returnParameters": { - "id": 4666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4665, - "mutability": "mutable", - "name": "_blockMedians", - "nodeType": "VariableDeclaration", - "scope": 4667, - "src": "1951:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1951:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4664, - "nodeType": "ArrayTypeName", - "src": "1951:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1950:32:13" - }, - "scope": 4675, - "src": "1836:147:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "e38c7c42", - "id": 4674, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getNumProposedBlocks", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4670, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4669, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4674, - "src": "2019:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4668, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2019:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2018:15:13" - }, - "returnParameters": { - "id": 4673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4672, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4674, - "src": "2056:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2056:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2055:9:13" - }, - "scope": 4675, - "src": "1989:76:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4676, - "src": "98:1969:13" - } - ], - "src": "39:2029:13" - }, - "id": 13 - }, - "contracts/Core/interface/IJobManager.sol": { - "ast": { - "absolutePath": "contracts/Core/interface/IJobManager.sol", - "exportedSymbols": { - "IJobManager": [ - 4716 - ] - }, - "id": 4717, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4677, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:14" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4716, - "linearizedBaseContracts": [ - 4716 - ], - "name": "IJobManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "25d10c3f", - "id": 4686, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4679, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 4686, - "src": "113:19:14", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4678, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "113:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4681, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 4686, - "src": "134:24:14", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4680, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "134:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4683, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 4686, - "src": "160:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4682, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "160:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "112:60:14" - }, - "returnParameters": { - "id": 4685, - "nodeType": "ParameterList", - "parameters": [], - "src": "181:0:14" - }, - "scope": 4716, - "src": "93:89:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "56350bdf", - "id": 4693, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "fulfillJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4688, - "mutability": "mutable", - "name": "jobId", - "nodeType": "VariableDeclaration", - "scope": 4693, - "src": "207:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "207:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4690, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 4693, - "src": "222:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4689, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "222:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "206:30:14" - }, - "returnParameters": { - "id": 4692, - "nodeType": "ParameterList", - "parameters": [], - "src": "245:0:14" - }, - "scope": 4716, - "src": "187:59:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "995e4339", - "id": 4700, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getResult", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4696, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4695, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 4700, - "src": "270:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "270:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "269:12:14" - }, - "returnParameters": { - "id": 4699, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4698, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4700, - "src": "304:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4697, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "304:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "303:9:14" - }, - "scope": 4716, - "src": "251:62:14", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "bf22c457", - "id": 4715, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4703, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4702, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 4715, - "src": "343:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "343:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "333:26:14" - }, - "returnParameters": { - "id": 4714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4705, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 4715, - "src": "422:17:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4704, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "422:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4707, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 4715, - "src": "453:22:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4706, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "453:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4709, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 4715, - "src": "489:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4708, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "489:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 4715, - "src": "521:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4710, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "521:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4713, - "mutability": "mutable", - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 4715, - "src": "546:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "546:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "408:162:14" - }, - "scope": 4716, - "src": "318:253:14", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4717, - "src": "64:509:14" - } - ], - "src": "39:535:14" - }, - "id": 14 - }, - "contracts/Core/interface/IStakeManager.sol": { - "ast": { - "absolutePath": "contracts/Core/interface/IStakeManager.sol", - "exportedSymbols": { - "IStakeManager": [ - 4809 - ], - "Structs": [ - 5650 - ] - }, - "id": 4810, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4718, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:15" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4719, - "nodeType": "ImportDirective", - "scope": 4810, - "sourceUnit": 5651, - "src": "64:31:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4809, - "linearizedBaseContracts": [ - 4809 - ], - "name": "IStakeManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "9864f70a", - "id": 4726, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setStakerEpochLastRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4724, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4721, - "mutability": "mutable", - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 4726, - "src": "164:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "164:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4723, - "mutability": "mutable", - "name": "_epochLastRevealed", - "nodeType": "VariableDeclaration", - "scope": 4726, - "src": "177:26:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "177:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "163:41:15" - }, - "returnParameters": { - "id": 4725, - "nodeType": "ParameterList", - "parameters": [], - "src": "213:0:15" - }, - "scope": 4809, - "src": "128:86:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "188dc83b", - "id": 4731, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "updateCommitmentEpoch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4728, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4731, - "src": "250:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "250:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "249:18:15" - }, - "returnParameters": { - "id": 4730, - "nodeType": "ParameterList", - "parameters": [], - "src": "276:0:15" - }, - "scope": 4809, - "src": "219:58:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "7b0472f0", - "id": 4738, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "stake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4736, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4733, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4738, - "src": "298:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "298:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4735, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 4738, - "src": "313:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "297:31:15" - }, - "returnParameters": { - "id": 4737, - "nodeType": "ParameterList", - "parameters": [], - "src": "337:0:15" - }, - "scope": 4809, - "src": "282:56:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "2e17de78", - "id": 4743, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "unstake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4740, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4743, - "src": "361:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "361:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "360:15:15" - }, - "returnParameters": { - "id": 4742, - "nodeType": "ParameterList", - "parameters": [], - "src": "384:0:15" - }, - "scope": 4809, - "src": "343:42:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "2e1a7d4d", - "id": 4748, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "409:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "409:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "408:15:15" - }, - "returnParameters": { - "id": 4747, - "nodeType": "ParameterList", - "parameters": [], - "src": "432:0:15" - }, - "scope": 4809, - "src": "390:43:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "54eae15e", - "id": 4755, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "givePenalties", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4755, - "src": "462:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "462:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4752, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4755, - "src": "480:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "480:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "461:33:15" - }, - "returnParameters": { - "id": 4754, - "nodeType": "ParameterList", - "parameters": [], - "src": "503:0:15" - }, - "scope": 4809, - "src": "438:66:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "746c8b65", - "id": 4762, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "giveBlockReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4757, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4762, - "src": "534:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "534:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4759, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4762, - "src": "552:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "552:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "533:33:15" - }, - "returnParameters": { - "id": 4761, - "nodeType": "ParameterList", - "parameters": [], - "src": "575:0:15" - }, - "scope": 4809, - "src": "509:67:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "fabb9890", - "id": 4769, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "giveRewards", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4764, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4769, - "src": "603:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "603:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4769, - "src": "621:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "621:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "602:33:15" - }, - "returnParameters": { - "id": 4768, - "nodeType": "ParameterList", - "parameters": [], - "src": "644:0:15" - }, - "scope": 4809, - "src": "581:64:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "0f91ce19", - "id": 4778, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "slash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4771, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 4778, - "src": "666:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "666:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4773, - "mutability": "mutable", - "name": "bountyHunter", - "nodeType": "VariableDeclaration", - "scope": 4778, - "src": "678:20:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4772, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "678:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4775, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4778, - "src": "700:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "700:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "665:49:15" - }, - "returnParameters": { - "id": 4777, - "nodeType": "ParameterList", - "parameters": [], - "src": "723:0:15" - }, - "scope": 4809, - "src": "650:74:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "6022a485", - "id": 4785, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getStakerId", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4780, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 4785, - "src": "750:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4779, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "750:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "749:18:15" - }, - "returnParameters": { - "id": 4784, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4783, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4785, - "src": "790:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "790:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "789:9:15" - }, - "scope": 4809, - "src": "729:70:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "e3c998fe", - "id": 4793, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getStaker", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4788, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4787, - "mutability": "mutable", - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 4793, - "src": "823:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4786, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "823:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "822:13:15" - }, - "returnParameters": { - "id": 4792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4791, - "mutability": "mutable", - "name": "staker", - "nodeType": "VariableDeclaration", - "scope": 4793, - "src": "858:28:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_memory_ptr", - "typeString": "struct Structs.Staker" - }, - "typeName": { - "id": 4790, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4789, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5594, - "src": "858:14:15" - }, - "referencedDeclaration": 5594, - "src": "858:14:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - } - }, - "visibility": "internal" - } - ], - "src": "857:30:15" - }, - "scope": 4809, - "src": "804:84:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "bc788d46", - "id": 4798, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getNumStakers", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4794, - "nodeType": "ParameterList", - "parameters": [], - "src": "915:2:15" - }, - "returnParameters": { - "id": 4797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4796, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4798, - "src": "940:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4795, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "940:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "939:9:15" - }, - "scope": 4809, - "src": "893:56:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "1b8b13a7", - "id": 4803, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getRewardPool", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4799, - "nodeType": "ParameterList", - "parameters": [], - "src": "976:2:15" - }, - "returnParameters": { - "id": 4802, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4801, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4803, - "src": "1001:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1001:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1000:9:15" - }, - "scope": 4809, - "src": "954:56:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "1ad54991", - "id": 4808, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getStakeGettingReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4804, - "nodeType": "ParameterList", - "parameters": [], - "src": "1045:2:15" - }, - "returnParameters": { - "id": 4807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4806, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4808, - "src": "1070:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1070:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1069:9:15" - }, - "scope": 4809, - "src": "1015:64:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4810, - "src": "97:984:15" - } - ], - "src": "39:1043:15" - }, - "id": 15 - }, - "contracts/Core/interface/IStateManager.sol": { - "ast": { - "absolutePath": "contracts/Core/interface/IStateManager.sol", - "exportedSymbols": { - "IStateManager": [ - 4822 - ] - }, - "id": 4823, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4811, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:16" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4822, - "linearizedBaseContracts": [ - 4822 - ], - "name": "IStateManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "757991a8", - "id": 4816, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getEpoch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4812, - "nodeType": "ParameterList", - "parameters": [], - "src": "112:2:16" - }, - "returnParameters": { - "id": 4815, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4814, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4816, - "src": "137:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "137:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "136:9:16" - }, - "scope": 4822, - "src": "94:52:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "1865c57d", - "id": 4821, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getState", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4817, - "nodeType": "ParameterList", - "parameters": [], - "src": "170:2:16" - }, - "returnParameters": { - "id": 4820, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4819, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4821, - "src": "195:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4818, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "195:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "194:9:16" - }, - "scope": 4822, - "src": "152:52:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4823, - "src": "64:142:16" - } - ], - "src": "39:168:16" - }, - "id": 16 - }, - "contracts/Core/interface/IVoteManager.sol": { - "ast": { - "absolutePath": "contracts/Core/interface/IVoteManager.sol", - "exportedSymbols": { - "IVoteManager": [ - 4903 - ], - "Structs": [ - 5650 - ] - }, - "id": 4904, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4824, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:17" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4825, - "nodeType": "ImportDirective", - "scope": 4904, - "sourceUnit": 5651, - "src": "64:31:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4903, - "linearizedBaseContracts": [ - 4903 - ], - "name": "IVoteManager", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "f2f03877", - "id": 4832, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "commit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4827, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4832, - "src": "144:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "144:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4829, - "mutability": "mutable", - "name": "commitment", - "nodeType": "VariableDeclaration", - "scope": 4832, - "src": "159:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4828, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "159:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "143:35:17" - }, - "returnParameters": { - "id": 4831, - "nodeType": "ParameterList", - "parameters": [], - "src": "187:0:17" - }, - "scope": 4903, - "src": "128:60:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "125f68f1", - "id": 4850, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "reveal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4834, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4850, - "src": "219:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4833, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "219:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4836, - "mutability": "mutable", - "name": "root", - "nodeType": "VariableDeclaration", - "scope": 4850, - "src": "242:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4835, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "242:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4839, - "mutability": "mutable", - "name": "values", - "nodeType": "VariableDeclaration", - "scope": 4850, - "src": "264:25:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "264:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4838, - "nodeType": "ArrayTypeName", - "src": "264:9:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4843, - "mutability": "mutable", - "name": "proofs", - "nodeType": "VariableDeclaration", - "scope": 4850, - "src": "299:27:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_bytes32_$dyn_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes32[][]" - }, - "typeName": { - "baseType": { - "baseType": { - "id": 4840, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "299:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4841, - "nodeType": "ArrayTypeName", - "src": "299:9:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "id": 4842, - "nodeType": "ArrayTypeName", - "src": "299:11:17", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_bytes32_$dyn_storage_$dyn_storage_ptr", - "typeString": "bytes32[][]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4845, - "mutability": "mutable", - "name": "secret", - "nodeType": "VariableDeclaration", - "scope": 4850, - "src": "336:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4844, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "336:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4847, - "mutability": "mutable", - "name": "stakerAddress", - "nodeType": "VariableDeclaration", - "scope": 4850, - "src": "360:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4846, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "360:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "209:178:17" - }, - "returnParameters": { - "id": 4849, - "nodeType": "ParameterList", - "parameters": [], - "src": "396:0:17" - }, - "scope": 4903, - "src": "194:203:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "7164f0d6", - "id": 4859, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getCommitment", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4852, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4859, - "src": "426:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4854, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4859, - "src": "441:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "441:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "425:33:17" - }, - "returnParameters": { - "id": 4858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4857, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4859, - "src": "481:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4856, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "481:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "480:9:17" - }, - "scope": 4903, - "src": "403:87:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "8ce7ff4a", - "id": 4871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4861, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4871, - "src": "522:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4860, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "522:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4863, - "mutability": "mutable", - "name": "stakerId", - "nodeType": "VariableDeclaration", - "scope": 4871, - "src": "545:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "545:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4865, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4871, - "src": "571:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "571:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "512:80:17" - }, - "returnParameters": { - "id": 4870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4869, - "mutability": "mutable", - "name": "vote", - "nodeType": "VariableDeclaration", - "scope": 4871, - "src": "615:24:17", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_memory_ptr", - "typeString": "struct Structs.Vote" - }, - "typeName": { - "id": 4868, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4867, - "name": "Structs.Vote", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5577, - "src": "615:12:17" - }, - "referencedDeclaration": 5577, - "src": "615:12:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_storage_ptr", - "typeString": "struct Structs.Vote" - } - }, - "visibility": "internal" - } - ], - "src": "614:26:17" - }, - "scope": 4903, - "src": "496:145:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "9c66556f", - "id": 4882, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getVoteWeight", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4873, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4882, - "src": "670:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4882, - "src": "685:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4874, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "685:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "mutability": "mutable", - "name": "voteValue", - "nodeType": "VariableDeclaration", - "scope": 4882, - "src": "702:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "702:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "669:51:17" - }, - "returnParameters": { - "id": 4881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4880, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4882, - "src": "747:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "747:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "746:9:17" - }, - "scope": 4903, - "src": "647:109:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "a6a145d9", - "id": 4891, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getTotalStakeRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4887, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4884, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4891, - "src": "793:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "793:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4886, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4891, - "src": "808:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4885, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "808:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "792:32:17" - }, - "returnParameters": { - "id": 4890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4889, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4891, - "src": "847:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "847:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "846:9:17" - }, - "scope": 4903, - "src": "762:94:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "f322bd7d", - "id": 4902, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getTotalStakeRevealed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4893, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 4902, - "src": "902:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "902:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4895, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 4902, - "src": "925:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "925:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4897, - "mutability": "mutable", - "name": "voteValue", - "nodeType": "VariableDeclaration", - "scope": 4902, - "src": "950:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "950:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "892:81:17" - }, - "returnParameters": { - "id": 4901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4900, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 4902, - "src": "996:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4899, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "996:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "995:9:17" - }, - "scope": 4903, - "src": "862:143:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4904, - "src": "98:909:17" - } - ], - "src": "39:969:17" - }, - "id": 17 - }, - "contracts/Core/storage/BlockStorage.sol": { - "ast": { - "absolutePath": "contracts/Core/storage/BlockStorage.sol", - "exportedSymbols": { - "BlockStorage": [ - 4925 - ], - "Structs": [ - 5650 - ] - }, - "id": 4926, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4905, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:18" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4906, - "nodeType": "ImportDirective", - "scope": 4926, - "sourceUnit": 5651, - "src": "64:31:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4925, - "linearizedBaseContracts": [ - 4925 - ], - "name": "BlockStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "828496d6", - "id": 4913, - "mutability": "mutable", - "name": "disputes", - "nodeType": "VariableDeclaration", - "scope": 4925, - "src": "171:73:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute))" - }, - "typeName": { - "id": 4912, - "keyType": { - "id": 4907, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "180:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "171:57:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$_$", - "typeString": "mapping(uint256 => mapping(address => struct Structs.Dispute))" - }, - "valueType": { - "id": 4911, - "keyType": { - "id": 4908, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "200:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "191:36:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Dispute_$5628_storage_$", - "typeString": "mapping(address => struct Structs.Dispute)" - }, - "valueType": { - "id": 4910, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4909, - "name": "Structs.Dispute", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5628, - "src": "211:15:18" - }, - "referencedDeclaration": 5628, - "src": "211:15:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Dispute_$5628_storage_ptr", - "typeString": "struct Structs.Dispute" - } - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "92b48411", - "id": 4919, - "mutability": "mutable", - "name": "proposedBlocks", - "nodeType": "VariableDeclaration", - "scope": 4925, - "src": "289:58:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block[])" - }, - "typeName": { - "id": 4918, - "keyType": { - "id": 4914, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "298:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "289:36:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_Block_$5615_storage_$dyn_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block[])" - }, - "valueType": { - "baseType": { - "id": 4916, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4915, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5615, - "src": "309:13:18" - }, - "referencedDeclaration": 5615, - "src": "309:13:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage_ptr", - "typeString": "struct Structs.Block" - } - }, - "id": 4917, - "nodeType": "ArrayTypeName", - "src": "309:15:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Block_$5615_storage_$dyn_storage_ptr", - "typeString": "struct Structs.Block[]" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f25b3f99", - "id": 4924, - "mutability": "mutable", - "name": "blocks", - "nodeType": "VariableDeclaration", - "scope": 4925, - "src": "353:48:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5615_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block)" - }, - "typeName": { - "id": 4923, - "keyType": { - "id": 4920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "362:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "353:34:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Block_$5615_storage_$", - "typeString": "mapping(uint256 => struct Structs.Block)" - }, - "valueType": { - "id": 4922, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4921, - "name": "Structs.Block", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5615, - "src": "373:13:18" - }, - "referencedDeclaration": 5615, - "src": "373:13:18", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Block_$5615_storage_ptr", - "typeString": "struct Structs.Block" - } - } - }, - "visibility": "public" - } - ], - "scope": 4926, - "src": "98:306:18" - } - ], - "src": "39:366:18" - }, - "id": 18 - }, - "contracts/Core/storage/JobStorage.sol": { - "ast": { - "absolutePath": "contracts/Core/storage/JobStorage.sol", - "exportedSymbols": { - "JobStorage": [ - 4936 - ], - "Structs": [ - 5650 - ] - }, - "id": 4937, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4927, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:19" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4928, - "nodeType": "ImportDirective", - "scope": 4937, - "sourceUnit": 5651, - "src": "64:31:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4936, - "linearizedBaseContracts": [ - 4936 - ], - "name": "JobStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "9212051c", - "id": 4930, - "mutability": "mutable", - "name": "numJobs", - "nodeType": "VariableDeclaration", - "scope": 4936, - "src": "124:22:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "124:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "180aedf3", - "id": 4935, - "mutability": "mutable", - "name": "jobs", - "nodeType": "VariableDeclaration", - "scope": 4936, - "src": "152:44:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5649_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job)" - }, - "typeName": { - "id": 4934, - "keyType": { - "id": 4931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "161:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "152:32:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Job_$5649_storage_$", - "typeString": "mapping(uint256 => struct Structs.Job)" - }, - "valueType": { - "id": 4933, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4932, - "name": "Structs.Job", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5649, - "src": "172:11:19" - }, - "referencedDeclaration": 5649, - "src": "172:11:19", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Job_$5649_storage_ptr", - "typeString": "struct Structs.Job" - } - } - }, - "visibility": "public" - } - ], - "scope": 4937, - "src": "98:101:19" - } - ], - "src": "39:161:19" - }, - "id": 19 - }, - "contracts/Core/storage/StakeStorage.sol": { - "ast": { - "absolutePath": "contracts/Core/storage/StakeStorage.sol", - "exportedSymbols": { - "StakeStorage": [ - 4957 - ], - "Structs": [ - 5650 - ] - }, - "id": 4958, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4938, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:20" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4939, - "nodeType": "ImportDirective", - "scope": 4958, - "sourceUnit": 5651, - "src": "64:31:20", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4957, - "linearizedBaseContracts": [ - 4957 - ], - "name": "StakeStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "0ac168a1", - "id": 4941, - "mutability": "mutable", - "name": "blockReward", - "nodeType": "VariableDeclaration", - "scope": 4957, - "src": "126:26:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "126:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6c8b052a", - "id": 4943, - "mutability": "mutable", - "name": "numStakers", - "nodeType": "VariableDeclaration", - "scope": 4957, - "src": "158:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4942, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "158:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "66666aa9", - "id": 4945, - "mutability": "mutable", - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 4957, - "src": "189:25:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4944, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "189:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0ec88d3f", - "id": 4947, - "mutability": "mutable", - "name": "stakeGettingReward", - "nodeType": "VariableDeclaration", - "scope": 4957, - "src": "220:33:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "220:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c8ae0d7d", - "id": 4951, - "mutability": "mutable", - "name": "stakerIds", - "nodeType": "VariableDeclaration", - "scope": 4957, - "src": "260:45:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4950, - "keyType": { - "id": 4948, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "269:7:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "260:28:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 4949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "280:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "fd5e6dd1", - "id": 4956, - "mutability": "mutable", - "name": "stakers", - "nodeType": "VariableDeclaration", - "scope": 4957, - "src": "311:50:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker)" - }, - "typeName": { - "id": 4955, - "keyType": { - "id": 4952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "320:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "311:35:20", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Staker_$5594_storage_$", - "typeString": "mapping(uint256 => struct Structs.Staker)" - }, - "valueType": { - "id": 4954, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4953, - "name": "Structs.Staker", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5594, - "src": "331:14:20" - }, - "referencedDeclaration": 5594, - "src": "331:14:20", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Staker_$5594_storage_ptr", - "typeString": "struct Structs.Staker" - } - } - }, - "visibility": "public" - } - ], - "scope": 4958, - "src": "97:267:20" - } - ], - "src": "39:326:20" - }, - "id": 20 - }, - "contracts/Core/storage/VoteStorage.sol": { - "ast": { - "absolutePath": "contracts/Core/storage/VoteStorage.sol", - "exportedSymbols": { - "Structs": [ - 5650 - ], - "VoteStorage": [ - 4990 - ] - }, - "id": 4991, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4959, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:21" - }, - { - "absolutePath": "contracts/lib/Structs.sol", - "file": "../../lib/Structs.sol", - "id": 4960, - "nodeType": "ImportDirective", - "scope": 4991, - "sourceUnit": 5651, - "src": "64:31:21", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4990, - "linearizedBaseContracts": [ - 4990 - ], - "name": "VoteStorage", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "d13e2e60", - "id": 4966, - "mutability": "mutable", - "name": "commitments", - "nodeType": "VariableDeclaration", - "scope": 4990, - "src": "163:68:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - }, - "typeName": { - "id": 4965, - "keyType": { - "id": 4961, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "172:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "163:49:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_bytes32_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => bytes32))" - }, - "valueType": { - "id": 4964, - "keyType": { - "id": 4962, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "192:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "183:28:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - }, - "valueType": { - "id": 4963, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "203:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "283e2905", - "id": 4975, - "mutability": "mutable", - "name": "votes", - "nodeType": "VariableDeclaration", - "scope": 4990, - "src": "280:89:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5577_storage_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => struct Structs.Vote)))" - }, - "typeName": { - "id": 4974, - "keyType": { - "id": 4967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "289:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "280:76:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5577_storage_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => struct Structs.Vote)))" - }, - "valueType": { - "id": 4973, - "keyType": { - "id": 4968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "300:55:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_struct$_Vote_$5577_storage_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => struct Structs.Vote))" - }, - "valueType": { - "id": 4972, - "keyType": { - "id": 4969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "330:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "321:33:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Vote_$5577_storage_$", - "typeString": "mapping(uint256 => struct Structs.Vote)" - }, - "valueType": { - "id": 4971, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4970, - "name": "Structs.Vote", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5577, - "src": "341:12:21" - }, - "referencedDeclaration": 5577, - "src": "341:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Vote_$5577_storage_ptr", - "typeString": "struct Structs.Vote" - } - } - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8a757ecc", - "id": 4981, - "mutability": "mutable", - "name": "totalStakeRevealed", - "nodeType": "VariableDeclaration", - "scope": 4990, - "src": "412:76:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 4980, - "keyType": { - "id": 4976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "421:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "412:50:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 4979, - "keyType": { - "id": 4977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "442:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "433:28:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 4978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "453:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8fd5ff00", - "id": 4989, - "mutability": "mutable", - "name": "voteWeights", - "nodeType": "VariableDeclaration", - "scope": 4990, - "src": "540:90:21", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - }, - "typeName": { - "id": 4988, - "keyType": { - "id": 4982, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "549:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "540:71:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))" - }, - "valueType": { - "id": 4987, - "keyType": { - "id": 4983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "569:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "560:50:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(uint256 => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 4986, - "keyType": { - "id": 4984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "590:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "581:28:21", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 4985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "601:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - } - }, - "visibility": "public" - } - ], - "scope": 4991, - "src": "98:535:21" - } - ], - "src": "39:595:21" - }, - "id": 21 - }, - "contracts/Delegator.sol": { - "ast": { - "absolutePath": "contracts/Delegator.sol", - "exportedSymbols": { - "Delegator": [ - 5061 - ], - "IJobManager": [ - 4716 - ] - }, - "id": 5062, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4992, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:22" - }, - { - "absolutePath": "contracts/Core/interface/IJobManager.sol", - "file": "./Core/interface/IJobManager.sol", - "id": 4993, - "nodeType": "ImportDirective", - "scope": 5062, - "sourceUnit": 4717, - "src": "65:42:22", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 5061, - "linearizedBaseContracts": [ - 5061 - ], - "name": "Delegator", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "c89e4361", - "id": 4995, - "mutability": "mutable", - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 5061, - "src": "136:23:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4994, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "136:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 4999, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 5061, - "src": "165:33:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "165:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "expression": { - "id": 4997, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "188:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "188:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "3df395a3", - "id": 5002, - "mutability": "mutable", - "name": "jobManager", - "nodeType": "VariableDeclaration", - "scope": 5061, - "src": "204:29:22", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - }, - "typeName": { - "id": 5001, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 5000, - "name": "IJobManager", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4716, - "src": "204:11:22" - }, - "referencedDeclaration": 4716, - "src": "204:11:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 5022, - "nodeType": "Block", - "src": "495:45:22", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 5019, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5004, - "src": "530:2:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 5017, - "name": "jobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5002, - "src": "512:10:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "id": 5018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getJob", - "nodeType": "MemberAccess", - "referencedDeclaration": 4715, - "src": "512:17:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_uint256_$", - "typeString": "function (uint256) view external returns (string memory,string memory,string memory,bool,uint256)" - } - }, - "id": 5020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "512:21:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_uint256_$", - "typeString": "tuple(string memory,string memory,string memory,bool,uint256)" - } - }, - "functionReturnParameters": 5016, - "id": 5021, - "nodeType": "Return", - "src": "505:28:22" - } - ] - }, - "functionSelector": "bf22c457", - "id": 5023, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5005, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5004, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 5023, - "src": "265:10:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5003, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "265:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "255:26:22" - }, - "returnParameters": { - "id": 5016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5007, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 5023, - "src": "342:17:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5006, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "342:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5009, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 5023, - "src": "373:22:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5008, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "373:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5011, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 5023, - "src": "409:18:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5010, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "409:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5013, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 5023, - "src": "441:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5012, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "441:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5015, - "mutability": "mutable", - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 5023, - "src": "466:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "466:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "328:162:22" - }, - "scope": 5061, - "src": "240:300:22", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5046, - "nodeType": "Block", - "src": "606:165:22", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 5029, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "624:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "624:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5031, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4999, - "src": "638:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "624:19:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "63616c6c6572206973206e6f7420746865206f776e6572", - "id": 5033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "645:25:22", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4", - "typeString": "literal_string \"caller is not the owner\"" - }, - "value": "caller is not the owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_98821890c044d63947a93cf48b7df1f5a42f89e719dd7abbb581002b013b02f4", - "typeString": "literal_string \"caller is not the owner\"" - } - ], - "id": 5028, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "616:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "616:55:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5035, - "nodeType": "ExpressionStatement", - "src": "616:55:22" - }, - { - "expression": { - "id": 5038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5036, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4995, - "src": "681:8:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 5037, - "name": "newDelegateAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "692:18:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "681:29:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5039, - "nodeType": "ExpressionStatement", - "src": "681:29:22" - }, - { - "expression": { - "id": 5044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5040, - "name": "jobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5002, - "src": "720:10:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5042, - "name": "newDelegateAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5025, - "src": "745:18:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5041, - "name": "IJobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "src": "733:11:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IJobManager_$4716_$", - "typeString": "type(contract IJobManager)" - } - }, - "id": 5043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "733:31:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "src": "720:44:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "id": 5045, - "nodeType": "ExpressionStatement", - "src": "720:44:22" - } - ] - }, - "functionSelector": "2da4e75c", - "id": 5047, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "upgradeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5025, - "mutability": "mutable", - "name": "newDelegateAddress", - "nodeType": "VariableDeclaration", - "scope": 5047, - "src": "571:26:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "571:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "570:28:22" - }, - "returnParameters": { - "id": 5027, - "nodeType": "ParameterList", - "parameters": [], - "src": "606:0:22" - }, - "scope": 5061, - "src": "546:225:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5059, - "nodeType": "Block", - "src": "837:48:22", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 5056, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5049, - "src": "875:2:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 5054, - "name": "jobManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5002, - "src": "854:10:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IJobManager_$4716", - "typeString": "contract IJobManager" - } - }, - "id": 5055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getResult", - "nodeType": "MemberAccess", - "referencedDeclaration": 4700, - "src": "854:20:22", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 5057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "854:24:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5053, - "id": 5058, - "nodeType": "Return", - "src": "847:31:22" - } - ] - }, - "functionSelector": "995e4339", - "id": 5060, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getResult", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5049, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 5060, - "src": "796:10:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "796:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "795:12:22" - }, - "returnParameters": { - "id": 5053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5052, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5060, - "src": "828:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "828:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "827:9:22" - }, - "scope": 5061, - "src": "777:108:22", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 5062, - "src": "110:777:22" - } - ], - "src": "39:849:22" - }, - "id": 22 - }, - "contracts/Faucet.sol": { - "ast": { - "absolutePath": "contracts/Faucet.sol", - "exportedSymbols": { - "Context": [ - 924 - ], - "ERC20": [ - 823 - ], - "Faucet": [ - 5130 - ], - "IERC20": [ - 901 - ] - }, - "id": 5131, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5063, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:23" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 5064, - "nodeType": "ImportDirective", - "scope": 5131, - "sourceUnit": 824, - "src": "64:55:23", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 5130, - "linearizedBaseContracts": [ - 5130 - ], - "name": "Faucet", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "fc0c546a", - "id": 5067, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 5130, - "src": "145:18:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - }, - "typeName": { - "id": 5066, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 5065, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 823, - "src": "145:5:23" - }, - "referencedDeclaration": 823, - "src": "145:5:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eecf0b4f", - "id": 5071, - "mutability": "mutable", - "name": "requested", - "nodeType": "VariableDeclaration", - "scope": 5130, - "src": "169:41:23", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 5070, - "keyType": { - "id": 5068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "177:7:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "169:24:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 5069, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "188:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "public" - }, - { - "anonymous": false, - "id": 5077, - "name": "Donate", - "nodeType": "EventDefinition", - "parameters": { - "id": 5076, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5073, - "indexed": false, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 5077, - "src": "234:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5072, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "234:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5075, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 5077, - "src": "252:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5074, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "252:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "233:33:23" - }, - "src": "221:46:23" - }, - { - "body": { - "id": 5088, - "nodeType": "Block", - "src": "307:45:23", - "statements": [ - { - "expression": { - "id": 5086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5082, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5067, - "src": "317:5:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5084, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5079, - "src": "332:12:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5083, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "326:5:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$823_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 5085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "326:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - } - }, - "src": "317:28:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - } - }, - "id": 5087, - "nodeType": "ExpressionStatement", - "src": "317:28:23" - } - ] - }, - "id": 5089, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5080, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5079, - "mutability": "mutable", - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 5089, - "src": "285:20:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5078, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "285:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "284:22:23" - }, - "returnParameters": { - "id": 5081, - "nodeType": "ParameterList", - "parameters": [], - "src": "307:0:23" - }, - "scope": 5130, - "src": "273:79:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5128, - "nodeType": "Block", - "src": "487:243:23", - "statements": [ - { - "condition": { - "id": 5097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "501:20:23", - "subExpression": { - "baseExpression": { - "id": 5094, - "name": "requested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5071, - "src": "502:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 5096, - "indexExpression": { - "id": 5095, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5091, - "src": "512:8:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "502:19:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5127, - "nodeType": "IfStatement", - "src": "497:227:23", - "trueBody": { - "id": 5126, - "nodeType": "Block", - "src": "523:201:23", - "statements": [ - { - "expression": { - "id": 5102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 5098, - "name": "requested", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5071, - "src": "537:9:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 5100, - "indexExpression": { - "id": 5099, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5091, - "src": "547:8:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "537:19:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 5101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "559:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "537:26:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5103, - "nodeType": "ExpressionStatement", - "src": "537:26:23" - }, - { - "expression": { - "arguments": [ - { - "id": 5107, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5091, - "src": "629:8:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - }, - "id": 5113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130303030", - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "639:5:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 5111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 5109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "648:2:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3138", - "id": 5110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "654:2:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "648:8:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - } - ], - "id": 5112, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "647:10:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "639:18:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - } - ], - "expression": { - "id": 5104, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5067, - "src": "614:5:23", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$823", - "typeString": "contract ERC20" - } - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 436, - "src": "614:14:23", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 5114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "614:44:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5115, - "nodeType": "ExpressionStatement", - "src": "614:44:23" - }, - { - "eventCall": { - "arguments": [ - { - "id": 5117, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5091, - "src": "684:8:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - }, - "id": 5123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130303030", - "id": 5118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "694:5:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 5121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 5119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "703:2:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3138", - "id": 5120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "709:2:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "703:8:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - } - ], - "id": 5122, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "702:10:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "694:18:23", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_10000000000000000000000_by_1", - "typeString": "int_const 10000000000000000000000" - } - ], - "id": 5116, - "name": "Donate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5077, - "src": "677:6:23", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 5124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "677:36:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5125, - "nodeType": "EmitStatement", - "src": "672:41:23" - } - ] - } - } - ] - }, - "functionSelector": "b86d1d63", - "id": 5129, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "faucet", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5092, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5091, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 5129, - "src": "460:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5090, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "460:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "459:18:23" - }, - "returnParameters": { - "id": 5093, - "nodeType": "ParameterList", - "parameters": [], - "src": "487:0:23" - }, - "scope": 5130, - "src": "444:286:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5131, - "src": "122:610:23" - } - ], - "src": "39:693:23" - }, - "id": 23 - }, - "contracts/Initializable.sol": { - "ast": { - "absolutePath": "contracts/Initializable.sol", - "exportedSymbols": { - "Initializable": [ - 5185 - ] - }, - "id": 5186, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5132, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "79:23:24" - }, - { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 5133, - "nodeType": "StructuredDocumentation", - "src": "104:1100:24", - "text": " @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an\n external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n Forked from OZ's (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/b9125001f0a1c44d596ca3a47536f1a467e3a29d/contracts/proxy/utils/Initializable.sol)" - }, - "fullyImplemented": true, - "id": 5185, - "linearizedBaseContracts": [ - 5185 - ], - "name": "Initializable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "documentation": { - "id": 5134, - "nodeType": "StructuredDocumentation", - "src": "1245:73:24", - "text": " @dev Indicates that the contract has been initialized." - }, - "id": 5136, - "mutability": "mutable", - "name": "_initialized", - "nodeType": "VariableDeclaration", - "scope": 5185, - "src": "1323:25:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5135, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1323:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "private" - }, - { - "constant": false, - "documentation": { - "id": 5137, - "nodeType": "StructuredDocumentation", - "src": "1355:91:24", - "text": " @dev Indicates that the contract is in the process of being initialized." - }, - "id": 5139, - "mutability": "mutable", - "name": "_initializing", - "nodeType": "VariableDeclaration", - "scope": 5185, - "src": "1451:26:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5138, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1451:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 5174, - "nodeType": "Block", - "src": "1605:348:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5143, - "name": "_initializing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "1623:13:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "id": 5145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1640:13:24", - "subExpression": { - "id": 5144, - "name": "_initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5136, - "src": "1641:12:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1623:30:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564", - "id": 5147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1655:48:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", - "typeString": "literal_string \"Initializable: contract is already initialized\"" - }, - "value": "Initializable: contract is already initialized" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", - "typeString": "literal_string \"Initializable: contract is already initialized\"" - } - ], - "id": 5142, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1615:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1615:89:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5149, - "nodeType": "ExpressionStatement", - "src": "1615:89:24" - }, - { - "assignments": [ - 5151 - ], - "declarations": [ - { - "constant": false, - "id": 5151, - "mutability": "mutable", - "name": "isTopLevelCall", - "nodeType": "VariableDeclaration", - "scope": 5174, - "src": "1715:19:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5150, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1715:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 5154, - "initialValue": { - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1737:14:24", - "subExpression": { - "id": 5152, - "name": "_initializing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "1738:13:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1715:36:24" - }, - { - "condition": { - "id": 5155, - "name": "isTopLevelCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5151, - "src": "1765:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5165, - "nodeType": "IfStatement", - "src": "1761:98:24", - "trueBody": { - "id": 5164, - "nodeType": "Block", - "src": "1781:78:24", - "statements": [ - { - "expression": { - "id": 5158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5156, - "name": "_initializing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "1795:13:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 5157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1811:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1795:20:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5159, - "nodeType": "ExpressionStatement", - "src": "1795:20:24" - }, - { - "expression": { - "id": 5162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5160, - "name": "_initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5136, - "src": "1829:12:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1844:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1829:19:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5163, - "nodeType": "ExpressionStatement", - "src": "1829:19:24" - } - ] - } - }, - { - "id": 5166, - "nodeType": "PlaceholderStatement", - "src": "1869:1:24" - }, - { - "condition": { - "id": 5167, - "name": "isTopLevelCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5151, - "src": "1885:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5173, - "nodeType": "IfStatement", - "src": "1881:66:24", - "trueBody": { - "id": 5172, - "nodeType": "Block", - "src": "1901:46:24", - "statements": [ - { - "expression": { - "id": 5170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5168, - "name": "_initializing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5139, - "src": "1915:13:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 5169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1931:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "1915:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5171, - "nodeType": "ExpressionStatement", - "src": "1915:21:24" - } - ] - } - } - ] - }, - "documentation": { - "id": 5140, - "nodeType": "StructuredDocumentation", - "src": "1484:93:24", - "text": " @dev Modifier to protect an initializer function from being invoked twice." - }, - "id": 5175, - "name": "initializer", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 5141, - "nodeType": "ParameterList", - "parameters": [], - "src": "1602:2:24" - }, - "src": "1582:371:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5183, - "nodeType": "Block", - "src": "1982:83:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 5178, - "name": "_initialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5136, - "src": "2000:12:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "436f6e74726163742073686f756c6420626520696e697469616c697a6564", - "id": 5179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2014:32:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c4117488a466ed9cd19e8a36d161b8aec71671a9c9bd8fc5f630bc91a173f84", - "typeString": "literal_string \"Contract should be initialized\"" - }, - "value": "Contract should be initialized" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c4117488a466ed9cd19e8a36d161b8aec71671a9c9bd8fc5f630bc91a173f84", - "typeString": "literal_string \"Contract should be initialized\"" - } - ], - "id": 5177, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1992:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1992:55:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5181, - "nodeType": "ExpressionStatement", - "src": "1992:55:24" - }, - { - "id": 5182, - "nodeType": "PlaceholderStatement", - "src": "2057:1:24" - } - ] - }, - "id": 5184, - "name": "initialized", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 5176, - "nodeType": "ParameterList", - "parameters": [], - "src": "1979:2:24" - }, - "src": "1959:106:24", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 5186, - "src": "1206:861:24" - } - ], - "src": "79:1989:24" - }, - "id": 24 - }, - "contracts/SchellingCoin.sol": { - "ast": { - "absolutePath": "contracts/SchellingCoin.sol", - "exportedSymbols": { - "ACL": [ - 1063 - ], - "AccessControl": [ - 322 - ], - "Constants": [ - 5450 - ], - "Context": [ - 924 - ], - "ERC165": [ - 1019 - ], - "ERC20": [ - 823 - ], - "IAccessControl": [ - 42 - ], - "IERC165": [ - 1031 - ], - "IERC20": [ - 901 - ], - "SchellingCoin": [ - 5277 - ] - }, - "id": 5278, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5187, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:25" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 5188, - "nodeType": "ImportDirective", - "scope": 5278, - "sourceUnit": 824, - "src": "64:55:25", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "contracts/Core/ACL.sol", - "file": "./Core/ACL.sol", - "id": 5189, - "nodeType": "ImportDirective", - "scope": 5278, - "sourceUnit": 1064, - "src": "120:24:25", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 5191, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 823, - "src": "405:5:25" - }, - "id": 5192, - "nodeType": "InheritanceSpecifier", - "src": "405:5:25" - }, - { - "baseName": { - "id": 5193, - "name": "ACL", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1063, - "src": "412:3:25" - }, - "id": 5194, - "nodeType": "InheritanceSpecifier", - "src": "412:3:25" - } - ], - "contractDependencies": [ - 42, - 322, - 823, - 901, - 924, - 1019, - 1031, - 1063 - ], - "contractKind": "contract", - "documentation": { - "id": 5190, - "nodeType": "StructuredDocumentation", - "src": "146:231:25", - "text": " @title SchellingCoin\n @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator.\n Note they can later distribute these tokens as they wish using `transfer` and other\n `ERC20` functions." - }, - "fullyImplemented": true, - "id": 5277, - "linearizedBaseContracts": [ - 5277, - 1063, - 322, - 1019, - 1031, - 42, - 823, - 901, - 924 - ], - "name": "SchellingCoin", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "functionSelector": "2e0f2625", - "id": 5197, - "mutability": "constant", - "name": "DECIMALS", - "nodeType": "VariableDeclaration", - "scope": 5277, - "src": "423:37:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "423:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3138", - "id": 5196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "458:2:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "2ff2e9dc", - "id": 5208, - "mutability": "constant", - "name": "INITIAL_SUPPLY", - "nodeType": "VariableDeclaration", - "scope": 5277, - "src": "515:79:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5198, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "515:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31303030303030303030", - "id": 5199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "556:10:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000_by_1", - "typeString": "int_const 1000000000" - }, - "value": "1000000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "570:2:25", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "arguments": [ - { - "id": 5203, - "name": "DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5197, - "src": "584:8:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "576:7:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5201, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "576:7:25", - "typeDescriptions": {} - } - }, - "id": 5204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "576:17:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "570:23:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5206, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "569:25:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "556:38:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "d5391393", - "id": 5213, - "mutability": "constant", - "name": "MINTER_ROLE", - "nodeType": "VariableDeclaration", - "scope": 5277, - "src": "600:62:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5209, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "600:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "4d494e5445525f524f4c45", - "id": 5211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "648:13:25", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", - "typeString": "literal_string \"MINTER_ROLE\"" - }, - "value": "MINTER_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", - "typeString": "literal_string \"MINTER_ROLE\"" - } - ], - "id": 5210, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "638:9:25", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "638:24:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 5227, - "nodeType": "Block", - "src": "804:59:25", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 5222, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "820:3:25", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "820:10:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 5224, - "name": "INITIAL_SUPPLY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5208, - "src": "832:14:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5221, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 704, - "src": "814:5:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 5225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "814:33:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5226, - "nodeType": "ExpressionStatement", - "src": "814:33:25" - } - ] - }, - "documentation": { - "id": 5214, - "nodeType": "StructuredDocumentation", - "src": "673:81:25", - "text": " @dev Constructor that gives msg.sender all of existing tokens." - }, - "id": 5228, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "536368656c6c696e67436f696e", - "id": 5217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "780:15:25", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e013b9782208c9bf77726b04ca31b6a44ef7108f6fc0be4e0e910181ee5cd553", - "typeString": "literal_string \"SchellingCoin\"" - }, - "value": "SchellingCoin" - }, - { - "hexValue": "534348", - "id": 5218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "797:5:25", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cad92319e15c7506e5e25b40acafa58c792447e5f06cbc5b5cf9318ad791c99a", - "typeString": "literal_string \"SCH\"" - }, - "value": "SCH" - } - ], - "id": 5219, - "modifierName": { - "id": 5216, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 823, - "src": "774:5:25" - }, - "nodeType": "ModifierInvocation", - "src": "774:29:25" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5215, - "nodeType": "ParameterList", - "parameters": [], - "src": "771:2:25" - }, - "returnParameters": { - "id": 5220, - "nodeType": "ParameterList", - "parameters": [], - "src": "804:0:25" - }, - "scope": 5277, - "src": "759:104:25", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5238, - "nodeType": "Block", - "src": "918:48:25", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 5234, - "name": "MINTER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "938:11:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 5235, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5230, - "src": "951:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5233, - "name": "grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 173, - "src": "928:9:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 5236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "928:31:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5237, - "nodeType": "ExpressionStatement", - "src": "928:31:25" - } - ] - }, - "functionSelector": "983b2d56", - "id": 5239, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5231, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5230, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 5239, - "src": "892:15:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "892:7:25", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "891:17:25" - }, - "returnParameters": { - "id": 5232, - "nodeType": "ParameterList", - "parameters": [], - "src": "918:0:25" - }, - "scope": 5277, - "src": "873:93:25", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5249, - "nodeType": "Block", - "src": "1020:49:25", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 5245, - "name": "MINTER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "1041:11:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 5246, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5241, - "src": "1054:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5244, - "name": "revokeRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 199, - "src": "1030:10:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 5247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1030:32:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5248, - "nodeType": "ExpressionStatement", - "src": "1030:32:25" - } - ] - }, - "functionSelector": "3092afd5", - "id": 5250, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5241, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 5250, - "src": "994:15:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "994:7:25", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "993:17:25" - }, - "returnParameters": { - "id": 5243, - "nodeType": "ParameterList", - "parameters": [], - "src": "1020:0:25" - }, - "scope": 5277, - "src": "972:97:25", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5275, - "nodeType": "Block", - "src": "1146:137:25", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 5261, - "name": "MINTER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "1172:11:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 5262, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1185:3:25", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1185:10:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5260, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "1164:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 5264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1164:32:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "43616c6c6572206973206e6f742061206d696e746572", - "id": 5265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1198:24:25", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf", - "typeString": "literal_string \"Caller is not a minter\"" - }, - "value": "Caller is not a minter" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_71abfcf6e817aaed3ce6663958bac2a3a82999ed0036c98a95b29f350f04cedf", - "typeString": "literal_string \"Caller is not a minter\"" - } - ], - "id": 5259, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1156:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1156:67:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5267, - "nodeType": "ExpressionStatement", - "src": "1156:67:25" - }, - { - "expression": { - "arguments": [ - { - "id": 5269, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5252, - "src": "1239:7:25", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 5270, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5254, - "src": "1248:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5268, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 704, - "src": "1233:5:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 5271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1233:22:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5272, - "nodeType": "ExpressionStatement", - "src": "1233:22:25" - }, - { - "expression": { - "hexValue": "74727565", - "id": 5273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1272:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 5258, - "id": 5274, - "nodeType": "Return", - "src": "1265:11:25" - } - ] - }, - "functionSelector": "40c10f19", - "id": 5276, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5255, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5252, - "mutability": "mutable", - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 5276, - "src": "1089:15:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5251, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1089:7:25", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5254, - "mutability": "mutable", - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 5276, - "src": "1106:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5253, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1106:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1088:33:25" - }, - "returnParameters": { - "id": 5258, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5257, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5276, - "src": "1140:4:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5256, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1140:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1139:6:25" - }, - "scope": 5277, - "src": "1075:208:25", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5278, - "src": "379:906:25" - } - ], - "src": "39:1247:25" - }, - "id": 25 - }, - "contracts/lib/Constants.sol": { - "ast": { - "absolutePath": "contracts/lib/Constants.sol", - "exportedSymbols": { - "Constants": [ - 5450 - ] - }, - "id": 5451, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5279, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:26" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 5450, - "linearizedBaseContracts": [ - 5450 - ], - "name": "Constants", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5287, - "nodeType": "Block", - "src": "134:13:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "30", - "id": 5284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "143:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 5285, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "142:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - }, - "functionReturnParameters": 5283, - "id": 5286, - "nodeType": "Return", - "src": "136:9:26" - } - ] - }, - "functionSelector": "3c7a3aff", - "id": 5288, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "commit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5280, - "nodeType": "ParameterList", - "parameters": [], - "src": "104:2:26" - }, - "returnParameters": { - "id": 5283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5282, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5288, - "src": "127:5:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5281, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "127:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "126:7:26" - }, - "scope": 5450, - "src": "89:58:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5296, - "nodeType": "Block", - "src": "197:13:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "31", - "id": 5293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "206:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 5294, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "205:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "functionReturnParameters": 5292, - "id": 5295, - "nodeType": "Return", - "src": "199:9:26" - } - ] - }, - "functionSelector": "a475b5dd", - "id": 5297, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "reveal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5289, - "nodeType": "ParameterList", - "parameters": [], - "src": "167:2:26" - }, - "returnParameters": { - "id": 5292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5291, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5297, - "src": "190:5:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5290, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "190:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "189:7:26" - }, - "scope": 5450, - "src": "152:58:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5305, - "nodeType": "Block", - "src": "261:13:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "32", - "id": 5302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "270:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "id": 5303, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "269:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - }, - "functionReturnParameters": 5301, - "id": 5304, - "nodeType": "Return", - "src": "263:9:26" - } - ] - }, - "functionSelector": "c198f8ba", - "id": 5306, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "propose", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5298, - "nodeType": "ParameterList", - "parameters": [], - "src": "231:2:26" - }, - "returnParameters": { - "id": 5301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5300, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5306, - "src": "254:5:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5299, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "254:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "253:7:26" - }, - "scope": 5450, - "src": "215:59:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5314, - "nodeType": "Block", - "src": "325:13:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "33", - "id": 5311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "334:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "id": 5312, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "333:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - }, - "functionReturnParameters": 5310, - "id": 5313, - "nodeType": "Return", - "src": "327:9:26" - } - ] - }, - "functionSelector": "f240f7c3", - "id": 5315, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "dispute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5307, - "nodeType": "ParameterList", - "parameters": [], - "src": "295:2:26" - }, - "returnParameters": { - "id": 5310, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5309, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5315, - "src": "318:5:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5308, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "318:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "317:7:26" - }, - "scope": 5450, - "src": "279:59:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5323, - "nodeType": "Block", - "src": "446:14:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "31", - "id": 5320, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "456:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 5321, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "455:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "functionReturnParameters": 5319, - "id": 5322, - "nodeType": "Return", - "src": "448:10:26" - } - ] - }, - "functionSelector": "a86f5a3f", - "id": 5324, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "penaltyNotRevealNum", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5316, - "nodeType": "ParameterList", - "parameters": [], - "src": "414:2:26" - }, - "returnParameters": { - "id": 5319, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5318, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5324, - "src": "437:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5317, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "436:9:26" - }, - "scope": 5450, - "src": "386:74:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5332, - "nodeType": "Block", - "src": "527:19:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "3130303030", - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "537:5:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - } - ], - "id": 5330, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "536:7:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "functionReturnParameters": 5328, - "id": 5331, - "nodeType": "Return", - "src": "529:14:26" - } - ] - }, - "functionSelector": "b1cc4500", - "id": 5333, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "penaltyNotRevealDenom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5325, - "nodeType": "ParameterList", - "parameters": [], - "src": "495:2:26" - }, - "returnParameters": { - "id": 5328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5327, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5333, - "src": "518:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "518:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "517:9:26" - }, - "scope": 5450, - "src": "465:81:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5349, - "nodeType": "Block", - "src": "600:34:26", - "statements": [ - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5346, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313030", - "id": 5338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "609:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 5339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "614:2:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "arguments": [ - { - "hexValue": "3138", - "id": 5342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "626:2:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - } - ], - "id": 5341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "618:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "618:7:26", - "typeDescriptions": {} - } - }, - "id": 5343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "618:11:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "614:15:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5345, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "613:17:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "609:21:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5347, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "608:23:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5337, - "id": 5348, - "nodeType": "Return", - "src": "602:29:26" - } - ] - }, - "functionSelector": "375b3c0a", - "id": 5350, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "minStake", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5334, - "nodeType": "ParameterList", - "parameters": [], - "src": "568:2:26" - }, - "returnParameters": { - "id": 5337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5336, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5350, - "src": "591:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "591:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "590:9:26" - }, - "scope": 5450, - "src": "551:83:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5358, - "nodeType": "Block", - "src": "697:14:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "31", - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "706:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 5356, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "705:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "functionReturnParameters": 5354, - "id": 5357, - "nodeType": "Return", - "src": "699:9:26" - } - ] - }, - "functionSelector": "26bf1c03", - "id": 5359, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unstakeLockPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5351, - "nodeType": "ParameterList", - "parameters": [], - "src": "665:2:26" - }, - "returnParameters": { - "id": 5354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5353, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5359, - "src": "688:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5352, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "688:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "687:9:26" - }, - "scope": 5450, - "src": "639:72:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5367, - "nodeType": "Block", - "src": "775:14:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "31", - "id": 5364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "784:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 5365, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "783:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - }, - "functionReturnParameters": 5363, - "id": 5366, - "nodeType": "Return", - "src": "777:9:26" - } - ] - }, - "functionSelector": "2628490f", - "id": 5368, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawLockPeriod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5360, - "nodeType": "ParameterList", - "parameters": [], - "src": "743:2:26" - }, - "returnParameters": { - "id": 5363, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5362, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5368, - "src": "766:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "766:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "765:9:26" - }, - "scope": 5450, - "src": "716:73:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5376, - "nodeType": "Block", - "src": "847:14:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "35", - "id": 5373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "856:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "id": 5374, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "855:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - }, - "functionReturnParameters": 5372, - "id": 5375, - "nodeType": "Return", - "src": "849:9:26" - } - ] - }, - "functionSelector": "379597e0", - "id": 5377, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "maxAltBlocks", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5369, - "nodeType": "ParameterList", - "parameters": [], - "src": "815:2:26" - }, - "returnParameters": { - "id": 5372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5371, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5377, - "src": "838:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "838:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "837:9:26" - }, - "scope": 5450, - "src": "794:67:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5385, - "nodeType": "Block", - "src": "918:16:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "333030", - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "927:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_300_by_1", - "typeString": "int_const 300" - }, - "value": "300" - } - ], - "id": 5383, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "926:5:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_300_by_1", - "typeString": "int_const 300" - } - }, - "functionReturnParameters": 5381, - "id": 5384, - "nodeType": "Return", - "src": "920:11:26" - } - ] - }, - "functionSelector": "57d775f8", - "id": 5386, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "epochLength", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5378, - "nodeType": "ParameterList", - "parameters": [], - "src": "886:2:26" - }, - "returnParameters": { - "id": 5381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5380, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5386, - "src": "909:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5379, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "909:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "908:9:26" - }, - "scope": 5450, - "src": "866:68:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5394, - "nodeType": "Block", - "src": "989:14:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "34", - "id": 5391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "998:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "id": 5392, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "997:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - }, - "functionReturnParameters": 5390, - "id": 5393, - "nodeType": "Return", - "src": "991:9:26" - } - ] - }, - "functionSelector": "f4f29c5b", - "id": 5395, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "numStates", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5387, - "nodeType": "ParameterList", - "parameters": [], - "src": "957:2:26" - }, - "returnParameters": { - "id": 5390, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5389, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5395, - "src": "980:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "980:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "979:9:26" - }, - "scope": 5450, - "src": "939:64:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5403, - "nodeType": "Block", - "src": "1068:17:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "31303030", - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1077:4:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - } - ], - "id": 5401, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1076:6:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - }, - "functionReturnParameters": 5399, - "id": 5402, - "nodeType": "Return", - "src": "1070:12:26" - } - ] - }, - "functionSelector": "3002c9ac", - "id": 5404, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exposureDenominator", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5396, - "nodeType": "ParameterList", - "parameters": [], - "src": "1036:2:26" - }, - "returnParameters": { - "id": 5399, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5398, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5404, - "src": "1059:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1059:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1058:9:26" - }, - "scope": 5450, - "src": "1008:77:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5412, - "nodeType": "Block", - "src": "1151:114:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "307862653762353865313762663661646161306632303963643064623862313238323832666336386134326632646436343962346438656135373966316230373866", - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1160:66:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_86157376852509762215245246636475701676611681380770395118722240390739821004687_by_1", - "typeString": "int_const 8615...(69 digits omitted)...4687" - }, - "value": "0xbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f" - } - ], - "id": 5410, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1159:68:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_86157376852509762215245246636475701676611681380770395118722240390739821004687_by_1", - "typeString": "int_const 8615...(69 digits omitted)...4687" - } - }, - "functionReturnParameters": 5408, - "id": 5411, - "nodeType": "Return", - "src": "1153:74:26" - } - ] - }, - "functionSelector": "7f890b11", - "id": 5413, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getJobConfirmerHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5405, - "nodeType": "ParameterList", - "parameters": [], - "src": "1119:2:26" - }, - "returnParameters": { - "id": 5408, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5407, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5413, - "src": "1142:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5406, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1142:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1141:9:26" - }, - "scope": 5450, - "src": "1091:174:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5421, - "nodeType": "Block", - "src": "1332:116:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "307831383739376263373937336531646164656531383935626532663130303338313865333065616533623065376130316562396232653636663365613237373166", - "id": 5418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1341:66:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_11070151156594328882733127861915282688075238341191786248777074171318624220959_by_1", - "typeString": "int_const 1107...(69 digits omitted)...0959" - }, - "value": "0x18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f" - } - ], - "id": 5419, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1340:68:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_11070151156594328882733127861915282688075238341191786248777074171318624220959_by_1", - "typeString": "int_const 1107...(69 digits omitted)...0959" - } - }, - "functionReturnParameters": 5417, - "id": 5420, - "nodeType": "Return", - "src": "1334:74:26" - } - ] - }, - "functionSelector": "d98b3ced", - "id": 5422, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBlockConfirmerHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5414, - "nodeType": "ParameterList", - "parameters": [], - "src": "1300:2:26" - }, - "returnParameters": { - "id": 5417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5416, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5422, - "src": "1323:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5415, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1323:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1322:9:26" - }, - "scope": 5450, - "src": "1270:178:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5430, - "nodeType": "Block", - "src": "1514:115:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "307864626161616666326333373434616132313565626439393937313832396531633162373238373033613062663235326639363638356432393031316663383034", - "id": 5427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1523:66:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_99358092191249182627279014171294155452697220208306393477227514409909326170116_by_1", - "typeString": "int_const 9935...(69 digits omitted)...0116" - }, - "value": "0xdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc804" - } - ], - "id": 5428, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1522:68:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_99358092191249182627279014171294155452697220208306393477227514409909326170116_by_1", - "typeString": "int_const 9935...(69 digits omitted)...0116" - } - }, - "functionReturnParameters": 5426, - "id": 5429, - "nodeType": "Return", - "src": "1516:74:26" - } - ] - }, - "functionSelector": "80638d42", - "id": 5431, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStakeModifierHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5423, - "nodeType": "ParameterList", - "parameters": [], - "src": "1482:2:26" - }, - "returnParameters": { - "id": 5426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5425, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5431, - "src": "1505:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5424, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1505:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1504:9:26" - }, - "scope": 5450, - "src": "1453:176:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5439, - "nodeType": "Block", - "src": "1703:125:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "307834636433303730616161303764303361623333373331636261626430636232376562396530373461393433306164303036633936393431643731623737656365", - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1712:66:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_34748629822726682643577116121900695107536869600786481533281637579847946960590_by_1", - "typeString": "int_const 3474...(69 digits omitted)...0590" - }, - "value": "0x4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece" - } - ], - "id": 5437, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1711:68:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_34748629822726682643577116121900695107536869600786481533281637579847946960590_by_1", - "typeString": "int_const 3474...(69 digits omitted)...0590" - } - }, - "functionReturnParameters": 5435, - "id": 5438, - "nodeType": "Return", - "src": "1705:74:26" - } - ] - }, - "functionSelector": "9cec6f8a", - "id": 5440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStakerActivityUpdaterHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5432, - "nodeType": "ParameterList", - "parameters": [], - "src": "1671:2:26" - }, - "returnParameters": { - "id": 5435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5434, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5440, - "src": "1694:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5433, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1694:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1693:9:26" - }, - "scope": 5450, - "src": "1634:194:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5448, - "nodeType": "Block", - "src": "1893:78:26", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030", - "id": 5445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1902:66:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0000000000000000000000000000000000000000000000000000000000000000" - } - ], - "id": 5446, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1901:68:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - }, - "functionReturnParameters": 5444, - "id": 5447, - "nodeType": "Return", - "src": "1895:74:26" - } - ] - }, - "functionSelector": "b1a62781", - "id": 5449, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getDefaultAdminHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5441, - "nodeType": "ParameterList", - "parameters": [], - "src": "1861:2:26" - }, - "returnParameters": { - "id": 5444, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5443, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5449, - "src": "1884:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5442, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1884:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1883:9:26" - }, - "scope": 5450, - "src": "1833:138:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 5451, - "src": "65:1908:26" - } - ], - "src": "39:1935:26" - }, - "id": 26 - }, - "contracts/lib/Random.sol": { - "ast": { - "absolutePath": "contracts/lib/Random.sol", - "exportedSymbols": { - "Constants": [ - 5450 - ], - "Random": [ - 5570 - ] - }, - "id": 5571, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5452, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:27" - }, - { - "absolutePath": "contracts/lib/Constants.sol", - "file": "./Constants.sol", - "id": 5453, - "nodeType": "ImportDirective", - "scope": 5571, - "sourceUnit": 5451, - "src": "64:25:27", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 5570, - "linearizedBaseContracts": [ - 5570 - ], - "name": "Random", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 5483, - "nodeType": "Block", - "src": "282:119:27", - "statements": [ - { - "assignments": [ - 5465 - ], - "declarations": [ - { - "constant": false, - "id": 5465, - "mutability": "mutable", - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 5483, - "src": "292:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5464, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "292:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 5470, - "initialValue": { - "arguments": [ - { - "id": 5467, - "name": "numBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5455, - "src": "316:9:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 5468, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5459, - "src": "327:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5466, - "name": "prngHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5513, - "src": "307:8:27", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (uint8,bytes32) view returns (bytes32)" - } - }, - "id": 5469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "307:25:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "292:40:27" - }, - { - "assignments": [ - 5472 - ], - "declarations": [ - { - "constant": false, - "id": 5472, - "mutability": "mutable", - "name": "sum", - "nodeType": "VariableDeclaration", - "scope": 5483, - "src": "342:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "342:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 5477, - "initialValue": { - "arguments": [ - { - "id": 5475, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5465, - "src": "364:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 5474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "356:7:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "356:7:27", - "typeDescriptions": {} - } - }, - "id": 5476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "356:13:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "342:27:27" - }, - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5478, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5472, - "src": "386:3:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "id": 5479, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5457, - "src": "390:3:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "386:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5481, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "385:9:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5463, - "id": 5482, - "nodeType": "Return", - "src": "379:15:27" - } - ] - }, - "functionSelector": "5075dbfb", - "id": 5484, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "prng", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5455, - "mutability": "mutable", - "name": "numBlocks", - "nodeType": "VariableDeclaration", - "scope": 5484, - "src": "208:15:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5454, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "208:5:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5457, - "mutability": "mutable", - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 5484, - "src": "225:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5456, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "225:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5459, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "scope": 5484, - "src": "238:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5458, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "238:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "207:44:27" - }, - "returnParameters": { - "id": 5463, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5462, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5484, - "src": "273:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "273:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "272:9:27" - }, - "scope": 5570, - "src": "194:207:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5512, - "nodeType": "Block", - "src": "544:128:27", - "statements": [ - { - "assignments": [ - 5494 - ], - "declarations": [ - { - "constant": false, - "id": 5494, - "mutability": "mutable", - "name": "sum", - "nodeType": "VariableDeclaration", - "scope": 5512, - "src": "554:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5493, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "554:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 5498, - "initialValue": { - "arguments": [ - { - "id": 5496, - "name": "numBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5486, - "src": "580:9:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 5495, - "name": "blockHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "src": "568:11:27", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint8_$returns$_t_bytes32_$", - "typeString": "function (uint8) view returns (bytes32)" - } - }, - "id": 5497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "568:22:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "554:36:27" - }, - { - "expression": { - "id": 5507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5499, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5494, - "src": "600:3:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 5503, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5494, - "src": "633:3:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 5504, - "name": "seed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5488, - "src": "638:4:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 5501, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "616:3:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "616:16:27", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "616:27:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5500, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "606:9:27", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "606:38:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "600:44:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5508, - "nodeType": "ExpressionStatement", - "src": "600:44:27" - }, - { - "expression": { - "components": [ - { - "id": 5509, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5494, - "src": "661:3:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 5510, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "660:5:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 5492, - "id": 5511, - "nodeType": "Return", - "src": "654:11:27" - } - ] - }, - "functionSelector": "b07ceab8", - "id": 5513, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "prngHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5486, - "mutability": "mutable", - "name": "numBlocks", - "nodeType": "VariableDeclaration", - "scope": 5513, - "src": "484:15:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5485, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "484:5:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5488, - "mutability": "mutable", - "name": "seed", - "nodeType": "VariableDeclaration", - "scope": 5513, - "src": "501:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5487, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "501:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "483:31:27" - }, - "returnParameters": { - "id": 5492, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5491, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5513, - "src": "535:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5490, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "535:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "534:9:27" - }, - "scope": 5570, - "src": "466:206:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5568, - "nodeType": "Block", - "src": "745:351:27", - "statements": [ - { - "assignments": [ - 5521 - ], - "declarations": [ - { - "constant": false, - "id": 5521, - "mutability": "mutable", - "name": "sum", - "nodeType": "VariableDeclaration", - "scope": 5568, - "src": "755:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5520, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "755:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 5522, - "nodeType": "VariableDeclarationStatement", - "src": "755:11:27" - }, - { - "assignments": [ - 5524 - ], - "declarations": [ - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "blockNumberEpochStart", - "nodeType": "VariableDeclaration", - "scope": 5568, - "src": "821:29:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "821:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 5538, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 5525, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "854:5:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "src": "854:12:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 5527, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "868:9:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 5528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 5386, - "src": "868:21:27", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 5529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "868:23:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5530, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "867:25:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "854:38:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5532, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "853:40:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 5533, - "name": "Constants", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5450, - "src": "895:9:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Constants_$5450_$", - "typeString": "type(library Constants)" - } - }, - "id": 5534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "epochLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 5386, - "src": "895:21:27", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$", - "typeString": "function () pure returns (uint256)" - } - }, - "id": 5535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "895:23:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5536, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "894:25:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "853:66:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "821:98:27" - }, - { - "body": { - "id": 5563, - "nodeType": "Block", - "src": "968:101:27", - "statements": [ - { - "expression": { - "id": 5561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5549, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5521, - "src": "982:3:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 5553, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5521, - "src": "1015:3:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5555, - "name": "blockNumberEpochStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5524, - "src": "1030:21:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 5556, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "1054:1:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "1030:25:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5554, - "name": "blockhash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -5, - "src": "1020:9:27", - "typeDescriptions": { - "typeIdentifier": "t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (uint256) view returns (bytes32)" - } - }, - "id": 5558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1020:36:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 5551, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "998:3:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "998:16:27", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 5559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "998:59:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 5550, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "988:9:27", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "988:70:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "982:76:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 5562, - "nodeType": "ExpressionStatement", - "src": "982:76:27" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 5545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5543, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "947:1:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 5544, - "name": "numBlocks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5515, - "src": "952:9:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "947:14:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5564, - "initializationExpression": { - "assignments": [ - 5540 - ], - "declarations": [ - { - "constant": false, - "id": 5540, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 5564, - "src": "934:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5539, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "934:5:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 5542, - "initialValue": { - "hexValue": "31", - "id": 5541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "944:1:27", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "934:11:27" - }, - "loopExpression": { - "expression": { - "id": 5547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "963:3:27", - "subExpression": { - "id": 5546, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "963:1:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 5548, - "nodeType": "ExpressionStatement", - "src": "963:3:27" - }, - "nodeType": "ForStatement", - "src": "929:140:27" - }, - { - "expression": { - "components": [ - { - "id": 5565, - "name": "sum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5521, - "src": "1085:3:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 5566, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1084:5:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 5519, - "id": 5567, - "nodeType": "Return", - "src": "1078:11:27" - } - ] - }, - "functionSelector": "7fa00da2", - "id": 5569, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "blockHashes", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "numBlocks", - "nodeType": "VariableDeclaration", - "scope": 5569, - "src": "699:15:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5514, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "699:5:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "698:17:27" - }, - "returnParameters": { - "id": 5519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5518, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 5569, - "src": "736:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5517, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "736:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "735:9:27" - }, - "scope": 5570, - "src": "678:418:27", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 5571, - "src": "92:1006:27" - } - ], - "src": "39:1060:27" - }, - "id": 27 - }, - "contracts/lib/Structs.sol": { - "ast": { - "absolutePath": "contracts/lib/Structs.sol", - "exportedSymbols": { - "Structs": [ - 5650 - ] - }, - "id": 5651, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5572, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:28" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 5650, - "linearizedBaseContracts": [ - 5650 - ], - "name": "Structs", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Structs.Vote", - "id": 5577, - "members": [ - { - "constant": false, - "id": 5574, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 5577, - "src": "109:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "109:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5576, - "mutability": "mutable", - "name": "weight", - "nodeType": "VariableDeclaration", - "scope": 5577, - "src": "132:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "132:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Vote", - "nodeType": "StructDefinition", - "scope": 5650, - "src": "87:66:28", - "visibility": "public" - }, - { - "canonicalName": "Structs.Staker", - "id": 5594, - "members": [ - { - "constant": false, - "id": 5579, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 5594, - "src": "183:10:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "183:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5581, - "mutability": "mutable", - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 5594, - "src": "203:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5580, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "203:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5583, - "mutability": "mutable", - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 5594, - "src": "229:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "229:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5585, - "mutability": "mutable", - "name": "epochStaked", - "nodeType": "VariableDeclaration", - "scope": 5594, - "src": "252:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5584, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "252:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "epochLastCommitted", - "nodeType": "VariableDeclaration", - "scope": 5594, - "src": "281:26:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5586, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "281:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5589, - "mutability": "mutable", - "name": "epochLastRevealed", - "nodeType": "VariableDeclaration", - "scope": 5594, - "src": "317:25:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5588, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "317:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5591, - "mutability": "mutable", - "name": "unstakeAfter", - "nodeType": "VariableDeclaration", - "scope": 5594, - "src": "352:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "352:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5593, - "mutability": "mutable", - "name": "withdrawAfter", - "nodeType": "VariableDeclaration", - "scope": 5594, - "src": "382:21:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5592, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "382:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Staker", - "nodeType": "StructDefinition", - "scope": 5650, - "src": "159:251:28", - "visibility": "public" - }, - { - "canonicalName": "Structs.Block", - "id": 5615, - "members": [ - { - "constant": false, - "id": 5596, - "mutability": "mutable", - "name": "proposerId", - "nodeType": "VariableDeclaration", - "scope": 5615, - "src": "439:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5595, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5599, - "mutability": "mutable", - "name": "jobIds", - "nodeType": "VariableDeclaration", - "scope": 5615, - "src": "467:16:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5597, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "467:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5598, - "nodeType": "ArrayTypeName", - "src": "467:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5602, - "mutability": "mutable", - "name": "medians", - "nodeType": "VariableDeclaration", - "scope": 5615, - "src": "493:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "493:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5601, - "nodeType": "ArrayTypeName", - "src": "493:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5605, - "mutability": "mutable", - "name": "lowerCutoffs", - "nodeType": "VariableDeclaration", - "scope": 5615, - "src": "520:22:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5604, - "nodeType": "ArrayTypeName", - "src": "520:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "higherCutoffs", - "nodeType": "VariableDeclaration", - "scope": 5615, - "src": "552:23:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "552:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5607, - "nodeType": "ArrayTypeName", - "src": "552:9:28", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5610, - "mutability": "mutable", - "name": "iteration", - "nodeType": "VariableDeclaration", - "scope": 5615, - "src": "585:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5612, - "mutability": "mutable", - "name": "biggestStake", - "nodeType": "VariableDeclaration", - "scope": 5615, - "src": "612:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "612:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5614, - "mutability": "mutable", - "name": "valid", - "nodeType": "VariableDeclaration", - "scope": 5615, - "src": "642:10:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5613, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "642:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "name": "Block", - "nodeType": "StructDefinition", - "scope": 5650, - "src": "416:243:28", - "visibility": "public" - }, - { - "canonicalName": "Structs.Dispute", - "id": 5628, - "members": [ - { - "constant": false, - "id": 5617, - "mutability": "mutable", - "name": "accWeight", - "nodeType": "VariableDeclaration", - "scope": 5628, - "src": "690:17:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "690:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5619, - "mutability": "mutable", - "name": "median", - "nodeType": "VariableDeclaration", - "scope": 5628, - "src": "717:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "717:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5621, - "mutability": "mutable", - "name": "lowerCutoff", - "nodeType": "VariableDeclaration", - "scope": 5628, - "src": "741:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "741:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5623, - "mutability": "mutable", - "name": "higherCutoff", - "nodeType": "VariableDeclaration", - "scope": 5628, - "src": "770:20:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5622, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5625, - "mutability": "mutable", - "name": "lastVisited", - "nodeType": "VariableDeclaration", - "scope": 5628, - "src": "800:19:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "800:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5627, - "mutability": "mutable", - "name": "assetId", - "nodeType": "VariableDeclaration", - "scope": 5628, - "src": "829:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5626, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "829:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Dispute", - "nodeType": "StructDefinition", - "scope": 5650, - "src": "665:186:28", - "visibility": "public" - }, - { - "canonicalName": "Structs.Job", - "id": 5649, - "members": [ - { - "constant": false, - "id": 5630, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 5649, - "src": "878:10:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5629, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "878:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5632, - "mutability": "mutable", - "name": "epoch", - "nodeType": "VariableDeclaration", - "scope": 5649, - "src": "898:13:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5631, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "898:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5634, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 5649, - "src": "921:10:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5633, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "921:6:28", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5636, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 5649, - "src": "941:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5635, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "941:6:28", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5638, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 5649, - "src": "966:11:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5637, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "966:6:28", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5640, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 5649, - "src": "987:11:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5639, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "987:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5642, - "mutability": "mutable", - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 5649, - "src": "1008:15:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1008:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5644, - "mutability": "mutable", - "name": "credit", - "nodeType": "VariableDeclaration", - "scope": 5649, - "src": "1033:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1033:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5646, - "mutability": "mutable", - "name": "fulfilled", - "nodeType": "VariableDeclaration", - "scope": 5649, - "src": "1057:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5645, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1057:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5648, - "mutability": "mutable", - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 5649, - "src": "1081:14:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5647, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1081:7:28", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Job", - "nodeType": "StructDefinition", - "scope": 5650, - "src": "857:245:28", - "visibility": "public" - } - ], - "scope": 5651, - "src": "65:1040:28" - } - ], - "src": "39:1067:28" - }, - "id": 28 - } - } - } -} diff --git a/deployed/matic/abi/build-info/15277834259d0f2b4f3c65843402b37f.json b/deployed/matic/abi/build-info/15277834259d0f2b4f3c65843402b37f.json deleted file mode 100644 index 2ee293bd..00000000 --- a/deployed/matic/abi/build-info/15277834259d0f2b4f3c65843402b37f.json +++ /dev/null @@ -1,501 +0,0 @@ -{ - "id": "15277834259d0f2b4f3c65843402b37f", - "_format": "hh-sol-build-info-1", - "solcVersion": "0.8.0", - "solcLongVersion": "0.8.0+commit.c7dfd78e", - "input": { - "language": "Solidity", - "sources": { - "contracts/IDelegator.sol": { - "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\n\ninterface IDelegator {\n function upgradeDelegate(address newDelegateAddress) external;\n function getResult(uint256 id) external view returns(uint256);\n \n function getJob(uint256 id)\n external view returns(string memory url, string memory selector, string memory name, bool repeat, uint256 result);\n}\n" - } - }, - "settings": { - "optimizer": { - "enabled": true, - "runs": 1500 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers" - ], - "": [ - "ast" - ] - } - } - } - }, - "output": { - "contracts": { - "contracts/IDelegator.sol": { - "IDelegator": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newDelegateAddress", - "type": "address" - } - ], - "name": "upgradeDelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "getJob(uint256)": "bf22c457", - "getResult(uint256)": "995e4339", - "upgradeDelegate(address)": "2da4e75c" - } - } - } - } - }, - "sources": { - "contracts/IDelegator.sol": { - "ast": { - "absolutePath": "contracts/IDelegator.sol", - "exportedSymbols": { - "IDelegator": [ - 29 - ] - }, - "id": 30, - "license": "UNLICENSED", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "39:23:0" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 29, - "linearizedBaseContracts": [ - 29 - ], - "name": "IDelegator", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "2da4e75c", - "id": 6, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "upgradeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3, - "mutability": "mutable", - "name": "newDelegateAddress", - "nodeType": "VariableDeclaration", - "scope": 6, - "src": "117:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "117:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "116:28:0" - }, - "returnParameters": { - "id": 5, - "nodeType": "ParameterList", - "parameters": [], - "src": "153:0:0" - }, - "scope": 29, - "src": "92:62:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "995e4339", - "id": 13, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getResult", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "178:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "178:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "177:12:0" - }, - "returnParameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "212:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "212:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "211:9:0" - }, - "scope": 29, - "src": "159:62:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "bf22c457", - "id": 28, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getJob", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "mutability": "mutable", - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "247:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "247:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "246:12:0" - }, - "returnParameters": { - "id": 27, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18, - "mutability": "mutable", - "name": "url", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "285:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 17, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "285:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 20, - "mutability": "mutable", - "name": "selector", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "304:22:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 19, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "304:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 22, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "328:18:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 21, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "328:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 24, - "mutability": "mutable", - "name": "repeat", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "348:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "348:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 26, - "mutability": "mutable", - "name": "result", - "nodeType": "VariableDeclaration", - "scope": 28, - "src": "361:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 25, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "361:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "284:92:0" - }, - "scope": 29, - "src": "231:146:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 30, - "src": "65:314:0" - } - ], - "src": "39:341:0" - }, - "id": 0 - } - } - } -} diff --git a/deployed/matic/abi/contracts/Core/ACL.sol/ACL.dbg.json b/deployed/matic/abi/contracts/Core/ACL.sol/ACL.dbg.json deleted file mode 100644 index dd030d18..00000000 --- a/deployed/matic/abi/contracts/Core/ACL.sol/ACL.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/ACL.sol/ACL.json b/deployed/matic/abi/contracts/Core/ACL.sol/ACL.json deleted file mode 100644 index 1348ba41..00000000 --- a/deployed/matic/abi/contracts/Core/ACL.sol/ACL.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ACL", - "sourceName": "contracts/Core/ACL.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061001c600033610021565b6100e1565b61002b828261002f565b5050565b61003982826100b4565b61002b576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556100706100dd565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b6105c1806100f06000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806336568abe1161005b57806336568abe146100e057806391d14854146100f3578063a217fddf14610106578063d547741f1461010e5761007d565b806301ffc9a714610082578063248a9ca3146100ab5780632f2ff15d146100cb575b600080fd5b610095610090366004610419565b610121565b6040516100a29190610460565b60405180910390f35b6100be6100b93660046103c7565b61017d565b6040516100a2919061046b565b6100de6100d93660046103df565b610192565b005b6100de6100ee3660046103df565b6101d9565b6100956101013660046103df565b61021b565b6100be610244565b6100de61011c3660046103df565b610249565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610177575061017782610271565b92915050565b60009081526020819052604090206001015490565b6101a661019e8361017d565b6101016102bb565b6101cb5760405162461bcd60e51b81526004016101c290610474565b60405180910390fd5b6101d582826102bf565b5050565b6101e16102bb565b6001600160a01b0316816001600160a01b0316146102115760405162461bcd60e51b81526004016101c29061052e565b6101d58282610344565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600081565b61025561019e8361017d565b6102115760405162461bcd60e51b81526004016101c2906104d1565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6102c9828261021b565b6101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556103006102bb565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61034e828261021b565b156101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556103836102bb565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000602082840312156103d8578081fd5b5035919050565b600080604083850312156103f1578081fd5b8235915060208301356001600160a01b038116811461040e578182fd5b809150509250929050565b60006020828403121561042a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610459578182fd5b9392505050565b901515815260200190565b90815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c66000000000000000000000000000000000060608201526080019056fea2646970667358221220f8ffa5856d19c19922995f0a441e3ca24b6f65637429cdcd8014480549fa7d2364736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806336568abe1161005b57806336568abe146100e057806391d14854146100f3578063a217fddf14610106578063d547741f1461010e5761007d565b806301ffc9a714610082578063248a9ca3146100ab5780632f2ff15d146100cb575b600080fd5b610095610090366004610419565b610121565b6040516100a29190610460565b60405180910390f35b6100be6100b93660046103c7565b61017d565b6040516100a2919061046b565b6100de6100d93660046103df565b610192565b005b6100de6100ee3660046103df565b6101d9565b6100956101013660046103df565b61021b565b6100be610244565b6100de61011c3660046103df565b610249565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610177575061017782610271565b92915050565b60009081526020819052604090206001015490565b6101a661019e8361017d565b6101016102bb565b6101cb5760405162461bcd60e51b81526004016101c290610474565b60405180910390fd5b6101d582826102bf565b5050565b6101e16102bb565b6001600160a01b0316816001600160a01b0316146102115760405162461bcd60e51b81526004016101c29061052e565b6101d58282610344565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600081565b61025561019e8361017d565b6102115760405162461bcd60e51b81526004016101c2906104d1565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6102c9828261021b565b6101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556103006102bb565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61034e828261021b565b156101d5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191690556103836102bb565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000602082840312156103d8578081fd5b5035919050565b600080604083850312156103f1578081fd5b8235915060208301356001600160a01b038116811461040e578182fd5b809150509250929050565b60006020828403121561042a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610459578182fd5b9392505050565b901515815260200190565b90815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c66000000000000000000000000000000000060608201526080019056fea2646970667358221220f8ffa5856d19c19922995f0a441e3ca24b6f65637429cdcd8014480549fa7d2364736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Core/BlockManager.sol/BlockManager.dbg.json b/deployed/matic/abi/contracts/Core/BlockManager.sol/BlockManager.dbg.json deleted file mode 100644 index dd030d18..00000000 --- a/deployed/matic/abi/contracts/Core/BlockManager.sol/BlockManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/BlockManager.sol/BlockManager.json b/deployed/matic/abi/contracts/Core/BlockManager.sol/BlockManager.json deleted file mode 100644 index 02581b4f..00000000 --- a/deployed/matic/abi/contracts/Core/BlockManager.sol/BlockManager.json +++ /dev/null @@ -1,992 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BlockManager", - "sourceName": "contracts/Core/BlockManager.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "BlockConfirmed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Proposed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "blocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "confirmBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "disputes", - "outputs": [ - { - "internalType": "uint256", - "name": "accWeight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "median", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lowerCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "higherCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastVisited", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blockId", - "type": "uint256" - } - ], - "name": "finalizeDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getHigherCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getLowerCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getNumProposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - }, - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "sorted", - "type": "uint256[]" - } - ], - "name": "giveSorted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "stateManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "voteManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "jobManagerAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "isElectedProposer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "jobManager", - "outputs": [ - { - "internalType": "contract IJobManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - } - ], - "name": "propose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "resetDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeManager", - "outputs": [ - { - "internalType": "contract IStakeManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "voteManager", - "outputs": [ - { - "internalType": "contract IVoteManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506200001f60003362000025565b620000f1565b62000031828262000035565b5050565b620000418282620000c2565b620000315760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556200007e620000ed565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b61406180620001016000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80637542ff95116100f9578063d1a4a43d11610097578063e38c7c4211610071578063e38c7c42146103cd578063f25b3f99146103e0578063f8c8765e146103f3578063fae4425d14610406576101c4565b8063d1a4a43d14610394578063d2a4669a146103a7578063d547741f146103ba576101c4565b806392b48411116100d357806392b484111461033e5780639b87f64414610361578063a217fddf14610369578063a27ce1ef14610371576101c4565b80637542ff95146102fe578063828496d61461030657806391d148541461032b576101c4565b806336568abe116101665780633df395a3116101405780633df395a3146102c857806342c1e587146102d05780634e6753b7146102d85780635ce8772f146102eb576101c4565b806336568abe14610282578063378ab9a9146102955780633cd32fd4146102b5576101c4565b80631d69ff9b116101a25780631d69ff9b14610227578063248a9ca31461023a5780632e716fb11461025a5780632f2ff15d1461026f576101c4565b806301ffc9a7146101c957806304c07569146101f257806317d99c0414610212575b600080fd5b6101dc6101d7366004613519565b610419565b6040516101e991906138a7565b60405180910390f35b6102056102003660046134ba565b610477565b6040516101e99190613d2c565b6102256102203660046135ef565b610627565b005b6101dc610235366004613723565b610b11565b61024d6102483660046134ba565b610e99565b6040516101e991906138b2565b610262610eaf565b6040516101e99190613880565b61022561027d3660046134ea565b610ebe565b6102256102903660046134ea565b610efc565b6102a86102a33660046134ba565b610f3e565b6040516101e99190613894565b6102256102c33660046136b4565b610fa3565b61026261153a565b610262611549565b6102256102e63660046136d5565b611558565b6102256102f93660046134ba565b611c7b565b610262611eca565b6103196103143660046134ea565b611ed9565b6040516101e996959493929190613ee4565b6101dc6103393660046134ea565b611f18565b61035161034c3660046136b4565b611f43565b6040516101e99493929190613ec7565b610225611f8c565b61024d61269c565b61038461037f3660046136b4565b6126a1565b6040516101e99493929190613d3f565b6102a86103a23660046136b4565b6128a9565b6102a86103b53660046134ba565b612943565b6102256103c83660046134ea565b6129a6565b61024d6103db3660046134ba565b6129ce565b6103516103ee3660046134ba565b6129e0565b61022561040136600461345f565b612a0a565b6102a86104143660046134ba565b612b0e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061046f575061046f82612b71565b90505b919050565b61047f6132bb565b60008281526004602090815260409182902082516101008101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156104ec57602002820191906000526020600020905b8154815260200190600101908083116104d8575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561054457602002820191906000526020600020905b815481526020019060010190808311610530575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561059c57602002820191906000526020600020905b815481526020019060010190808311610588575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156105f457602002820191906000526020600020905b8154815260200190600101908083116105e0575b5050509183525050600582015460208201526006820154604082015260079091015460ff16151560609091015292915050565b60005460ff166106525760405162461bcd60e51b815260040161064990613a94565b60405180910390fd5b60065460408051630eaf323560e31b8152905189926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561069657600080fd5b505afa1580156106aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ce91906134d2565b81146106ec5760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63c198f8ba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561073057600080fd5b505af4158015610744573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610768919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b957600080fd5b505afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f191906134d2565b811461080f5760405162461bcd60e51b815260040161064990613c98565b6005546040517f6022a4850000000000000000000000000000000000000000000000000000000081526000916001600160a01b031690636022a48590610859903390600401613880565b60206040518083038186803b15801561087157600080fd5b505afa158015610885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a991906134d2565b90506108b6858583610b11565b6108d25760405162461bcd60e51b8152600401610649906139a3565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561091657600080fd5b505af415801561092a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094e91906134d2565b6005546040516371e4cc7f60e11b81526001600160a01b039091169063e3c998fe9061097e9085906004016138b2565b6101006040518083038186803b15801561099757600080fd5b505afa1580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf9190613559565b6040015110156109f15760405162461bcd60e51b815260040161064990613c04565b6040805161010081018252828152602081018b90528082018a9052606081018990526080810188905260a0810187905260055491516371e4cc7f60e11b8152610abe928d929160c08301916001600160a01b03169063e3c998fe90610a5a908b906004016138b2565b6101006040518083038186803b158015610a7357600080fd5b505afa158015610a87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aab9190613559565b6040015181526001602090910152612bbb565b7fee036cc96c88163f353feaa4d497e88baaebeb631f40ad9b8a6d51bb6fad40768a828b8b8b8b8b8b42604051610afd99989796959493929190613dc4565b60405180910390a150505050505050505050565b6000805460ff16610b345760405162461bcd60e51b815260040161064990613a94565b8173__$3b76b38140ea5d8f6a5a565441556589de$__635075dbfb600a600560009054906101000a90046001600160a01b03166001600160a01b031663bc788d466040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9f57600080fd5b505afa158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd791906134d2565b88604051602001610be891906138b2565b604051602081830303815290604052805190602001206040518463ffffffff1660e01b8152600401610c1c939291906138ce565b60206040518083038186803b158015610c3457600080fd5b505af4158015610c48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6c91906134d2565b610c77906001613f0c565b14610c8457506000610e92565b600073__$3b76b38140ea5d8f6a5a565441556589de$__63b07ceab8600a8588604051602001610cb5929190613db6565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610ce89291906138bb565b60206040518083038186803b158015610d0057600080fd5b505af4158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3891906134d2565b90506000610d4b64010000000083613fc0565b6005546040516371e4cc7f60e11b81529192506000916001600160a01b039091169063e3c998fe90610d819089906004016138b2565b6101006040518083038186803b158015610d9a57600080fd5b505afa158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd29190613559565b60409081015160055491516371e4cc7f60e11b81529092506001600160a01b039091169063e3c998fe90610e0a9088906004016138b2565b6101006040518083038186803b158015610e2357600080fd5b505afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b9190613559565b60400151610e6e90640100000000613f38565b610e788284613f38565b1115610e8a5760009350505050610e92565b600193505050505b9392505050565b6000908152600160208190526040909120015490565b6006546001600160a01b031681565b610ed2610eca83610e99565b6103396131aa565b610eee5760405162461bcd60e51b8152600401610649906138e9565b610ef882826131ae565b5050565b610f046131aa565b6001600160a01b0316816001600160a01b031614610f345760405162461bcd60e51b815260040161064990613ccf565b610ef88282613236565b600081815260046020908152604091829020600201805483518184028101840190945280845260609392830182828015610f9757602002820191906000526020600020905b815481526020019060010190808311610f83575b50505050509050919050565b60005460ff16610fc55760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561100957600080fd5b505afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906134d2565b811461105f5760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a357600080fd5b505af41580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561112c57600080fd5b505afa158015611140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116491906134d2565b81146111825760405162461bcd60e51b815260040161064990613c98565b60008481526002602090815260408083203384529091529081902060050154600754915163a6a145d960e01b815290916001600160a01b03169063a6a145d9906111d29088908590600401613db6565b60206040518083038186803b1580156111ea57600080fd5b505afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122291906134d2565b6000868152600260209081526040808320338452909152902054146112595760405162461bcd60e51b815260040161064990613c3b565b600085815260026020818152604080842033855282528084206001810154938101546003918201548b875291909352908420805493949293919291899081106112b257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600001549050600084116112e65760405162461bcd60e51b815260040161064990613b39565b600089815260036020526040902080548591908a90811061131757634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201868154811061134757634e487b7160e01b600052603260045260246000fd5b90600052602060002001541415806113c95750600089815260036020526040902080548491908a90811061138b57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160030186815481106113bb57634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b8061143e5750600089815260036020526040902080548391908a90811061140057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600401868154811061143057634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b1561151757600089815260036020526040812080548a90811061147157634e487b7160e01b600052603260045260246000fd5b60009182526020909120600890910201600701805460ff19169115159190911790556005546040517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630f91ce19906114e090849033908e90600401613d97565b600060405180830381600087803b1580156114fa57600080fd5b505af115801561150e573d6000803e3d6000fd5b5050505061152f565b60405162461bcd60e51b815260040161064990613ba7565b505050505050505050565b6008546001600160a01b031681565b6007546001600160a01b031681565b60005460ff1661157a5760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905185926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156115be57600080fd5b505afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f691906134d2565b81146116145760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b15801561165857600080fd5b505af415801561166c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611690919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116e157600080fd5b505afa1580156116f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171991906134d2565b81146117375760405162461bcd60e51b815260040161064990613c98565b60075460405163a6a145d960e01b81526000916002916001600160a01b039091169063a6a145d99061176f908a908a90600401613db6565b60206040518083038186803b15801561178757600080fd5b505afa15801561179b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bf91906134d2565b6117c99190613f24565b60075460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611801908b908b908601613db6565b60206040518083038186803b15801561181957600080fd5b505afa15801561182d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185191906134d2565b61185b9190613f24565b60075460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611893908c908c908601613db6565b60206040518083038186803b1580156118ab57600080fd5b505afa1580156118bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e391906134d2565b6118ee906003613f38565b6118f89190613f24565b60008981526002602090815260408083203384529091529020805460049091015491925090816119465760008a81526002602090815260408083203384529091529020600501899055611981565b60008a815260026020908152604080832033845290915290206005015489146119815760405162461bcd60e51b815260040161064990613b70565b60005b8851811015611c4c57818982815181106119ae57634e487b7160e01b600052603260045260246000fd5b6020026020010151116119d35760405162461bcd60e51b815260040161064990613946565b8881815181106119f357634e487b7160e01b600052603260045260246000fd5b60200260200101519150600760009054906101000a90046001600160a01b03166001600160a01b0316639c66556f8c8c8c8581518110611a4357634e487b7160e01b600052603260045260246000fd5b60200260200101516040518463ffffffff1660e01b8152600401611a6993929190613eb1565b60206040518083038186803b158015611a8157600080fd5b505afa158015611a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab991906134d2565b611ac39084613f0c565b60008c81526002602081815260408084203385529091529091200154909350158015611aef5750848310155b15611b3d57888181518110611b1457634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028084526040808320338452909452929020909101555b60008b8152600260209081526040808320338452909152902060010154158015611b6657508583115b15611bb457888181518110611b8b57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028352604080822033835290935291909120600101555b60008b8152600260209081526040808320338452909152902060030154158015611bdd57508383115b15611c2b57888181518110611c0257634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028352604080822033835290935291909120600301555b6127105a1015611c3a57611c4c565b80611c4481613f85565b915050611984565b506000998a52600260209081526040808c20338d52909152909920600481019990995590975550505050505050565b60005460ff16611c9d5760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015611ce157600080fd5b505afa158015611cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1991906134d2565b8114611d375760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b158015611d7b57600080fd5b505af4158015611d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db3919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e0457600080fd5b505afa158015611e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3c91906134d2565b8114611e5a5760405162461bcd60e51b815260040161064990613c98565b50506040805160c08101825260008082526020808301828152838501838152606085018481526080860185815260a0870186815298865260028086528887203388529095529690942094518555905160018501555190830155516003820155905160048201559051600590910155565b6005546001600160a01b031681565b60026020818152600093845260408085209091529183529120805460018201549282015460038301546004840154600590940154929493919290919086565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60036020528160005260406000208181548110611f5f57600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60005460ff16611fae5760405162461bcd60e51b815260040161064990613a94565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63d98b3ced6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff257600080fd5b505af4158015612006573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202a91906134d2565b6120348133611f18565b6120505760405162461bcd60e51b815260040161064990613b02565b60065460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561209557600080fd5b505afa1580156120a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd91906134d2565b905060005b600360006120e1600185613f57565b815260208101919091526040016000205460ff82161015612696576003600061210b600185613f57565b81526020019081526020016000208160ff168154811061213b57634e487b7160e01b600052603260045260246000fd5b600091825260209091206007600890920201015460ff16156126845760036000612166600185613f57565b81526020019081526020016000208160ff168154811061219657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600460006001856121b59190613f57565b8152602081019190915260400160002081548155600180830180546121dd9284019190613302565b50600282810180546121f29284019190613302565b50600382810180546122079284019190613302565b506004828101805461221c9284019190613302565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff9092161515919091179055600060038161225c600186613f57565b81526020019081526020016000208260ff168154811061228c57634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102015490507f5ef264ae9101b91bd7117350c5e85901297fa0569e7a3e07eb7ec0a6281529f06122cb600185613f57565b82600360006122db600189613f57565b81526020019081526020016000208560ff168154811061230b57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002016003600060018961232d9190613f57565b81526020019081526020016000208660ff168154811061235d57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016003016003600060018a61237f9190613f57565b81526020019081526020016000208760ff16815481106123af57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016004016003600060018b6123d19190613f57565b81526020019081526020016000208860ff168154811061240157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101426040516124269796959493929190613e43565b60405180910390a160005b60036000612440600187613f57565b81526020019081526020016000208360ff168154811061247057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101805490508160ff1610156125fe576008546001600160a01b03166356350bdf600360006124af600189613f57565b81526020019081526020016000208560ff16815481106124df57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016001018360ff168154811061251257634e487b7160e01b600052603260045260246000fd5b90600052602060002001546003600060018961252e9190613f57565b81526020019081526020016000208660ff168154811061255e57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018460ff168154811061259157634e487b7160e01b600052603260045260246000fd5b90600052602060002001546040518363ffffffff1660e01b81526004016125b9929190613db6565b600060405180830381600087803b1580156125d357600080fd5b505af11580156125e7573d6000803e3d6000fd5b5050505080806125f690613fa0565b915050612431565b506005546040517f746c8b650000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063746c8b659061264a9084908790600401613db6565b600060405180830381600087803b15801561266457600080fd5b505af1158015612678573d6000803e3d6000fd5b50505050505050612699565b8061268e81613fa0565b9150506120d2565b50505b50565b600081565b6126a96132bb565b60608060606003600087815260200190815260200160002085815481106126e057634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160405180610100016040529081600082015481526020016001820180548060200260200160405190810160405280929190818152602001828054801561275357602002820191906000526020600020905b81548152602001906001019080831161273f575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156127ab57602002820191906000526020600020905b815481526020019060010190808311612797575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561280357602002820191906000526020600020905b8154815260200190600101908083116127ef575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561285b57602002820191906000526020600020905b815481526020019060010190808311612847575b505050918352505060058201546020820152600682015460408083019190915260079092015460ff161515606091820152908201519082015160808301519299919850965090945092505050565b6000828152600360205260409020805460609190839081106128db57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160020180548060200260200160405190810160405280929190818152602001828054801561293657602002820191906000526020600020905b815481526020019060010190808311612922575b5050505050905092915050565b600081815260046020908152604091829020600301805483518184028101840190945280845260609392830182828015610f975760200282019190600052602060002090815481526020019060010190808311610f835750505050509050919050565b6129b2610eca83610e99565b610f345760405162461bcd60e51b8152600401610649906139da565b60009081526003602052604090205490565b60046020526000908152604090208054600582015460068301546007909301549192909160ff1684565b600054610100900460ff1680612a23575060005460ff16155b612a3f5760405162461bcd60e51b815260040161064990613a37565b600054610100900460ff16158015612a6a576000805460ff1961ff0019909116610100171660011790555b6000612a768133611f18565b612a925760405162461bcd60e51b815260040161064990613b02565b50600580546001600160a01b038088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255600680548784169083161790556007805486841690831617905560088054928516929091169190911790558015612b07576000805461ff00191690555b5050505050565b600081815260046020818152604092839020909101805483518184028101840190945280845260609392830182828015610f975760200282019190600052602060002090815481526020019060010190808311610f835750505050509050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600082815260036020526040902054612c985760008281526003602090815260408220805460018181018355918452928290208451600890940201928355838201518051859493612c10938501920190613352565b5060408201518051612c2c916002840191602090910190613352565b5060608201518051612c48916003840191602090910190613352565b5060808201518051612c64916004840191602090910190613352565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055610ef8565b600082815260036020526040812054905b600084815260036020526040902054811015612d775760c08301516000858152600360205260409020805483908110612cf257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600601541015612d1257809150612d77565b60a08301516000858152600360205260409020805483908110612d4557634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600501541115612d6557809150612d77565b80612d6f81613f85565b915050612ca9565b5060008381526003602090815260408220805460018181018355918452928290208551600890940201928355848201518051869493612dba938501920190613352565b5060408201518051612dd6916002840191602090910190613352565b5060608201518051612df2916003840191602090910190613352565b5060808201518051612e0e916004840191602090910190613352565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055600083815260036020526040812054612e5890600190613f57565b90505b81811115612f84576000848152600360205260409020612e7c600183613f57565b81548110612e9a57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600360008681526020019081526020016000208281548110612eda57634e487b7160e01b600052603260045260246000fd5b60009182526020909120825460089092020190815560018083018054612f039284019190613302565b5060028281018054612f189284019190613302565b5060038281018054612f2d9284019190613302565b5060048281018054612f429284019190613302565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905580612f7c81613f6e565b915050612e5b565b506000838152600360205260409020805483919083908110612fb657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600082015181600001556020820151816001019080519060200190612fea929190613352565b5060408201518051613006916002840191602090910190613352565b5060608201518051613022916003840191602090910190613352565b506080820151805161303e916004840191602090910190613352565b5060a0820151816005015560c0820151816006015560e08201518160070160006101000a81548160ff02191690831515021790555090505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63379597e06040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ba57600080fd5b505af41580156130ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130f291906134d2565b6000848152600360205260409020541115612696576000838152600360205260409020805461312390600190613f57565b8154811061314157634e487b7160e01b600052603260045260246000fd5b60009182526020822060089091020181815590613161600183018261338d565b61316f60028301600061338d565b61317d60038301600061338d565b61318b60048301600061338d565b506000600582018190556006820155600701805460ff19169055505050565b3390565b6131b88282611f18565b610ef85760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556131f26131aa565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6132408282611f18565b15610ef85760008281526001602090815260408083206001600160a01b03851684529091529020805460ff191690556132776131aa565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806101000160405280600081526020016060815260200160608152602001606081526020016060815260200160008152602001600081526020016000151581525090565b8280548282559060005260206000209081019282156133425760005260206000209182015b82811115613342578254825591600101919060010190613327565b5061334e9291506133a7565b5090565b828054828255906000526020600020908101928215613342579160200282015b82811115613342578251825591602001919060010190613372565b508054600082559060005260206000209081019061269991905b5b8082111561334e57600081556001016133a8565b805161047281614016565b600082601f8301126133d7578081fd5b8135602067ffffffffffffffff808311156133f4576133f4614000565b8183026040518382820101818110848211171561341357613413614000565b60405284815283810192508684018288018501891015613431578687fd5b8692505b85831015613453578035845292840192600192909201918401613435565b50979650505050505050565b60008060008060808587031215613474578384fd5b843561347f81614016565b9350602085013561348f81614016565b9250604085013561349f81614016565b915060608501356134af81614016565b939692955090935050565b6000602082840312156134cb578081fd5b5035919050565b6000602082840312156134e3578081fd5b5051919050565b600080604083850312156134fc578182fd5b82359150602083013561350e81614016565b809150509250929050565b60006020828403121561352a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e92578182fd5b600061010080838503121561356c578182fd5b6040519081019067ffffffffffffffff8211818310171561358f5761358f614000565b81604052835181526135a3602085016133bc565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600080600080600080600060e0888a031215613609578283fd5b87359650602088013567ffffffffffffffff80821115613627578485fd5b6136338b838c016133c7565b975060408a0135915080821115613648578485fd5b6136548b838c016133c7565b965060608a0135915080821115613669578485fd5b6136758b838c016133c7565b955060808a013591508082111561368a578485fd5b506136978a828b016133c7565b93505060a0880135915060c0880135905092959891949750929550565b600080604083850312156136c6578182fd5b50508035926020909101359150565b6000806000606084860312156136e9578081fd5b8335925060208401359150604084013567ffffffffffffffff81111561370d578182fd5b613719868287016133c7565b9150509250925092565b600080600060608486031215613737578081fd5b505081359360208301359350604090920135919050565b60006020828403121561375f578081fd5b815160ff81168114610e92578182fd5b6000815180845260208085019450808401835b8381101561379e57815187529582019590820190600101613782565b509495945050505050565b6000815480845260208085019450838352808320835b8381101561379e578154875295820195600191820191016137bf565b15159052565b60006101008251845260208301518160208601526138018286018261376f565b9150506040830151848203604086015261381b828261376f565b91505060608301518482036060860152613835828261376f565b9150506080830151848203608086015261384f828261376f565b91505060a083015160a085015260c083015160c085015260e083015161387860e08601826137db565b509392505050565b6001600160a01b0391909116815260200190565b600060208252610e92602083018461376f565b901515815260200190565b90815260200190565b60ff929092168252602082015260400190565b60ff9390931683526020830191909152604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526029908201527f736f727465645b695d206973206e6f742067726561746572207468616e206c6160408201527f7374566973697465640000000000000000000000000000000000000000000000606082015260800190565b6020808252600b908201527f6e6f7420656c6563746564000000000000000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526014908201527f4d656469616e2063616e2774206265207a65726f000000000000000000000000604082015260600190565b60208082526014908201527f41737365744964206e6f74206d61746368696e67000000000000000000000000604082015260600190565b60208082526037908201527f50726f706f73656420416c7465726e61746520626c6f636b206973206964656e60408201527f746963616c20746f2070726f706f73656420626c6f636b000000000000000000606082015260800190565b60208082526019908201527f7374616b652062656c6f77206d696e696d756d207374616b6500000000000000604082015260600190565b60208082526021908201527f546f74616c207374616b652072657665616c656420646f65736e74206d61746360408201527f6800000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b600060208252610e9260208301846137e1565b600060808252613d5260808301876137e1565b8281036020840152613d64818761376f565b90508281036040840152613d78818661376f565b90508281036060840152613d8c818561376f565b979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b918252602082015260400190565b60006101208b83528a6020840152806040840152613de48184018b61376f565b90508281036060840152613df8818a61376f565b90508281036080840152613e0c818961376f565b905082810360a0840152613e20818861376f565b60c0840196909652505060e0810192909252610100909101529695505050505050565b600088825287602083015260e06040830152613e6260e08301886137a9565b8281036060840152613e7481886137a9565b90508281036080840152613e8881876137a9565b905082810360a0840152613e9c81866137a9565b9150508260c083015298975050505050505050565b9283526020830191909152604082015260600190565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b60008219821115613f1f57613f1f613fd4565b500190565b600082613f3357613f33613fea565b500490565b6000816000190483118215151615613f5257613f52613fd4565b500290565b600082821015613f6957613f69613fd4565b500390565b600081613f7d57613f7d613fd4565b506000190190565b6000600019821415613f9957613f99613fd4565b5060010190565b600060ff821660ff811415613fb757613fb7613fd4565b60010192915050565b600082613fcf57613fcf613fea565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461269957600080fdfea26469706673582212208ad1f4b919fd879e21da0d4ad963596fa341d46780215d324caaf430028716c964736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80637542ff95116100f9578063d1a4a43d11610097578063e38c7c4211610071578063e38c7c42146103cd578063f25b3f99146103e0578063f8c8765e146103f3578063fae4425d14610406576101c4565b8063d1a4a43d14610394578063d2a4669a146103a7578063d547741f146103ba576101c4565b806392b48411116100d357806392b484111461033e5780639b87f64414610361578063a217fddf14610369578063a27ce1ef14610371576101c4565b80637542ff95146102fe578063828496d61461030657806391d148541461032b576101c4565b806336568abe116101665780633df395a3116101405780633df395a3146102c857806342c1e587146102d05780634e6753b7146102d85780635ce8772f146102eb576101c4565b806336568abe14610282578063378ab9a9146102955780633cd32fd4146102b5576101c4565b80631d69ff9b116101a25780631d69ff9b14610227578063248a9ca31461023a5780632e716fb11461025a5780632f2ff15d1461026f576101c4565b806301ffc9a7146101c957806304c07569146101f257806317d99c0414610212575b600080fd5b6101dc6101d7366004613519565b610419565b6040516101e991906138a7565b60405180910390f35b6102056102003660046134ba565b610477565b6040516101e99190613d2c565b6102256102203660046135ef565b610627565b005b6101dc610235366004613723565b610b11565b61024d6102483660046134ba565b610e99565b6040516101e991906138b2565b610262610eaf565b6040516101e99190613880565b61022561027d3660046134ea565b610ebe565b6102256102903660046134ea565b610efc565b6102a86102a33660046134ba565b610f3e565b6040516101e99190613894565b6102256102c33660046136b4565b610fa3565b61026261153a565b610262611549565b6102256102e63660046136d5565b611558565b6102256102f93660046134ba565b611c7b565b610262611eca565b6103196103143660046134ea565b611ed9565b6040516101e996959493929190613ee4565b6101dc6103393660046134ea565b611f18565b61035161034c3660046136b4565b611f43565b6040516101e99493929190613ec7565b610225611f8c565b61024d61269c565b61038461037f3660046136b4565b6126a1565b6040516101e99493929190613d3f565b6102a86103a23660046136b4565b6128a9565b6102a86103b53660046134ba565b612943565b6102256103c83660046134ea565b6129a6565b61024d6103db3660046134ba565b6129ce565b6103516103ee3660046134ba565b6129e0565b61022561040136600461345f565b612a0a565b6102a86104143660046134ba565b612b0e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061046f575061046f82612b71565b90505b919050565b61047f6132bb565b60008281526004602090815260409182902082516101008101845281548152600182018054855181860281018601909652808652919492938581019392908301828280156104ec57602002820191906000526020600020905b8154815260200190600101908083116104d8575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561054457602002820191906000526020600020905b815481526020019060010190808311610530575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561059c57602002820191906000526020600020905b815481526020019060010190808311610588575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156105f457602002820191906000526020600020905b8154815260200190600101908083116105e0575b5050509183525050600582015460208201526006820154604082015260079091015460ff16151560609091015292915050565b60005460ff166106525760405162461bcd60e51b815260040161064990613a94565b60405180910390fd5b60065460408051630eaf323560e31b8152905189926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561069657600080fd5b505afa1580156106aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ce91906134d2565b81146106ec5760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63c198f8ba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561073057600080fd5b505af4158015610744573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610768919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b957600080fd5b505afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f191906134d2565b811461080f5760405162461bcd60e51b815260040161064990613c98565b6005546040517f6022a4850000000000000000000000000000000000000000000000000000000081526000916001600160a01b031690636022a48590610859903390600401613880565b60206040518083038186803b15801561087157600080fd5b505afa158015610885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a991906134d2565b90506108b6858583610b11565b6108d25760405162461bcd60e51b8152600401610649906139a3565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561091657600080fd5b505af415801561092a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094e91906134d2565b6005546040516371e4cc7f60e11b81526001600160a01b039091169063e3c998fe9061097e9085906004016138b2565b6101006040518083038186803b15801561099757600080fd5b505afa1580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf9190613559565b6040015110156109f15760405162461bcd60e51b815260040161064990613c04565b6040805161010081018252828152602081018b90528082018a9052606081018990526080810188905260a0810187905260055491516371e4cc7f60e11b8152610abe928d929160c08301916001600160a01b03169063e3c998fe90610a5a908b906004016138b2565b6101006040518083038186803b158015610a7357600080fd5b505afa158015610a87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aab9190613559565b6040015181526001602090910152612bbb565b7fee036cc96c88163f353feaa4d497e88baaebeb631f40ad9b8a6d51bb6fad40768a828b8b8b8b8b8b42604051610afd99989796959493929190613dc4565b60405180910390a150505050505050505050565b6000805460ff16610b345760405162461bcd60e51b815260040161064990613a94565b8173__$3b76b38140ea5d8f6a5a565441556589de$__635075dbfb600a600560009054906101000a90046001600160a01b03166001600160a01b031663bc788d466040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9f57600080fd5b505afa158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd791906134d2565b88604051602001610be891906138b2565b604051602081830303815290604052805190602001206040518463ffffffff1660e01b8152600401610c1c939291906138ce565b60206040518083038186803b158015610c3457600080fd5b505af4158015610c48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6c91906134d2565b610c77906001613f0c565b14610c8457506000610e92565b600073__$3b76b38140ea5d8f6a5a565441556589de$__63b07ceab8600a8588604051602001610cb5929190613db6565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610ce89291906138bb565b60206040518083038186803b158015610d0057600080fd5b505af4158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3891906134d2565b90506000610d4b64010000000083613fc0565b6005546040516371e4cc7f60e11b81529192506000916001600160a01b039091169063e3c998fe90610d819089906004016138b2565b6101006040518083038186803b158015610d9a57600080fd5b505afa158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd29190613559565b60409081015160055491516371e4cc7f60e11b81529092506001600160a01b039091169063e3c998fe90610e0a9088906004016138b2565b6101006040518083038186803b158015610e2357600080fd5b505afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b9190613559565b60400151610e6e90640100000000613f38565b610e788284613f38565b1115610e8a5760009350505050610e92565b600193505050505b9392505050565b6000908152600160208190526040909120015490565b6006546001600160a01b031681565b610ed2610eca83610e99565b6103396131aa565b610eee5760405162461bcd60e51b8152600401610649906138e9565b610ef882826131ae565b5050565b610f046131aa565b6001600160a01b0316816001600160a01b031614610f345760405162461bcd60e51b815260040161064990613ccf565b610ef88282613236565b600081815260046020908152604091829020600201805483518184028101840190945280845260609392830182828015610f9757602002820191906000526020600020905b815481526020019060010190808311610f83575b50505050509050919050565b60005460ff16610fc55760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561100957600080fd5b505afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906134d2565b811461105f5760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a357600080fd5b505af41580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561112c57600080fd5b505afa158015611140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116491906134d2565b81146111825760405162461bcd60e51b815260040161064990613c98565b60008481526002602090815260408083203384529091529081902060050154600754915163a6a145d960e01b815290916001600160a01b03169063a6a145d9906111d29088908590600401613db6565b60206040518083038186803b1580156111ea57600080fd5b505afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122291906134d2565b6000868152600260209081526040808320338452909152902054146112595760405162461bcd60e51b815260040161064990613c3b565b600085815260026020818152604080842033855282528084206001810154938101546003918201548b875291909352908420805493949293919291899081106112b257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600001549050600084116112e65760405162461bcd60e51b815260040161064990613b39565b600089815260036020526040902080548591908a90811061131757634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600201868154811061134757634e487b7160e01b600052603260045260246000fd5b90600052602060002001541415806113c95750600089815260036020526040902080548491908a90811061138b57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160030186815481106113bb57634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b8061143e5750600089815260036020526040902080548391908a90811061140057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600401868154811061143057634e487b7160e01b600052603260045260246000fd5b906000526020600020015414155b1561151757600089815260036020526040812080548a90811061147157634e487b7160e01b600052603260045260246000fd5b60009182526020909120600890910201600701805460ff19169115159190911790556005546040517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630f91ce19906114e090849033908e90600401613d97565b600060405180830381600087803b1580156114fa57600080fd5b505af115801561150e573d6000803e3d6000fd5b5050505061152f565b60405162461bcd60e51b815260040161064990613ba7565b505050505050505050565b6008546001600160a01b031681565b6007546001600160a01b031681565b60005460ff1661157a5760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905185926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156115be57600080fd5b505afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f691906134d2565b81146116145760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b15801561165857600080fd5b505af415801561166c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611690919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116e157600080fd5b505afa1580156116f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171991906134d2565b81146117375760405162461bcd60e51b815260040161064990613c98565b60075460405163a6a145d960e01b81526000916002916001600160a01b039091169063a6a145d99061176f908a908a90600401613db6565b60206040518083038186803b15801561178757600080fd5b505afa15801561179b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bf91906134d2565b6117c99190613f24565b60075460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611801908b908b908601613db6565b60206040518083038186803b15801561181957600080fd5b505afa15801561182d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185191906134d2565b61185b9190613f24565b60075460405163a6a145d960e01b81529192506000916004916001600160a01b03169063a6a145d990611893908c908c908601613db6565b60206040518083038186803b1580156118ab57600080fd5b505afa1580156118bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e391906134d2565b6118ee906003613f38565b6118f89190613f24565b60008981526002602090815260408083203384529091529020805460049091015491925090816119465760008a81526002602090815260408083203384529091529020600501899055611981565b60008a815260026020908152604080832033845290915290206005015489146119815760405162461bcd60e51b815260040161064990613b70565b60005b8851811015611c4c57818982815181106119ae57634e487b7160e01b600052603260045260246000fd5b6020026020010151116119d35760405162461bcd60e51b815260040161064990613946565b8881815181106119f357634e487b7160e01b600052603260045260246000fd5b60200260200101519150600760009054906101000a90046001600160a01b03166001600160a01b0316639c66556f8c8c8c8581518110611a4357634e487b7160e01b600052603260045260246000fd5b60200260200101516040518463ffffffff1660e01b8152600401611a6993929190613eb1565b60206040518083038186803b158015611a8157600080fd5b505afa158015611a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab991906134d2565b611ac39084613f0c565b60008c81526002602081815260408084203385529091529091200154909350158015611aef5750848310155b15611b3d57888181518110611b1457634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028084526040808320338452909452929020909101555b60008b8152600260209081526040808320338452909152902060010154158015611b6657508583115b15611bb457888181518110611b8b57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028352604080822033835290935291909120600101555b60008b8152600260209081526040808320338452909152902060030154158015611bdd57508383115b15611c2b57888181518110611c0257634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008d815260028352604080822033835290935291909120600301555b6127105a1015611c3a57611c4c565b80611c4481613f85565b915050611984565b506000998a52600260209081526040808c20338d52909152909920600481019990995590975550505050505050565b60005460ff16611c9d5760405162461bcd60e51b815260040161064990613a94565b60065460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015611ce157600080fd5b505afa158015611cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1991906134d2565b8114611d375760405162461bcd60e51b815260040161064990613acb565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63f240f7c36040518163ffffffff1660e01b815260040160206040518083038186803b158015611d7b57600080fd5b505af4158015611d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db3919061374e565b60ff16600660009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e0457600080fd5b505afa158015611e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3c91906134d2565b8114611e5a5760405162461bcd60e51b815260040161064990613c98565b50506040805160c08101825260008082526020808301828152838501838152606085018481526080860185815260a0870186815298865260028086528887203388529095529690942094518555905160018501555190830155516003820155905160048201559051600590910155565b6005546001600160a01b031681565b60026020818152600093845260408085209091529183529120805460018201549282015460038301546004840154600590940154929493919290919086565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60036020528160005260406000208181548110611f5f57600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60005460ff16611fae5760405162461bcd60e51b815260040161064990613a94565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63d98b3ced6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff257600080fd5b505af4158015612006573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202a91906134d2565b6120348133611f18565b6120505760405162461bcd60e51b815260040161064990613b02565b60065460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561209557600080fd5b505afa1580156120a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd91906134d2565b905060005b600360006120e1600185613f57565b815260208101919091526040016000205460ff82161015612696576003600061210b600185613f57565b81526020019081526020016000208160ff168154811061213b57634e487b7160e01b600052603260045260246000fd5b600091825260209091206007600890920201015460ff16156126845760036000612166600185613f57565b81526020019081526020016000208160ff168154811061219657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600460006001856121b59190613f57565b8152602081019190915260400160002081548155600180830180546121dd9284019190613302565b50600282810180546121f29284019190613302565b50600382810180546122079284019190613302565b506004828101805461221c9284019190613302565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff9092161515919091179055600060038161225c600186613f57565b81526020019081526020016000208260ff168154811061228c57634e487b7160e01b600052603260045260246000fd5b600091825260209091206008909102015490507f5ef264ae9101b91bd7117350c5e85901297fa0569e7a3e07eb7ec0a6281529f06122cb600185613f57565b82600360006122db600189613f57565b81526020019081526020016000208560ff168154811061230b57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002016003600060018961232d9190613f57565b81526020019081526020016000208660ff168154811061235d57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016003016003600060018a61237f9190613f57565b81526020019081526020016000208760ff16815481106123af57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016004016003600060018b6123d19190613f57565b81526020019081526020016000208860ff168154811061240157634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101426040516124269796959493929190613e43565b60405180910390a160005b60036000612440600187613f57565b81526020019081526020016000208360ff168154811061247057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600101805490508160ff1610156125fe576008546001600160a01b03166356350bdf600360006124af600189613f57565b81526020019081526020016000208560ff16815481106124df57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016001018360ff168154811061251257634e487b7160e01b600052603260045260246000fd5b90600052602060002001546003600060018961252e9190613f57565b81526020019081526020016000208660ff168154811061255e57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600802016002018460ff168154811061259157634e487b7160e01b600052603260045260246000fd5b90600052602060002001546040518363ffffffff1660e01b81526004016125b9929190613db6565b600060405180830381600087803b1580156125d357600080fd5b505af11580156125e7573d6000803e3d6000fd5b5050505080806125f690613fa0565b915050612431565b506005546040517f746c8b650000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063746c8b659061264a9084908790600401613db6565b600060405180830381600087803b15801561266457600080fd5b505af1158015612678573d6000803e3d6000fd5b50505050505050612699565b8061268e81613fa0565b9150506120d2565b50505b50565b600081565b6126a96132bb565b60608060606003600087815260200190815260200160002085815481106126e057634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160405180610100016040529081600082015481526020016001820180548060200260200160405190810160405280929190818152602001828054801561275357602002820191906000526020600020905b81548152602001906001019080831161273f575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156127ab57602002820191906000526020600020905b815481526020019060010190808311612797575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561280357602002820191906000526020600020905b8154815260200190600101908083116127ef575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561285b57602002820191906000526020600020905b815481526020019060010190808311612847575b505050918352505060058201546020820152600682015460408083019190915260079092015460ff161515606091820152908201519082015160808301519299919850965090945092505050565b6000828152600360205260409020805460609190839081106128db57634e487b7160e01b600052603260045260246000fd5b906000526020600020906008020160020180548060200260200160405190810160405280929190818152602001828054801561293657602002820191906000526020600020905b815481526020019060010190808311612922575b5050505050905092915050565b600081815260046020908152604091829020600301805483518184028101840190945280845260609392830182828015610f975760200282019190600052602060002090815481526020019060010190808311610f835750505050509050919050565b6129b2610eca83610e99565b610f345760405162461bcd60e51b8152600401610649906139da565b60009081526003602052604090205490565b60046020526000908152604090208054600582015460068301546007909301549192909160ff1684565b600054610100900460ff1680612a23575060005460ff16155b612a3f5760405162461bcd60e51b815260040161064990613a37565b600054610100900460ff16158015612a6a576000805460ff1961ff0019909116610100171660011790555b6000612a768133611f18565b612a925760405162461bcd60e51b815260040161064990613b02565b50600580546001600160a01b038088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255600680548784169083161790556007805486841690831617905560088054928516929091169190911790558015612b07576000805461ff00191690555b5050505050565b600081815260046020818152604092839020909101805483518184028101840190945280845260609392830182828015610f975760200282019190600052602060002090815481526020019060010190808311610f835750505050509050919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600082815260036020526040902054612c985760008281526003602090815260408220805460018181018355918452928290208451600890940201928355838201518051859493612c10938501920190613352565b5060408201518051612c2c916002840191602090910190613352565b5060608201518051612c48916003840191602090910190613352565b5060808201518051612c64916004840191602090910190613352565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055610ef8565b600082815260036020526040812054905b600084815260036020526040902054811015612d775760c08301516000858152600360205260409020805483908110612cf257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600601541015612d1257809150612d77565b60a08301516000858152600360205260409020805483908110612d4557634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600501541115612d6557809150612d77565b80612d6f81613f85565b915050612ca9565b5060008381526003602090815260408220805460018181018355918452928290208551600890940201928355848201518051869493612dba938501920190613352565b5060408201518051612dd6916002840191602090910190613352565b5060608201518051612df2916003840191602090910190613352565b5060808201518051612e0e916004840191602090910190613352565b5060a0820151600582015560c0820151600682015560e0909101516007909101805460ff1916911515919091179055600083815260036020526040812054612e5890600190613f57565b90505b81811115612f84576000848152600360205260409020612e7c600183613f57565b81548110612e9a57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600360008681526020019081526020016000208281548110612eda57634e487b7160e01b600052603260045260246000fd5b60009182526020909120825460089092020190815560018083018054612f039284019190613302565b5060028281018054612f189284019190613302565b5060038281018054612f2d9284019190613302565b5060048281018054612f429284019190613302565b5060058281015490820155600680830154908201556007918201549101805460ff191660ff909216151591909117905580612f7c81613f6e565b915050612e5b565b506000838152600360205260409020805483919083908110612fb657634e487b7160e01b600052603260045260246000fd5b9060005260206000209060080201600082015181600001556020820151816001019080519060200190612fea929190613352565b5060408201518051613006916002840191602090910190613352565b5060608201518051613022916003840191602090910190613352565b506080820151805161303e916004840191602090910190613352565b5060a0820151816005015560c0820151816006015560e08201518160070160006101000a81548160ff02191690831515021790555090505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63379597e06040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ba57600080fd5b505af41580156130ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130f291906134d2565b6000848152600360205260409020541115612696576000838152600360205260409020805461312390600190613f57565b8154811061314157634e487b7160e01b600052603260045260246000fd5b60009182526020822060089091020181815590613161600183018261338d565b61316f60028301600061338d565b61317d60038301600061338d565b61318b60048301600061338d565b506000600582018190556006820155600701805460ff19169055505050565b3390565b6131b88282611f18565b610ef85760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556131f26131aa565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6132408282611f18565b15610ef85760008281526001602090815260408083206001600160a01b03851684529091529020805460ff191690556132776131aa565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806101000160405280600081526020016060815260200160608152602001606081526020016060815260200160008152602001600081526020016000151581525090565b8280548282559060005260206000209081019282156133425760005260206000209182015b82811115613342578254825591600101919060010190613327565b5061334e9291506133a7565b5090565b828054828255906000526020600020908101928215613342579160200282015b82811115613342578251825591602001919060010190613372565b508054600082559060005260206000209081019061269991905b5b8082111561334e57600081556001016133a8565b805161047281614016565b600082601f8301126133d7578081fd5b8135602067ffffffffffffffff808311156133f4576133f4614000565b8183026040518382820101818110848211171561341357613413614000565b60405284815283810192508684018288018501891015613431578687fd5b8692505b85831015613453578035845292840192600192909201918401613435565b50979650505050505050565b60008060008060808587031215613474578384fd5b843561347f81614016565b9350602085013561348f81614016565b9250604085013561349f81614016565b915060608501356134af81614016565b939692955090935050565b6000602082840312156134cb578081fd5b5035919050565b6000602082840312156134e3578081fd5b5051919050565b600080604083850312156134fc578182fd5b82359150602083013561350e81614016565b809150509250929050565b60006020828403121561352a578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e92578182fd5b600061010080838503121561356c578182fd5b6040519081019067ffffffffffffffff8211818310171561358f5761358f614000565b81604052835181526135a3602085016133bc565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600080600080600080600060e0888a031215613609578283fd5b87359650602088013567ffffffffffffffff80821115613627578485fd5b6136338b838c016133c7565b975060408a0135915080821115613648578485fd5b6136548b838c016133c7565b965060608a0135915080821115613669578485fd5b6136758b838c016133c7565b955060808a013591508082111561368a578485fd5b506136978a828b016133c7565b93505060a0880135915060c0880135905092959891949750929550565b600080604083850312156136c6578182fd5b50508035926020909101359150565b6000806000606084860312156136e9578081fd5b8335925060208401359150604084013567ffffffffffffffff81111561370d578182fd5b613719868287016133c7565b9150509250925092565b600080600060608486031215613737578081fd5b505081359360208301359350604090920135919050565b60006020828403121561375f578081fd5b815160ff81168114610e92578182fd5b6000815180845260208085019450808401835b8381101561379e57815187529582019590820190600101613782565b509495945050505050565b6000815480845260208085019450838352808320835b8381101561379e578154875295820195600191820191016137bf565b15159052565b60006101008251845260208301518160208601526138018286018261376f565b9150506040830151848203604086015261381b828261376f565b91505060608301518482036060860152613835828261376f565b9150506080830151848203608086015261384f828261376f565b91505060a083015160a085015260c083015160c085015260e083015161387860e08601826137db565b509392505050565b6001600160a01b0391909116815260200190565b600060208252610e92602083018461376f565b901515815260200190565b90815260200190565b60ff929092168252602082015260400190565b60ff9390931683526020830191909152604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526029908201527f736f727465645b695d206973206e6f742067726561746572207468616e206c6160408201527f7374566973697465640000000000000000000000000000000000000000000000606082015260800190565b6020808252600b908201527f6e6f7420656c6563746564000000000000000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526014908201527f4d656469616e2063616e2774206265207a65726f000000000000000000000000604082015260600190565b60208082526014908201527f41737365744964206e6f74206d61746368696e67000000000000000000000000604082015260600190565b60208082526037908201527f50726f706f73656420416c7465726e61746520626c6f636b206973206964656e60408201527f746963616c20746f2070726f706f73656420626c6f636b000000000000000000606082015260800190565b60208082526019908201527f7374616b652062656c6f77206d696e696d756d207374616b6500000000000000604082015260600190565b60208082526021908201527f546f74616c207374616b652072657665616c656420646f65736e74206d61746360408201527f6800000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b600060208252610e9260208301846137e1565b600060808252613d5260808301876137e1565b8281036020840152613d64818761376f565b90508281036040840152613d78818661376f565b90508281036060840152613d8c818561376f565b979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b918252602082015260400190565b60006101208b83528a6020840152806040840152613de48184018b61376f565b90508281036060840152613df8818a61376f565b90508281036080840152613e0c818961376f565b905082810360a0840152613e20818861376f565b60c0840196909652505060e0810192909252610100909101529695505050505050565b600088825287602083015260e06040830152613e6260e08301886137a9565b8281036060840152613e7481886137a9565b90508281036080840152613e8881876137a9565b905082810360a0840152613e9c81866137a9565b9150508260c083015298975050505050505050565b9283526020830191909152604082015260600190565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b60008219821115613f1f57613f1f613fd4565b500190565b600082613f3357613f33613fea565b500490565b6000816000190483118215151615613f5257613f52613fd4565b500290565b600082821015613f6957613f69613fd4565b500390565b600081613f7d57613f7d613fd4565b506000190190565b6000600019821415613f9957613f99613fd4565b5060010190565b600060ff821660ff811415613fb757613fb7613fd4565b60010192915050565b600082613fcf57613fcf613fea565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461269957600080fdfea26469706673582212208ad1f4b919fd879e21da0d4ad963596fa341d46780215d324caaf430028716c964736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 2031 - }, - { - "length": 20, - "start": 2517 - }, - { - "length": 20, - "start": 4450 - }, - { - "length": 20, - "start": 5911 - }, - { - "length": 20, - "start": 7738 - }, - { - "length": 20, - "start": 8369 - }, - { - "length": 20, - "start": 12665 - } - ] - }, - "contracts/lib/Random.sol": { - "Random": [ - { - "length": 20, - "start": 3128 - }, - { - "length": 20, - "start": 3465 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1774 - }, - { - "length": 20, - "start": 2260 - }, - { - "length": 20, - "start": 4193 - }, - { - "length": 20, - "start": 5654 - }, - { - "length": 20, - "start": 7481 - }, - { - "length": 20, - "start": 8112 - }, - { - "length": 20, - "start": 12408 - } - ] - }, - "contracts/lib/Random.sol": { - "Random": [ - { - "length": 20, - "start": 2871 - }, - { - "length": 20, - "start": 3208 - } - ] - } - } -} diff --git a/deployed/matic/abi/contracts/Core/JobManager.sol/JobManager.dbg.json b/deployed/matic/abi/contracts/Core/JobManager.sol/JobManager.dbg.json deleted file mode 100644 index dd030d18..00000000 --- a/deployed/matic/abi/contracts/Core/JobManager.sol/JobManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/JobManager.sol/JobManager.json b/deployed/matic/abi/contracts/Core/JobManager.sol/JobManager.json deleted file mode 100644 index b83b586f..00000000 --- a/deployed/matic/abi/contracts/Core/JobManager.sol/JobManager.json +++ /dev/null @@ -1,585 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "JobManager", - "sourceName": "contracts/Core/JobManager.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "stateManagerAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "JobCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "indexed": false, - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "JobReported", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - } - ], - "name": "createJob", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "jobId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "fulfillJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNumJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "jobs", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b50604051620017a4380380620017a483398101604081905262000034916200012e565b6200004160003362000067565b600380546001600160a01b0319166001600160a01b03929092169190911790556200015e565b62000073828262000077565b5050565b62000083828262000101565b62000073576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000bd6200012a565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b60006020828403121562000140578081fd5b81516001600160a01b038116811462000157578182fd5b9392505050565b611636806200016e6000396000f3fe6080604052600436106100e85760003560e01c8063628aff1d1161008a578063995e433911610059578063995e433914610267578063a217fddf14610287578063bf22c4571461029c578063d547741f146102cd576100e8565b8063628aff1d1461020a5780637e0c00ed1461021d57806391d14854146102325780639212051c14610252576100e8565b80632e716fb1116100c65780632e716fb1146101865780632f2ff15d146101a857806336568abe146101ca57806356350bdf146101ea576100e8565b806301ffc9a7146100ed578063180aedf314610123578063248a9ca314610159575b600080fd5b3480156100f957600080fd5b5061010d610108366004611016565b6102ed565b60405161011a9190611242565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004610fac565b610349565b60405161011a9a99989796959493929190611487565b34801561016557600080fd5b50610179610174366004610fac565b610542565b60405161011a919061124d565b34801561019257600080fd5b5061019b610557565b60405161011a9190611256565b3480156101b457600080fd5b506101c86101c3366004610fdc565b610566565b005b3480156101d657600080fd5b506101c86101e5366004610fdc565b6105ad565b3480156101f657600080fd5b506101c861020536600461110b565b6105ef565b6101c861021836600461105d565b6107bf565b34801561022957600080fd5b50610179610a8d565b34801561023e57600080fd5b5061010d61024d366004610fdc565b610a93565b34801561025e57600080fd5b50610179610abc565b34801561027357600080fd5b50610179610282366004610fac565b610ac2565b34801561029357600080fd5b50610179610ad7565b3480156102a857600080fd5b506102bc6102b7366004610fac565b610adc565b60405161011a95949392919061126a565b3480156102d957600080fd5b506101c86102e8366004610fdc565b610d4e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610343575061034382610d76565b92915050565b600260208190526000918252604090912080546001820154928201805491939291610373906115c5565b80601f016020809104026020016040519081016040528092919081815260200182805461039f906115c5565b80156103ec5780601f106103c1576101008083540402835291602001916103ec565b820191906000526020600020905b8154815290600101906020018083116103cf57829003601f168201915b505050505090806003018054610401906115c5565b80601f016020809104026020016040519081016040528092919081815260200182805461042d906115c5565b801561047a5780601f1061044f5761010080835404028352916020019161047a565b820191906000526020600020905b81548152906001019060200180831161045d57829003601f168201915b50505050509080600401805461048f906115c5565b80601f01602080910402602001604051908101604052809291908181526020018280546104bb906115c5565b80156105085780601f106104dd57610100808354040283529160200191610508565b820191906000526020600020905b8154815290600101906020018083116104eb57829003601f168201915b50505050600583015460068401546007850154600890950154939460ff808416956101009094046001600160a01b0316945091929116908a565b60009081526020819052604090206001015490565b6003546001600160a01b031681565b61057a61057283610542565b61024d610dc0565b61059f5760405162461bcd60e51b8152600401610596906112b8565b60405180910390fd5b6105a98282610dc4565b5050565b6105b5610dc0565b6001600160a01b0316816001600160a01b0316146105e55760405162461bcd60e51b8152600401610596906113a9565b6105a98282610e49565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__637f890b116040518163ffffffff1660e01b815260040160206040518083038186803b15801561063357600080fd5b505af4158015610647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066b9190610fc4565b6106758133610a93565b6106915760405162461bcd60e51b815260040161059690611372565b60008381526002602090815260408083206003548251630eaf323560e31b815292519194936001600160a01b039091169263757991a89260048083019392829003018186803b1580156106e357600080fd5b505afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190610fc4565b600583015490915060ff1661073a5760078201805460ff191660011790555b6008820184905581546005830154600684015460078501546040517f9028bea5bfa7ed26c48df402d89085a995447dc8c1fb167cb92a3c7411b54480946107b09490938a93889360028b019360038c019360048d019360ff808416946101009094046001600160a01b031693911690429061150a565b60405180910390a15050505050565b600180546107cc916115a1565b60015560035460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561081457600080fd5b505afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190610fc4565b9050600060405180610140016040528060015481526020018381526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a9081908401838280828437600092019190915250505090825250604080516020601f8901819004810282018101909252878152918101919088908890819084018382808284376000920182905250938552505050851515602080840191909152336040808501919091523460608501526080840183905260a0909301829052600180548352600280835292849020855181558583015191810191909155928401518051949550859461097d938501929190910190610ecc565b5060608201518051610999916003840191602090910190610ecc565b50608082015180516109b5916004840191602090910190610ecc565b5060a082015160058201805460c085015160ff19918216931515939093177fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0390941684021790915560e0840151600684015590830151600783018054909216901515179055610120909101516008909101556001546040517fd4ae17fdeb78e69409330361e8f8475f8027928c6f28eae2195e5ae56570aba091610a7a9185908d908d908d908d908d908d908d90339034904290611406565b60405180910390a1505050505050505050565b60015490565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60015481565b60009081526002602052604090206008015490565b600081565b6060806060600080600060026000888152602001908152602001600020604051806101400160405290816000820154815260200160018201548152602001600282018054610b29906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610b55906115c5565b8015610ba25780601f10610b7757610100808354040283529160200191610ba2565b820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b50505050508152602001600382018054610bbb906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610be7906115c5565b8015610c345780601f10610c0957610100808354040283529160200191610c34565b820191906000526020600020905b815481529060010190602001808311610c1757829003601f168201915b50505050508152602001600482018054610c4d906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610c79906115c5565b8015610cc65780601f10610c9b57610100808354040283529160200191610cc6565b820191906000526020600020905b815481529060010190602001808311610ca957829003601f168201915b5050509183525050600582015460ff808216151560208401526101009091046001600160a01b031660408084019190915260068401546060808501919091526007850154909216151560808085019190915260089094015460a09384015284015190840151928401519184015161012090940151909b929a5090985091965090945092505050565b610d5a61057283610542565b6105e55760405162461bcd60e51b815260040161059690611315565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b610dce8282610a93565b6105a9576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610e05610dc0565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610e538282610a93565b156105a9576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055610e88610dc0565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b828054610ed8906115c5565b90600052602060002090601f016020900481019282610efa5760008555610f40565b82601f10610f1357805160ff1916838001178555610f40565b82800160010185558215610f40579182015b82811115610f40578251825591602001919060010190610f25565b50610f4c929150610f50565b5090565b5b80821115610f4c5760008155600101610f51565b60008083601f840112610f76578182fd5b50813567ffffffffffffffff811115610f8d578182fd5b602083019150836020828501011115610fa557600080fd5b9250929050565b600060208284031215610fbd578081fd5b5035919050565b600060208284031215610fd5578081fd5b5051919050565b60008060408385031215610fee578081fd5b8235915060208301356001600160a01b038116811461100b578182fd5b809150509250929050565b600060208284031215611027578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611056578182fd5b9392505050565b60008060008060008060006080888a031215611077578283fd5b873567ffffffffffffffff8082111561108e578485fd5b61109a8b838c01610f65565b909950975060208a01359150808211156110b2578485fd5b6110be8b838c01610f65565b909750955060408a01359150808211156110d6578485fd5b506110e38a828b01610f65565b909450925050606088013580151581146110fb578182fd5b8091505092959891949750929550565b6000806040838503121561111d578182fd5b50508035926020909101359150565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b8181101561117b5760208185018101518683018201520161115f565b8181111561118c5782602083870101525b50601f01601f19169290920160200192915050565b8054600090600281046001808316806111bb57607f831692505b60208084108214156111db57634e487b7160e01b86526022600452602486fd5b6111e5848961124d565b8280156111f9576001811461120a57611235565b60ff19871682528282019750611235565b61121389611595565b60005b8781101561122f57815484820152908601908401611216565b83019850505b5050505050505092915050565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b600060a0825261127d60a0830188611156565b828103602084015261128f8188611156565b905082810360408401526112a38187611156565b94151560608401525050608001529392505050565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60006101208e83528d60208401528060408401526114278184018d8f61112c565b9050828103606084015261143c818b8d61112c565b9050828103608084015261145181898b61112c565b96151560a084015250506001600160a01b039390931660c084015260e08301919091526101009091015298975050505050505050565b60006101408c83528b60208401528060408401526114a78184018c611156565b905082810360608401526114bb818b611156565b905082810360808401526114cf818a611156565b97151560a084015250506001600160a01b039490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60006101608d83528c60208401528b60408401528060608401526115308184018c6111a1565b90508281036080840152611544818b6111a1565b905082810360a0840152611558818a6111a1565b97151560c084015250506001600160a01b039490941660e08501526101008401929092521515610120830152610140909101529695505050505050565b60009081526020902090565b600082198211156115c057634e487b7160e01b81526011600452602481fd5b500190565b6002810460018216806115d957607f821691505b602082108114156115fa57634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220f608c0c25fd3f06a9e50ee840aefd76562ddb8ef3e2832bd16fea2d898fcac5a64736f6c63430008000033", - "deployedBytecode": "0x6080604052600436106100e85760003560e01c8063628aff1d1161008a578063995e433911610059578063995e433914610267578063a217fddf14610287578063bf22c4571461029c578063d547741f146102cd576100e8565b8063628aff1d1461020a5780637e0c00ed1461021d57806391d14854146102325780639212051c14610252576100e8565b80632e716fb1116100c65780632e716fb1146101865780632f2ff15d146101a857806336568abe146101ca57806356350bdf146101ea576100e8565b806301ffc9a7146100ed578063180aedf314610123578063248a9ca314610159575b600080fd5b3480156100f957600080fd5b5061010d610108366004611016565b6102ed565b60405161011a9190611242565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004610fac565b610349565b60405161011a9a99989796959493929190611487565b34801561016557600080fd5b50610179610174366004610fac565b610542565b60405161011a919061124d565b34801561019257600080fd5b5061019b610557565b60405161011a9190611256565b3480156101b457600080fd5b506101c86101c3366004610fdc565b610566565b005b3480156101d657600080fd5b506101c86101e5366004610fdc565b6105ad565b3480156101f657600080fd5b506101c861020536600461110b565b6105ef565b6101c861021836600461105d565b6107bf565b34801561022957600080fd5b50610179610a8d565b34801561023e57600080fd5b5061010d61024d366004610fdc565b610a93565b34801561025e57600080fd5b50610179610abc565b34801561027357600080fd5b50610179610282366004610fac565b610ac2565b34801561029357600080fd5b50610179610ad7565b3480156102a857600080fd5b506102bc6102b7366004610fac565b610adc565b60405161011a95949392919061126a565b3480156102d957600080fd5b506101c86102e8366004610fdc565b610d4e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610343575061034382610d76565b92915050565b600260208190526000918252604090912080546001820154928201805491939291610373906115c5565b80601f016020809104026020016040519081016040528092919081815260200182805461039f906115c5565b80156103ec5780601f106103c1576101008083540402835291602001916103ec565b820191906000526020600020905b8154815290600101906020018083116103cf57829003601f168201915b505050505090806003018054610401906115c5565b80601f016020809104026020016040519081016040528092919081815260200182805461042d906115c5565b801561047a5780601f1061044f5761010080835404028352916020019161047a565b820191906000526020600020905b81548152906001019060200180831161045d57829003601f168201915b50505050509080600401805461048f906115c5565b80601f01602080910402602001604051908101604052809291908181526020018280546104bb906115c5565b80156105085780601f106104dd57610100808354040283529160200191610508565b820191906000526020600020905b8154815290600101906020018083116104eb57829003601f168201915b50505050600583015460068401546007850154600890950154939460ff808416956101009094046001600160a01b0316945091929116908a565b60009081526020819052604090206001015490565b6003546001600160a01b031681565b61057a61057283610542565b61024d610dc0565b61059f5760405162461bcd60e51b8152600401610596906112b8565b60405180910390fd5b6105a98282610dc4565b5050565b6105b5610dc0565b6001600160a01b0316816001600160a01b0316146105e55760405162461bcd60e51b8152600401610596906113a9565b6105a98282610e49565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__637f890b116040518163ffffffff1660e01b815260040160206040518083038186803b15801561063357600080fd5b505af4158015610647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066b9190610fc4565b6106758133610a93565b6106915760405162461bcd60e51b815260040161059690611372565b60008381526002602090815260408083206003548251630eaf323560e31b815292519194936001600160a01b039091169263757991a89260048083019392829003018186803b1580156106e357600080fd5b505afa1580156106f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071b9190610fc4565b600583015490915060ff1661073a5760078201805460ff191660011790555b6008820184905581546005830154600684015460078501546040517f9028bea5bfa7ed26c48df402d89085a995447dc8c1fb167cb92a3c7411b54480946107b09490938a93889360028b019360038c019360048d019360ff808416946101009094046001600160a01b031693911690429061150a565b60405180910390a15050505050565b600180546107cc916115a1565b60015560035460408051630eaf323560e31b815290516000926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561081457600080fd5b505afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190610fc4565b9050600060405180610140016040528060015481526020018381526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a9081908401838280828437600092019190915250505090825250604080516020601f8901819004810282018101909252878152918101919088908890819084018382808284376000920182905250938552505050851515602080840191909152336040808501919091523460608501526080840183905260a0909301829052600180548352600280835292849020855181558583015191810191909155928401518051949550859461097d938501929190910190610ecc565b5060608201518051610999916003840191602090910190610ecc565b50608082015180516109b5916004840191602090910190610ecc565b5060a082015160058201805460c085015160ff19918216931515939093177fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0390941684021790915560e0840151600684015590830151600783018054909216901515179055610120909101516008909101556001546040517fd4ae17fdeb78e69409330361e8f8475f8027928c6f28eae2195e5ae56570aba091610a7a9185908d908d908d908d908d908d908d90339034904290611406565b60405180910390a1505050505050505050565b60015490565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60015481565b60009081526002602052604090206008015490565b600081565b6060806060600080600060026000888152602001908152602001600020604051806101400160405290816000820154815260200160018201548152602001600282018054610b29906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610b55906115c5565b8015610ba25780601f10610b7757610100808354040283529160200191610ba2565b820191906000526020600020905b815481529060010190602001808311610b8557829003601f168201915b50505050508152602001600382018054610bbb906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610be7906115c5565b8015610c345780601f10610c0957610100808354040283529160200191610c34565b820191906000526020600020905b815481529060010190602001808311610c1757829003601f168201915b50505050508152602001600482018054610c4d906115c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610c79906115c5565b8015610cc65780601f10610c9b57610100808354040283529160200191610cc6565b820191906000526020600020905b815481529060010190602001808311610ca957829003601f168201915b5050509183525050600582015460ff808216151560208401526101009091046001600160a01b031660408084019190915260068401546060808501919091526007850154909216151560808085019190915260089094015460a09384015284015190840151928401519184015161012090940151909b929a5090985091965090945092505050565b610d5a61057283610542565b6105e55760405162461bcd60e51b815260040161059690611315565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b610dce8282610a93565b6105a9576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610e05610dc0565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610e538282610a93565b156105a9576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055610e88610dc0565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b828054610ed8906115c5565b90600052602060002090601f016020900481019282610efa5760008555610f40565b82601f10610f1357805160ff1916838001178555610f40565b82800160010185558215610f40579182015b82811115610f40578251825591602001919060010190610f25565b50610f4c929150610f50565b5090565b5b80821115610f4c5760008155600101610f51565b60008083601f840112610f76578182fd5b50813567ffffffffffffffff811115610f8d578182fd5b602083019150836020828501011115610fa557600080fd5b9250929050565b600060208284031215610fbd578081fd5b5035919050565b600060208284031215610fd5578081fd5b5051919050565b60008060408385031215610fee578081fd5b8235915060208301356001600160a01b038116811461100b578182fd5b809150509250929050565b600060208284031215611027578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611056578182fd5b9392505050565b60008060008060008060006080888a031215611077578283fd5b873567ffffffffffffffff8082111561108e578485fd5b61109a8b838c01610f65565b909950975060208a01359150808211156110b2578485fd5b6110be8b838c01610f65565b909750955060408a01359150808211156110d6578485fd5b506110e38a828b01610f65565b909450925050606088013580151581146110fb578182fd5b8091505092959891949750929550565b6000806040838503121561111d578182fd5b50508035926020909101359150565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b8181101561117b5760208185018101518683018201520161115f565b8181111561118c5782602083870101525b50601f01601f19169290920160200192915050565b8054600090600281046001808316806111bb57607f831692505b60208084108214156111db57634e487b7160e01b86526022600452602486fd5b6111e5848961124d565b8280156111f9576001811461120a57611235565b60ff19871682528282019750611235565b61121389611595565b60005b8781101561122f57815484820152908601908401611216565b83019850505b5050505050505092915050565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b600060a0825261127d60a0830188611156565b828103602084015261128f8188611156565b905082810360408401526112a38187611156565b94151560608401525050608001529392505050565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60006101208e83528d60208401528060408401526114278184018d8f61112c565b9050828103606084015261143c818b8d61112c565b9050828103608084015261145181898b61112c565b96151560a084015250506001600160a01b039390931660c084015260e08301919091526101009091015298975050505050505050565b60006101408c83528b60208401528060408401526114a78184018c611156565b905082810360608401526114bb818b611156565b905082810360808401526114cf818a611156565b97151560a084015250506001600160a01b039490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60006101608d83528c60208401528b60408401528060608401526115308184018c6111a1565b90508281036080840152611544818b6111a1565b905082810360a0840152611558818a6111a1565b97151560c084015250506001600160a01b039490941660e08501526101008401929092521515610120830152610140909101529695505050505050565b60009081526020902090565b600082198211156115c057634e487b7160e01b81526011600452602481fd5b500190565b6002810460018216806115d957607f821691505b602082108114156115fa57634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220f608c0c25fd3f06a9e50ee840aefd76562ddb8ef3e2832bd16fea2d898fcac5a64736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1887 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1521 - } - ] - } - } -} diff --git a/deployed/matic/abi/contracts/Core/StakeManager.sol/StakeManager.dbg.json b/deployed/matic/abi/contracts/Core/StakeManager.sol/StakeManager.dbg.json deleted file mode 100644 index dd030d18..00000000 --- a/deployed/matic/abi/contracts/Core/StakeManager.sol/StakeManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/StakeManager.sol/StakeManager.json b/deployed/matic/abi/contracts/Core/StakeManager.sol/StakeManager.json deleted file mode 100644 index 9858cb2d..00000000 --- a/deployed/matic/abi/contracts/Core/StakeManager.sol/StakeManager.json +++ /dev/null @@ -1,1117 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "StakeManager", - "sourceName": "contracts/Core/StakeManager.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_blockReward", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "prevRewardPool", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rewardPool", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "RewardPoolChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "StakeChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "prevStakeGettingReward", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakeGettingReward", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "StakeGettingRewardChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Staked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Unstaked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newStake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Withdrew", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "blockManager", - "outputs": [ - { - "internalType": "contract IBlockManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "blockReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epochs", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakeValue", - "type": "uint256" - } - ], - "name": "calculateInactivityPenalties", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getNumStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getStaker", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "internalType": "struct Structs.Staker", - "name": "staker", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getStakerId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "givePenalties", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "schAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "voteManagersAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "blockManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "stateManagerAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "numStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sch", - "outputs": [ - { - "internalType": "contract SchellingCoin", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_epochLastRevealed", - "type": "uint256" - } - ], - "name": "setStakerEpochLastRevealed", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "bountyHunter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakerIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "stakers", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_blockReward", - "type": "uint256" - } - ], - "name": "updateBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "updateCommitmentEpoch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "voteManager", - "outputs": [ - { - "internalType": "contract IVoteManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405162003a8d38038062003a8d833981016040819052620000349162000116565b620000416000336200004a565b6002556200012f565b6200005682826200005a565b5050565b620000668282620000e7565b620000565760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff19169091179055620000a362000112565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b60006020828403121562000128578081fd5b5051919050565b61394e806200013f6000396000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c806366666aa91161012a578063c584bb9f116100bd578063e3c998fe1161008c578063f8c8765e11610071578063f8c8765e14610433578063fabb989014610446578063fd5e6dd11461045957610226565b8063e3c998fe14610400578063f580ffcb1461042057610226565b8063c584bb9f146103ca578063c8ae0d7d146103d2578063d547741f146103e5578063d9169b32146103f857610226565b806391d14854116100f957806391d14854146103945780639864f70a146103a7578063a217fddf146103ba578063bc788d46146103c257610226565b806366666aa91461035e5780636c8b052a14610366578063746c8b651461036e5780637b0472f01461038157610226565b8063248a9ca3116101bd5780632f2ff15d1161018c57806342c1e5871161017157806342c1e5871461033057806354eae15e146103385780636022a4851461034b57610226565b80632f2ff15d1461030a57806336568abe1461031d57610226565b8063248a9ca3146102bc5780632e17de78146102cf5780632e1a7d4d146102e25780632e716fb1146102f557610226565b8063188dc83b116101f9578063188dc83b146102865780631a69f008146102995780631ad54991146102ac5780631b8b13a7146102b457610226565b806301ffc9a71461022b5780630ac168a1146102545780630ec88d3f146102695780630f91ce1914610271575b600080fd5b61023e610239366004612eb4565b610480565b60405161024b91906130fc565b60405180910390f35b61025c6104de565b60405161024b9190613107565b61025c6104e4565b61028461027f366004613049565b6104ea565b005b610284610294366004612e59565b6106a7565b61025c6102a736600461307d565b61080a565b61025c610967565b61025c61096d565b61025c6102ca366004612e59565b610973565b6102846102dd366004612e59565b610989565b6102846102f0366004612e59565b610cda565b6102fd6111d4565b60405161024b9190613110565b610284610318366004612e89565b6111e3565b61028461032b366004612e89565b611221565b6102fd611263565b61028461034636600461307d565b611272565b61025c610359366004612d90565b611345565b61025c611360565b61025c611366565b61028461037c36600461307d565b61136c565b61028461038f36600461307d565b6114ca565b61023e6103a2366004612e89565b611c08565b6102846103b536600461307d565b611c33565b61025c611d0d565b61025c611d12565b6102fd611d18565b61025c6103e0366004612d90565b611d27565b6102846103f3366004612e89565b611d39565b6102fd611d61565b61041361040e366004612e59565b611d70565b60405161024b91906136e8565b61028461042e366004612e59565b611dec565b610284610441366004612db1565b611e94565b61028461045436600461307d565b611f97565b61046c610467366004612e59565b6125a0565b60405161024b98979695949392919061374a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104d657506104d6826125ef565b90505b919050565b60025481565b60055481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561052e57600080fd5b505af4158015610542573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105669190612e71565b6105708133611c08565b6105955760405162461bcd60e51b815260040161058c90613487565b60405180910390fd5b60008481526007602052604081206002908101546105b3919061387b565b90506105f78560006040518060400160405280600781526020017f536c61736865640000000000000000000000000000000000000000000000000081525086612639565b60018111156106a05760085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061063290879085906004016130e3565b602060405180830381600087803b15801561064c57600080fd5b505af1158015610660573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106849190612e3f565b6106a05760405162461bcd60e51b815260040161058c906131b8565b5050505050565b60005460ff166106c95760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561070d57600080fd5b505af4158015610721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107459190612e71565b61074f8133611c08565b61076b5760405162461bcd60e51b815260040161058c90613487565b600b60009054906101000a90046001600160a01b03166001600160a01b031663757991a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b957600080fd5b505afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190612e71565b6000928352600760205260409092206004019190915550565b6000600a83101561081c575080610961565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1cc45006040518163ffffffff1660e01b815260040160206040518083038186803b15801561086257600080fd5b505af4158015610876573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089a9190612e71565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a86f5a3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108de57600080fd5b505af41580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190612e71565b610920908561389b565b61092b6001876138ba565b610935919061389b565b61093f919061387b565b90508281101561095b5761095381846138ba565b915050610961565b60009150505b92915050565b60055490565b60045490565b6000908152600160208190526040909120015490565b60005460ff166109ab5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156109ef57600080fd5b505afa158015610a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a279190612e71565b8114610a455760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8957600080fd5b505af4158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac1919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1257600080fd5b505afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190612e71565b8114610b685760405162461bcd60e51b815260040161058c906135c0565b3360009081526006602090815260408083205480845260079092529091208054610ba45760405162461bcd60e51b815260040161058c906134be565b6000816002015411610bc85760405162461bcd60e51b815260040161058c9061324c565b84816006015411158015610bdf5750600681015415155b610bfb5760405162461bcd60e51b815260040161058c90613450565b6000816006018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c4957600080fd5b505af4158015610c5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c819190612e71565b610c8b9086613863565b6007820155600281015460405183917f0cfbc484edc798d2584502ca0d64e7e9514b8dd091d96a2a5b4deb58478da19e91610ccb91899181904290613797565b60405180910390a25050505050565b60005460ff16610cfc5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d4057600080fd5b505afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d789190612e71565b8114610d965760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610dda57600080fd5b505af4158015610dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e12919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6357600080fd5b505afa158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9b9190612e71565b8114610eb95760405162461bcd60e51b815260040161058c906135c0565b3360009081526006602090815260408083205480845260079092529091208054610ef55760405162461bcd60e51b815260040161058c90613419565b600681015415610f175760405162461bcd60e51b815260040161058c90613589565b84816007015411158015610f2e5750600781015415155b610f4a5760405162461bcd60e51b815260040161058c90613181565b806005015473__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9357600080fd5b505af4158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb9190612e71565b8260070154610fda91906138ba565b1015610ff85760405162461bcd60e51b815260040161058c90613385565b6009546040517f7164f0d60000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637164f0d6906110439088908690600401613789565b60206040518083038186803b15801561105b57600080fd5b505afa15801561106f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110939190612e71565b156110b05760405162461bcd60e51b815260040161058c9061352c565b60008160020154116110d45760405162461bcd60e51b815260040161058c906135f7565b6000828152600760205260408082206002018054908390559051909184917f0a6fecee2c95fc6b4c7f291e3435a3a832bcd700c2a7ffdedd8c909d56dfa49f91611124918a919081904290613797565b60405180910390a260085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061115e90339085906004016130e3565b602060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b09190612e3f565b6111cc5760405162461bcd60e51b815260040161058c9061334e565b505050505050565b600b546001600160a01b031681565b6111f76111ef83610973565b6103a261268b565b6112135760405162461bcd60e51b815260040161058c90613124565b61121d828261268f565b5050565b61122961268b565b6001600160a01b0316816001600160a01b0316146112595760405162461bcd60e51b815260040161058c9061362e565b61121d8282612717565b6009546001600160a01b031681565b60005460ff166112945760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156112d857600080fd5b505af41580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113109190612e71565b61131a8133611c08565b6113365760405162461bcd60e51b815260040161058c90613487565b611340838361279c565b505050565b6001600160a01b031660009081526006602052604090205490565b60045481565b60035481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156113b057600080fd5b505af41580156113c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e89190612e71565b6113f28133611c08565b61140e5760405162461bcd60e51b815260040161058c90613487565b6002541561147b57600280546000858152600760205260408120909201546114369190613863565b905061147984826040518060400160405280600c81526020017f426c6f636b20526577617264000000000000000000000000000000000000000081525086612639565b505b6005805460009182905560405190917feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916114bc9186918591904290613797565b60405180910390a150505050565b60005460ff166114ec5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561153057600080fd5b505afa158015611544573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115689190612e71565b81146115865760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115ca57600080fd5b505af41580156115de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611602919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561165357600080fd5b505afa158015611667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168b9190612e71565b81146116a95760405162461bcd60e51b815260040161058c906135c0565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ed57600080fd5b505af4158015611701573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611725919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561177657600080fd5b505afa15801561178a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ae9190612e71565b14156117cc5760405162461bcd60e51b815260040161058c906134f5565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561181057600080fd5b505af4158015611824573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118489190612e71565b8310156118675760405162461bcd60e51b815260040161058c9061368b565b6008546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906323b872dd906118b4903390309088906004016130bf565b602060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190612e3f565b6119225760405162461bcd60e51b815260040161058c906132e0565b3360009081526006602090815260408083205480845260079092529091206002015481611ad157600354611957906001613863565b6003819055506040518061010001604052806003548152602001336001600160a01b03168152602001868152602001878152602001600081526020016000815260200173__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b1580156119de57600080fd5b505af41580156119f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a169190612e71565b611a209089613863565b8152600060209182018190526003805482526007808452604080842086518155868601516001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039092169190911790558682015160028201556060870151818501556080870151600482015560a0870151600582015560c087015160068083019190915560e090970151920191909155905433835293909252208190559150611bac565b600082815260076020526040902060020154611aee908690613863565b600760008481526020019081526020016000206002018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4c57600080fd5b505af4158015611b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b849190612e71565b611b8e9087613863565b60008381526007602081905260408220600681019390935591909101555b817f52d3b6bf695a499d39fcdb47e3b450c09f2f6aa091ca8809cc51c00e705996cc8783600760008781526020019081526020016000206002015442604051611bf89493929190613797565b60405180910390a2505050505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60005460ff16611c555760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c9957600080fd5b505af4158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd19190612e71565b611cdb8133611c08565b611cf75760405162461bcd60e51b815260040161058c90613487565b5060009182526007602052604090912060050155565b600081565b60035490565b6008546001600160a01b031681565b60066020526000908152604090205481565b611d456111ef83610973565b6112595760405162461bcd60e51b815260040161058c906131ef565b600a546001600160a01b031681565b611d78612c99565b506000908152600760208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a0820152600683015460c082015291015460e082015290565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1a627816040518163ffffffff1660e01b815260040160206040518083038186803b158015611e3057600080fd5b505af4158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e689190612e71565b611e728133611c08565b611e8e5760405162461bcd60e51b815260040161058c90613487565b50600255565b600054610100900460ff1680611ead575060005460ff16155b611ec95760405162461bcd60e51b815260040161058c90613283565b600054610100900460ff16158015611ef4576000805460ff1961ff0019909116610100171660011790555b6000611f008133611c08565b611f1c5760405162461bcd60e51b815260040161058c90613487565b50600880546001600160a01b038088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560098054878416908316179055600a8054868416908316179055600b80549285169290911691909117905580156106a0576000805461ff00191690555050505050565b60005460ff16611fb95760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b158015611ffd57600080fd5b505af4158015612011573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120359190612e71565b61203f8133611c08565b61205b5760405162461bcd60e51b815260040161058c90613487565b60055461206757611340565b6000838152600760208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a08201819052600684015460c0830152929091015460e0820152906120e681856138ba565b6001146120f4575050611340565b600a546040517f378ab9a90000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063378ab9a99061213e908590600401613107565b60006040518083038186803b15801561215657600080fd5b505afa15801561216a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121929190810190612e04565b600a546040517fd2a4669a0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063d2a4669a906121e1908690600401613107565b60006040518083038186803b1580156121f957600080fd5b505afa15801561220d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122359190810190612e04565b600a546040517ffae4425d0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063fae4425d90612284908790600401613107565b60006040518083038186803b15801561229c57600080fd5b505afa1580156122b0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122d89190810190612e04565b825190915015612596576000805b835181101561243d576009548751604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a91612324918b918790600401613823565b604080518083038186803b15801561233b57600080fd5b505afa15801561234f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123739190612ffb565b600001519050600086838151811061239b57634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008684815181106123c757634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008685815181106123f357634e487b7160e01b600052603260045260246000fd5b602002602001015190508284148061241357508184118061241357508084105b1561242657612423866001613863565b95505b505050508080612435906138d1565b9150506122e6565b506000835160055461244f919061389b565b826004548960400151612462919061389b565b61246c919061389b565b612476919061387b565b905080156125935760055460408801518110156124945760006124a6565b87604001516005546124a691906138ba565b60058190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916124df918d9185914290613797565b60405180910390a160008289604001516124f99190613863565b60045490915061250984826138ba565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612542918f9185914290613797565b60405180910390a161258f8a60000151836040518060400160405280600e81526020017f566f74696e6720526577617264730000000000000000000000000000000000008152508f612639565b5050505b50505b5050505050505050565b60076020819052600091825260409091208054600182015460028301546003840154600485015460058601546006870154969097015494966001600160a01b0390941695929491939092909188565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b60008481526007602052604090819020600201805490859055905185907fab9982d99de79485b3cd6d1e72c881fd0342f42f1cbc7d220d4f373b97c4f36390610ccb90849088908890889042906137b2565b3390565b6126998282611c08565b61121d5760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556126d361268b565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6127218282611c08565b1561121d5760008281526001602090815260408083206001600160a01b03851684529091529020805460ff1916905561275861268b565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6127a68282612b35565b60008281526007602052604080822060028101546005820154600a5493517f04c075690000000000000000000000000000000000000000000000000000000081529294919390926001600160a01b03909116906304c075699061280d908590600401613107565b60006040518083038186803b15801561282557600080fd5b505afa158015612839573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128619190810190612ef4565b606081015160808201518151929350909115612596576000805b8351811015612a21576009548854604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a916128b9918b918790600401613823565b604080518083038186803b1580156128d057600080fd5b505afa1580156128e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129089190612ffb565b600001519050600085838151811061293057634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085848151811061295c57634e487b7160e01b600052603260045260246000fd5b602002602001015190508183108061297357508083115b15612a0b5773__$cb76aa8097a3c0beaf107a478aa049bae7$__633002c9ac6040518163ffffffff1660e01b815260040160206040518083038186803b1580156129bc57600080fd5b505af41580156129d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f49190612e71565b6129fe908b61387b565b612a089086613863565b94505b5050508080612a19906138d1565b91505061287b565b508015612ada57858111612a355780612a37565b855b8754909150612a8690612a4a83896138ba565b6040518060400160405280600e81526020017f566f74696e672050656e616c74790000000000000000000000000000000000008152508b612639565b600454612a938282613863565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612acc918c9185914290613797565b60405180910390a150612b2a565b600554612ae78782613863565b60058190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612b20918c9185914290613797565b60405180910390a1505b505050505050505050565b60008281526007602081815260408084208151610100810183528154815260018201546001600160a01b03169381019390935260028101549183019190915260038101546060830181905260048201546080840152600582015460a08401819052600683015460c0850152919093015460e083015290929110612bbc578160600151612bc2565b8160a001515b90506000612bd082856138ba565b60408401519091506000612be4838361080a565b905081811015612c9057612c338560000151826040518060400160405280601281526020017f496e61637469766974792050656e616c7479000000000000000000000000000081525089612639565b600454612c4082846138ba565b600454612c4d9190613863565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612c86918a9185914290613797565b60405180910390a1505b50505050505050565b6040518061010001604052806000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b80356001600160a01b03811681146104d957600080fd5b600082601f830112612d0e578081fd5b8151602067ffffffffffffffff821115612d2a57612d2a613902565b808202612d38828201613839565b838152828101908684018388018501891015612d52578687fd5b8693505b85841015612d74578051835260019390930192918401918401612d56565b50979650505050505050565b805180151581146104d957600080fd5b600060208284031215612da1578081fd5b612daa82612ce7565b9392505050565b60008060008060808587031215612dc6578283fd5b612dcf85612ce7565b9350612ddd60208601612ce7565b9250612deb60408601612ce7565b9150612df960608601612ce7565b905092959194509250565b600060208284031215612e15578081fd5b815167ffffffffffffffff811115612e2b578182fd5b612e3784828501612cfe565b949350505050565b600060208284031215612e50578081fd5b612daa82612d80565b600060208284031215612e6a578081fd5b5035919050565b600060208284031215612e82578081fd5b5051919050565b60008060408385031215612e9b578182fd5b82359150612eab60208401612ce7565b90509250929050565b600060208284031215612ec5578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612daa578182fd5b600060208284031215612f05578081fd5b815167ffffffffffffffff80821115612f1c578283fd5b8184019150610100808387031215612f32578384fd5b612f3b81613839565b905082518152602083015182811115612f52578485fd5b612f5e87828601612cfe565b602083015250604083015182811115612f75578485fd5b612f8187828601612cfe565b604083015250606083015182811115612f98578485fd5b612fa487828601612cfe565b606083015250608083015182811115612fbb578485fd5b612fc787828601612cfe565b60808301525060a083015160a082015260c083015160c0820152612fed60e08401612d80565b60e082015295945050505050565b60006040828403121561300c578081fd5b6040516040810181811067ffffffffffffffff8211171561302f5761302f613902565b604052825181526020928301519281019290925250919050565b60008060006060848603121561305d578283fd5b8335925061306d60208501612ce7565b9150604084013590509250925092565b6000806040838503121561308f578182fd5b50508035926020909101359150565b6000602082840312156130af578081fd5b815160ff81168114612daa578182fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252601a908201527f57697468647261772065706f6368206e6f742072656163686564000000000000604082015260600190565b60208082526019908201527f6661696c656420746f207472616e7366657220626f756e747900000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526011908201527f4e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b60208082526013908201527f736368207472616e73666572206661696c656400000000000000000000000000604082015260600190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b60208082526010908201527f636f756c646e74207472616e7366657200000000000000000000000000000000604082015260600190565b60208082526033908201527f50617274696369706174656420696e205769746864726177206c6f636b20706560408201527f72696f642c2043616e7420776974686472617700000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b60208082526013908201527f7374616b657220646f65736e7420657869737400000000000000000000000000604082015260600190565b60208082526006908201527f6c6f636b65640000000000000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600d908201527f7374616b65722e6964203d203000000000000000000000000000000000000000604082015260600190565b6020808252600f908201527f496e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602a908201527f616c726561647920636f6d6d6974656420746869732065706f63682e2043616e60408201527f7420776974686472617700000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f446964206e6f7420756e7374616b650000000000000000000000000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526011908201527f4e6f6e706f736974697665205374616b65000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526031908201527f7374616b656420616d6f756e74206973206c657373207468616e206d696e696d60408201527f756d207374616b65207265717569726564000000000000000000000000000000606082015260800190565b600061010082019050825182526001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b9788526001600160a01b0396909616602088015260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b60008682526020868184015260a0604084015285518060a0850152825b818110156137eb5787810183015185820160c0015282016137cf565b818111156137fc578360c083870101525b5060608401959095525050608081019190915260c0601f909201601f191601019392505050565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561385b5761385b613902565b604052919050565b60008219821115613876576138766138ec565b500190565b60008261389657634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156138b5576138b56138ec565b500290565b6000828210156138cc576138cc6138ec565b500390565b60006000198214156138e5576138e56138ec565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea26469706673582212209779da24218b4aa51a652f10c3a909fbea6a3f7519c92af4f83f059efebadb0d64736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102265760003560e01c806366666aa91161012a578063c584bb9f116100bd578063e3c998fe1161008c578063f8c8765e11610071578063f8c8765e14610433578063fabb989014610446578063fd5e6dd11461045957610226565b8063e3c998fe14610400578063f580ffcb1461042057610226565b8063c584bb9f146103ca578063c8ae0d7d146103d2578063d547741f146103e5578063d9169b32146103f857610226565b806391d14854116100f957806391d14854146103945780639864f70a146103a7578063a217fddf146103ba578063bc788d46146103c257610226565b806366666aa91461035e5780636c8b052a14610366578063746c8b651461036e5780637b0472f01461038157610226565b8063248a9ca3116101bd5780632f2ff15d1161018c57806342c1e5871161017157806342c1e5871461033057806354eae15e146103385780636022a4851461034b57610226565b80632f2ff15d1461030a57806336568abe1461031d57610226565b8063248a9ca3146102bc5780632e17de78146102cf5780632e1a7d4d146102e25780632e716fb1146102f557610226565b8063188dc83b116101f9578063188dc83b146102865780631a69f008146102995780631ad54991146102ac5780631b8b13a7146102b457610226565b806301ffc9a71461022b5780630ac168a1146102545780630ec88d3f146102695780630f91ce1914610271575b600080fd5b61023e610239366004612eb4565b610480565b60405161024b91906130fc565b60405180910390f35b61025c6104de565b60405161024b9190613107565b61025c6104e4565b61028461027f366004613049565b6104ea565b005b610284610294366004612e59565b6106a7565b61025c6102a736600461307d565b61080a565b61025c610967565b61025c61096d565b61025c6102ca366004612e59565b610973565b6102846102dd366004612e59565b610989565b6102846102f0366004612e59565b610cda565b6102fd6111d4565b60405161024b9190613110565b610284610318366004612e89565b6111e3565b61028461032b366004612e89565b611221565b6102fd611263565b61028461034636600461307d565b611272565b61025c610359366004612d90565b611345565b61025c611360565b61025c611366565b61028461037c36600461307d565b61136c565b61028461038f36600461307d565b6114ca565b61023e6103a2366004612e89565b611c08565b6102846103b536600461307d565b611c33565b61025c611d0d565b61025c611d12565b6102fd611d18565b61025c6103e0366004612d90565b611d27565b6102846103f3366004612e89565b611d39565b6102fd611d61565b61041361040e366004612e59565b611d70565b60405161024b91906136e8565b61028461042e366004612e59565b611dec565b610284610441366004612db1565b611e94565b61028461045436600461307d565b611f97565b61046c610467366004612e59565b6125a0565b60405161024b98979695949392919061374a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104d657506104d6826125ef565b90505b919050565b60025481565b60055481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b15801561052e57600080fd5b505af4158015610542573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105669190612e71565b6105708133611c08565b6105955760405162461bcd60e51b815260040161058c90613487565b60405180910390fd5b60008481526007602052604081206002908101546105b3919061387b565b90506105f78560006040518060400160405280600781526020017f536c61736865640000000000000000000000000000000000000000000000000081525086612639565b60018111156106a05760085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061063290879085906004016130e3565b602060405180830381600087803b15801561064c57600080fd5b505af1158015610660573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106849190612e3f565b6106a05760405162461bcd60e51b815260040161058c906131b8565b5050505050565b60005460ff166106c95760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561070d57600080fd5b505af4158015610721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107459190612e71565b61074f8133611c08565b61076b5760405162461bcd60e51b815260040161058c90613487565b600b60009054906101000a90046001600160a01b03166001600160a01b031663757991a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b957600080fd5b505afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190612e71565b6000928352600760205260409092206004019190915550565b6000600a83101561081c575080610961565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1cc45006040518163ffffffff1660e01b815260040160206040518083038186803b15801561086257600080fd5b505af4158015610876573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089a9190612e71565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a86f5a3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108de57600080fd5b505af41580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190612e71565b610920908561389b565b61092b6001876138ba565b610935919061389b565b61093f919061387b565b90508281101561095b5761095381846138ba565b915050610961565b60009150505b92915050565b60055490565b60045490565b6000908152600160208190526040909120015490565b60005460ff166109ab5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b1580156109ef57600080fd5b505afa158015610a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a279190612e71565b8114610a455760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8957600080fd5b505af4158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac1919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1257600080fd5b505afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190612e71565b8114610b685760405162461bcd60e51b815260040161058c906135c0565b3360009081526006602090815260408083205480845260079092529091208054610ba45760405162461bcd60e51b815260040161058c906134be565b6000816002015411610bc85760405162461bcd60e51b815260040161058c9061324c565b84816006015411158015610bdf5750600681015415155b610bfb5760405162461bcd60e51b815260040161058c90613450565b6000816006018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c4957600080fd5b505af4158015610c5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c819190612e71565b610c8b9086613863565b6007820155600281015460405183917f0cfbc484edc798d2584502ca0d64e7e9514b8dd091d96a2a5b4deb58478da19e91610ccb91899181904290613797565b60405180910390a25050505050565b60005460ff16610cfc5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905183926001600160a01b03169163757991a8916004808301926020929190829003018186803b158015610d4057600080fd5b505afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d789190612e71565b8114610d965760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610dda57600080fd5b505af4158015610dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e12919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6357600080fd5b505afa158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9b9190612e71565b8114610eb95760405162461bcd60e51b815260040161058c906135c0565b3360009081526006602090815260408083205480845260079092529091208054610ef55760405162461bcd60e51b815260040161058c90613419565b600681015415610f175760405162461bcd60e51b815260040161058c90613589565b84816007015411158015610f2e5750600781015415155b610f4a5760405162461bcd60e51b815260040161058c90613181565b806005015473__$cb76aa8097a3c0beaf107a478aa049bae7$__632628490f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9357600080fd5b505af4158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb9190612e71565b8260070154610fda91906138ba565b1015610ff85760405162461bcd60e51b815260040161058c90613385565b6009546040517f7164f0d60000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690637164f0d6906110439088908690600401613789565b60206040518083038186803b15801561105b57600080fd5b505afa15801561106f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110939190612e71565b156110b05760405162461bcd60e51b815260040161058c9061352c565b60008160020154116110d45760405162461bcd60e51b815260040161058c906135f7565b6000828152600760205260408082206002018054908390559051909184917f0a6fecee2c95fc6b4c7f291e3435a3a832bcd700c2a7ffdedd8c909d56dfa49f91611124918a919081904290613797565b60405180910390a260085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061115e90339085906004016130e3565b602060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b09190612e3f565b6111cc5760405162461bcd60e51b815260040161058c9061334e565b505050505050565b600b546001600160a01b031681565b6111f76111ef83610973565b6103a261268b565b6112135760405162461bcd60e51b815260040161058c90613124565b61121d828261268f565b5050565b61122961268b565b6001600160a01b0316816001600160a01b0316146112595760405162461bcd60e51b815260040161058c9061362e565b61121d8282612717565b6009546001600160a01b031681565b60005460ff166112945760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156112d857600080fd5b505af41580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113109190612e71565b61131a8133611c08565b6113365760405162461bcd60e51b815260040161058c90613487565b611340838361279c565b505050565b6001600160a01b031660009081526006602052604090205490565b60045481565b60035481565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b1580156113b057600080fd5b505af41580156113c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e89190612e71565b6113f28133611c08565b61140e5760405162461bcd60e51b815260040161058c90613487565b6002541561147b57600280546000858152600760205260408120909201546114369190613863565b905061147984826040518060400160405280600c81526020017f426c6f636b20526577617264000000000000000000000000000000000000000081525086612639565b505b6005805460009182905560405190917feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916114bc9186918591904290613797565b60405180910390a150505050565b60005460ff166114ec5760405162461bcd60e51b815260040161058c90613317565b600b5460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561153057600080fd5b505afa158015611544573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115689190612e71565b81146115865760405162461bcd60e51b815260040161058c906133e2565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115ca57600080fd5b505af41580156115de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611602919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561165357600080fd5b505afa158015611667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168b9190612e71565b81146116a95760405162461bcd60e51b815260040161058c906135c0565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ed57600080fd5b505af4158015611701573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611725919061309e565b60ff16600b60009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561177657600080fd5b505afa15801561178a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ae9190612e71565b14156117cc5760405162461bcd60e51b815260040161058c906134f5565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561181057600080fd5b505af4158015611824573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118489190612e71565b8310156118675760405162461bcd60e51b815260040161058c9061368b565b6008546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906323b872dd906118b4903390309088906004016130bf565b602060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190612e3f565b6119225760405162461bcd60e51b815260040161058c906132e0565b3360009081526006602090815260408083205480845260079092529091206002015481611ad157600354611957906001613863565b6003819055506040518061010001604052806003548152602001336001600160a01b03168152602001868152602001878152602001600081526020016000815260200173__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b1580156119de57600080fd5b505af41580156119f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a169190612e71565b611a209089613863565b8152600060209182018190526003805482526007808452604080842086518155868601516001820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039092169190911790558682015160028201556060870151818501556080870151600482015560a0870151600582015560c087015160068083019190915560e090970151920191909155905433835293909252208190559150611bac565b600082815260076020526040902060020154611aee908690613863565b600760008481526020019081526020016000206002018190555073__$cb76aa8097a3c0beaf107a478aa049bae7$__6326bf1c036040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4c57600080fd5b505af4158015611b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b849190612e71565b611b8e9087613863565b60008381526007602081905260408220600681019390935591909101555b817f52d3b6bf695a499d39fcdb47e3b450c09f2f6aa091ca8809cc51c00e705996cc8783600760008781526020019081526020016000206002015442604051611bf89493929190613797565b60405180910390a2505050505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60005460ff16611c555760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__639cec6f8a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c9957600080fd5b505af4158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd19190612e71565b611cdb8133611c08565b611cf75760405162461bcd60e51b815260040161058c90613487565b5060009182526007602052604090912060050155565b600081565b60035490565b6008546001600160a01b031681565b60066020526000908152604090205481565b611d456111ef83610973565b6112595760405162461bcd60e51b815260040161058c906131ef565b600a546001600160a01b031681565b611d78612c99565b506000908152600760208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a0820152600683015460c082015291015460e082015290565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__63b1a627816040518163ffffffff1660e01b815260040160206040518083038186803b158015611e3057600080fd5b505af4158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e689190612e71565b611e728133611c08565b611e8e5760405162461bcd60e51b815260040161058c90613487565b50600255565b600054610100900460ff1680611ead575060005460ff16155b611ec95760405162461bcd60e51b815260040161058c90613283565b600054610100900460ff16158015611ef4576000805460ff1961ff0019909116610100171660011790555b6000611f008133611c08565b611f1c5760405162461bcd60e51b815260040161058c90613487565b50600880546001600160a01b038088167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560098054878416908316179055600a8054868416908316179055600b80549285169290911691909117905580156106a0576000805461ff00191690555050505050565b60005460ff16611fb95760405162461bcd60e51b815260040161058c90613317565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6380638d426040518163ffffffff1660e01b815260040160206040518083038186803b158015611ffd57600080fd5b505af4158015612011573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120359190612e71565b61203f8133611c08565b61205b5760405162461bcd60e51b815260040161058c90613487565b60055461206757611340565b6000838152600760208181526040928390208351610100810185528154815260018201546001600160a01b0316928101929092526002810154938201939093526003830154606082015260048301546080820152600583015460a08201819052600684015460c0830152929091015460e0820152906120e681856138ba565b6001146120f4575050611340565b600a546040517f378ab9a90000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063378ab9a99061213e908590600401613107565b60006040518083038186803b15801561215657600080fd5b505afa15801561216a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121929190810190612e04565b600a546040517fd2a4669a0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063d2a4669a906121e1908690600401613107565b60006040518083038186803b1580156121f957600080fd5b505afa15801561220d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122359190810190612e04565b600a546040517ffae4425d0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063fae4425d90612284908790600401613107565b60006040518083038186803b15801561229c57600080fd5b505afa1580156122b0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122d89190810190612e04565b825190915015612596576000805b835181101561243d576009548751604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a91612324918b918790600401613823565b604080518083038186803b15801561233b57600080fd5b505afa15801561234f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123739190612ffb565b600001519050600086838151811061239b57634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008684815181106123c757634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008685815181106123f357634e487b7160e01b600052603260045260246000fd5b602002602001015190508284148061241357508184118061241357508084105b1561242657612423866001613863565b95505b505050508080612435906138d1565b9150506122e6565b506000835160055461244f919061389b565b826004548960400151612462919061389b565b61246c919061389b565b612476919061387b565b905080156125935760055460408801518110156124945760006124a6565b87604001516005546124a691906138ba565b60058190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd1916124df918d9185914290613797565b60405180910390a160008289604001516124f99190613863565b60045490915061250984826138ba565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612542918f9185914290613797565b60405180910390a161258f8a60000151836040518060400160405280600e81526020017f566f74696e6720526577617264730000000000000000000000000000000000008152508f612639565b5050505b50505b5050505050505050565b60076020819052600091825260409091208054600182015460028301546003840154600485015460058601546006870154969097015494966001600160a01b0390941695929491939092909188565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b60008481526007602052604090819020600201805490859055905185907fab9982d99de79485b3cd6d1e72c881fd0342f42f1cbc7d220d4f373b97c4f36390610ccb90849088908890889042906137b2565b3390565b6126998282611c08565b61121d5760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556126d361268b565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6127218282611c08565b1561121d5760008281526001602090815260408083206001600160a01b03851684529091529020805460ff1916905561275861268b565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6127a68282612b35565b60008281526007602052604080822060028101546005820154600a5493517f04c075690000000000000000000000000000000000000000000000000000000081529294919390926001600160a01b03909116906304c075699061280d908590600401613107565b60006040518083038186803b15801561282557600080fd5b505afa158015612839573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128619190810190612ef4565b606081015160808201518151929350909115612596576000805b8351811015612a21576009548854604051634673ffa560e11b81526000926001600160a01b031691638ce7ff4a916128b9918b918790600401613823565b604080518083038186803b1580156128d057600080fd5b505afa1580156128e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129089190612ffb565b600001519050600085838151811061293057634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085848151811061295c57634e487b7160e01b600052603260045260246000fd5b602002602001015190508183108061297357508083115b15612a0b5773__$cb76aa8097a3c0beaf107a478aa049bae7$__633002c9ac6040518163ffffffff1660e01b815260040160206040518083038186803b1580156129bc57600080fd5b505af41580156129d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f49190612e71565b6129fe908b61387b565b612a089086613863565b94505b5050508080612a19906138d1565b91505061287b565b508015612ada57858111612a355780612a37565b855b8754909150612a8690612a4a83896138ba565b6040518060400160405280600e81526020017f566f74696e672050656e616c74790000000000000000000000000000000000008152508b612639565b600454612a938282613863565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612acc918c9185914290613797565b60405180910390a150612b2a565b600554612ae78782613863565b60058190556040517feee26d3c1e406e24904d3748e49da85096c92ac1a6ad38f3fe8a404f85212dd191612b20918c9185914290613797565b60405180910390a1505b505050505050505050565b60008281526007602081815260408084208151610100810183528154815260018201546001600160a01b03169381019390935260028101549183019190915260038101546060830181905260048201546080840152600582015460a08401819052600683015460c0850152919093015460e083015290929110612bbc578160600151612bc2565b8160a001515b90506000612bd082856138ba565b60408401519091506000612be4838361080a565b905081811015612c9057612c338560000151826040518060400160405280601281526020017f496e61637469766974792050656e616c7479000000000000000000000000000081525089612639565b600454612c4082846138ba565b600454612c4d9190613863565b60048190556040517ff7157643fd549e213a0105625da6b3bf58c86068ccb954a4449e18bf9427bff491612c86918a9185914290613797565b60405180910390a1505b50505050505050565b6040518061010001604052806000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b80356001600160a01b03811681146104d957600080fd5b600082601f830112612d0e578081fd5b8151602067ffffffffffffffff821115612d2a57612d2a613902565b808202612d38828201613839565b838152828101908684018388018501891015612d52578687fd5b8693505b85841015612d74578051835260019390930192918401918401612d56565b50979650505050505050565b805180151581146104d957600080fd5b600060208284031215612da1578081fd5b612daa82612ce7565b9392505050565b60008060008060808587031215612dc6578283fd5b612dcf85612ce7565b9350612ddd60208601612ce7565b9250612deb60408601612ce7565b9150612df960608601612ce7565b905092959194509250565b600060208284031215612e15578081fd5b815167ffffffffffffffff811115612e2b578182fd5b612e3784828501612cfe565b949350505050565b600060208284031215612e50578081fd5b612daa82612d80565b600060208284031215612e6a578081fd5b5035919050565b600060208284031215612e82578081fd5b5051919050565b60008060408385031215612e9b578182fd5b82359150612eab60208401612ce7565b90509250929050565b600060208284031215612ec5578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612daa578182fd5b600060208284031215612f05578081fd5b815167ffffffffffffffff80821115612f1c578283fd5b8184019150610100808387031215612f32578384fd5b612f3b81613839565b905082518152602083015182811115612f52578485fd5b612f5e87828601612cfe565b602083015250604083015182811115612f75578485fd5b612f8187828601612cfe565b604083015250606083015182811115612f98578485fd5b612fa487828601612cfe565b606083015250608083015182811115612fbb578485fd5b612fc787828601612cfe565b60808301525060a083015160a082015260c083015160c0820152612fed60e08401612d80565b60e082015295945050505050565b60006040828403121561300c578081fd5b6040516040810181811067ffffffffffffffff8211171561302f5761302f613902565b604052825181526020928301519281019290925250919050565b60008060006060848603121561305d578283fd5b8335925061306d60208501612ce7565b9150604084013590509250925092565b6000806040838503121561308f578182fd5b50508035926020909101359150565b6000602082840312156130af578081fd5b815160ff81168114612daa578182fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160a01b0391909116815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252601a908201527f57697468647261772065706f6368206e6f742072656163686564000000000000604082015260600190565b60208082526019908201527f6661696c656420746f207472616e7366657220626f756e747900000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526011908201527f4e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b60208082526013908201527f736368207472616e73666572206661696c656400000000000000000000000000604082015260600190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b60208082526010908201527f636f756c646e74207472616e7366657200000000000000000000000000000000604082015260600190565b60208082526033908201527f50617274696369706174656420696e205769746864726177206c6f636b20706560408201527f72696f642c2043616e7420776974686472617700000000000000000000000000606082015260800190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b60208082526013908201527f7374616b657220646f65736e7420657869737400000000000000000000000000604082015260600190565b60208082526006908201527f6c6f636b65640000000000000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600d908201527f7374616b65722e6964203d203000000000000000000000000000000000000000604082015260600190565b6020808252600f908201527f496e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602a908201527f616c726561647920636f6d6d6974656420746869732065706f63682e2043616e60408201527f7420776974686472617700000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f446964206e6f7420756e7374616b650000000000000000000000000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b60208082526011908201527f4e6f6e706f736974697665205374616b65000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526031908201527f7374616b656420616d6f756e74206973206c657373207468616e206d696e696d60408201527f756d207374616b65207265717569726564000000000000000000000000000000606082015260800190565b600061010082019050825182526001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b9788526001600160a01b0396909616602088015260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b60008682526020868184015260a0604084015285518060a0850152825b818110156137eb5787810183015185820160c0015282016137cf565b818111156137fc578360c083870101525b5060608401959095525050608081019190915260c0601f909201601f191601019392505050565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561385b5761385b613902565b604052919050565b60008219821115613876576138766138ec565b500190565b60008261389657634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156138b5576138b56138ec565b500290565b6000828210156138cc576138cc6138ec565b500390565b60006000198214156138e5576138e56138ec565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea26469706673582212209779da24218b4aa51a652f10c3a909fbea6a3f7519c92af4f83f059efebadb0d64736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1579 - }, - { - "length": 20, - "start": 2058 - }, - { - "length": 20, - "start": 2399 - }, - { - "length": 20, - "start": 2523 - }, - { - "length": 20, - "start": 2950 - }, - { - "length": 20, - "start": 3398 - }, - { - "length": 20, - "start": 3799 - }, - { - "length": 20, - "start": 4240 - }, - { - "length": 20, - "start": 5077 - }, - { - "length": 20, - "start": 5293 - }, - { - "length": 20, - "start": 5831 - }, - { - "length": 20, - "start": 6122 - }, - { - "length": 20, - "start": 6413 - }, - { - "length": 20, - "start": 6875 - }, - { - "length": 20, - "start": 7241 - }, - { - "length": 20, - "start": 7574 - }, - { - "length": 20, - "start": 7981 - }, - { - "length": 20, - "start": 8442 - }, - { - "length": 20, - "start": 10937 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1260 - }, - { - "length": 20, - "start": 1739 - }, - { - "length": 20, - "start": 2080 - }, - { - "length": 20, - "start": 2204 - }, - { - "length": 20, - "start": 2631 - }, - { - "length": 20, - "start": 3079 - }, - { - "length": 20, - "start": 3480 - }, - { - "length": 20, - "start": 3921 - }, - { - "length": 20, - "start": 4758 - }, - { - "length": 20, - "start": 4974 - }, - { - "length": 20, - "start": 5512 - }, - { - "length": 20, - "start": 5803 - }, - { - "length": 20, - "start": 6094 - }, - { - "length": 20, - "start": 6556 - }, - { - "length": 20, - "start": 6922 - }, - { - "length": 20, - "start": 7255 - }, - { - "length": 20, - "start": 7662 - }, - { - "length": 20, - "start": 8123 - }, - { - "length": 20, - "start": 10618 - } - ] - } - } -} diff --git a/deployed/matic/abi/contracts/Core/StateManager.sol/StateManager.dbg.json b/deployed/matic/abi/contracts/Core/StateManager.sol/StateManager.dbg.json deleted file mode 100644 index dd030d18..00000000 --- a/deployed/matic/abi/contracts/Core/StateManager.sol/StateManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/StateManager.sol/StateManager.json b/deployed/matic/abi/contracts/Core/StateManager.sol/StateManager.json deleted file mode 100644 index 2d213087..00000000 --- a/deployed/matic/abi/contracts/Core/StateManager.sol/StateManager.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "StateManager", - "sourceName": "contracts/Core/StateManager.sol", - "abi": [ - { - "inputs": [], - "name": "getEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getState", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610339806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80631865c57d1461003b578063757991a814610059575b600080fd5b610043610061565b60405161005091906102a3565b60405180910390f35b6100436101fe565b60008073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100a857600080fd5b505af41580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e0919061028b565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561012457600080fd5b505af4158015610138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015c919061028b565b61016691906102ac565b61017090436102ac565b905073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101b657600080fd5b505af41580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee919061028b565b6101f890826102c0565b91505090565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561024457600080fd5b505af4158015610258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027c919061028b565b61028690436102ac565b905090565b60006020828403121561029c578081fd5b5051919050565b90815260200190565b6000826102bb576102bb6102d4565b500490565b6000826102cf576102cf6102d4565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea264697066735822122088362cf02b1c548688eb624d977dece4788e6d603b42f08883f403ee1437eab464736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80631865c57d1461003b578063757991a814610059575b600080fd5b610043610061565b60405161005091906102a3565b60405180910390f35b6100436101fe565b60008073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100a857600080fd5b505af41580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e0919061028b565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561012457600080fd5b505af4158015610138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015c919061028b565b61016691906102ac565b61017090436102ac565b905073__$cb76aa8097a3c0beaf107a478aa049bae7$__63f4f29c5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101b657600080fd5b505af41580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee919061028b565b6101f890826102c0565b91505090565b600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561024457600080fd5b505af4158015610258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027c919061028b565b61028690436102ac565b905090565b60006020828403121561029c578081fd5b5051919050565b90815260200190565b6000826102bb576102bb6102d4565b500490565b6000826102cf576102cf6102d4565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea264697066735822122088362cf02b1c548688eb624d977dece4788e6d603b42f08883f403ee1437eab464736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 134 - }, - { - "length": 20, - "start": 258 - }, - { - "length": 20, - "start": 404 - }, - { - "length": 20, - "start": 546 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 102 - }, - { - "length": 20, - "start": 226 - }, - { - "length": 20, - "start": 372 - }, - { - "length": 20, - "start": 514 - } - ] - } - } -} diff --git a/deployed/matic/abi/contracts/Core/VoteManager.sol/VoteManager.dbg.json b/deployed/matic/abi/contracts/Core/VoteManager.sol/VoteManager.dbg.json deleted file mode 100644 index dd030d18..00000000 --- a/deployed/matic/abi/contracts/Core/VoteManager.sol/VoteManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/VoteManager.sol/VoteManager.json b/deployed/matic/abi/contracts/Core/VoteManager.sol/VoteManager.json deleted file mode 100644 index feb3c502..00000000 --- a/deployed/matic/abi/contracts/Core/VoteManager.sol/VoteManager.json +++ /dev/null @@ -1,701 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "VoteManager", - "sourceName": "contracts/Core/VoteManager.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Committed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Revealed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "blockManager", - "outputs": [ - { - "internalType": "contract IBlockManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - } - ], - "name": "commit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "commitments", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "getCommitment", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getVote", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "internalType": "struct Structs.Vote", - "name": "vote", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getVoteWeight", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "stakeManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "stateManagerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "blockManagerAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "root", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes32[][]", - "name": "proofs", - "type": "bytes32[][]" - }, - { - "internalType": "bytes32", - "name": "secret", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "stakerAddress", - "type": "address" - } - ], - "name": "reveal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeManager", - "outputs": [ - { - "internalType": "contract IStakeManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stateManager", - "outputs": [ - { - "internalType": "contract IStateManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "voteWeights", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "votes", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506200001f60003362000025565b620000f1565b62000031828262000035565b5050565b620000418282620000c2565b620000315760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556200007e620000ed565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b6123fb80620001016000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c80638fd5ff00116100d8578063c0c53b8b1161008c578063d9169b3211610066578063d9169b321461031c578063f2f0387714610324578063f322bd7d146102b557610182565b8063c0c53b8b146102e3578063d13e2e60146102f6578063d547741f1461030957610182565b80639c66556f116100bd5780639c66556f146102b5578063a217fddf146102c8578063a6a145d9146102d057610182565b80638fd5ff001461028f57806391d14854146102a257610182565b80632f2ff15d1161013a5780637542ff95116101145780637542ff95146102545780638a757ecc1461025c5780638ce7ff4a1461026f57610182565b80632f2ff15d1461021b57806336568abe1461022e5780637164f0d61461024157610182565b8063248a9ca31161016b578063248a9ca3146101c5578063283e2905146101e55780632e716fb11461020657610182565b806301ffc9a714610187578063125f68f1146101b0575b600080fd5b61019a610195366004611a94565b610337565b6040516101a79190611e23565b60405180910390f35b6101c36101be366004611cb1565b610395565b005b6101d86101d3366004611a4d565b610cc8565b6040516101a79190611df0565b6101f86101f3366004611d96565b610cde565b6040516101a7929190611de2565b61020e610d08565b6040516101a79190611e0f565b6101c3610229366004611a65565b610d17565b6101c361023c366004611a65565b610d55565b6101d861024f366004611c90565b610d97565b61020e610db4565b6101d861026a366004611c90565b610dc3565b61028261027d366004611d96565b610de0565b6040516101a79190612234565b6101d861029d366004611d96565b610e26565b61019a6102b0366004611a65565b610e49565b6101d86102c3366004611d96565b610e74565b6101d8610e98565b6101d86102de366004611c90565b610e9d565b6101c36102f1366004611a03565b610eba565b6101d8610304366004611c90565b610fb0565b6101c3610317366004611a65565b610fcd565b61020e610ff5565b6101c3610332366004611c90565b611004565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061038d575061038d82611694565b90505b919050565b60005460ff166103c05760405162461bcd60e51b81526004016103b79061208f565b60405180910390fd5b60075460408051630eaf323560e31b8152905188926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561040457600080fd5b505afa158015610418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043c9190611c78565b811461045a5760405162461bcd60e51b81526004016103b7906120c6565b600654604051636022a48560e01b81526000916001600160a01b031690636022a4859061048b908690600401611e0f565b60206040518083038186803b1580156104a357600080fd5b505afa1580156104b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104db9190611c78565b9050600081116104fd5760405162461bcd60e51b81526004016103b790611ffb565b6006546040516371e4cc7f60e11b81526000916001600160a01b03169063e3c998fe9061052e908590600401611df0565b6101006040518083038186803b15801561054757600080fd5b505afa15801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f9190611be2565b60008a81526002602090815260408083208684529091529020549091506105b85760405162461bcd60e51b81526004016103b7906120fd565b60008981526002602090815260408083208584528252918290205491516105e5918c918c918a9101611df9565b60405160208183030381529060405280519060200120146106185760405162461bcd60e51b81526004016103b790611e8b565b336001600160a01b0385161415610afe5773__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561066d57600080fd5b505af4158015610681573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a59190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f657600080fd5b505afa15801561070a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072e9190611c78565b1461074b5760405162461bcd60e51b81526004016103b790611f30565b600081604001511161076f5760405162461bcd60e51b81526004016103b790611ec2565b60005b875181101561099e576107fa87828151811061079e57634e487b7160e01b600052603260045260246000fd5b60200260200101518a8a84815181106107c757634e487b7160e01b600052603260045260246000fd5b60200260200101516040516020016107df9190611df0565b604051602081830303815290604052805190602001206116de565b6108165760405162461bcd60e51b81526004016103b790611ef9565b604051806040016040528089838151811061084157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101518252604080860180519383019390935260008e81526003835281812088825283528181208682528352818120855181559483015160019095019490945591518d8452600582528284208585529091529082208a51919290918b90859081106108c557634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020546108e69190612337565b60008b815260056020908152604080832085845290915281208a519091908b908590811061092457634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020819055508160400151600460008c81526020019081526020016000206000838152602001908152602001600020546109729190612337565b60008b81526004602090815260408083208584529091529020558061099681612366565b915050610772565b506006546040517ffabb98900000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063fabb9890906109ea9085908d90600401611de2565b600060405180830381600087803b158015610a0457600080fd5b505af1158015610a18573d6000803e3d6000fd5b50505060008a81526002602090815260408083208684529091528082209190915560065490517f9864f70a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169150639864f70a90610a849085908d90600401611de2565b600060405180830381600087803b158015610a9e57600080fd5b505af1158015610ab2573d6000803e3d6000fd5b505050507f17f4759c403dfc3fa26ab75ce82d3d090a0bdbfe9977d8ee87445d6dd83c68a1898383604001518a42604051610af1959493929190612285565b60405180910390a1610cbd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b4257600080fd5b505af4158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a9190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bcb57600080fd5b505afa158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c78565b14610c205760405162461bcd60e51b81526004016103b790611fc4565b60008981526002602090815260408083208584529091528082209190915560065490517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630f91ce1990610c8a90859033908e9060040161224b565b600060405180830381600087803b158015610ca457600080fd5b505af1158015610cb8573d6000803e3d6000fd5b505050505b505050505050505050565b6000908152600160208190526040909120015490565b60036020908152600093845260408085208252928452828420905282529020805460019091015482565b6007546001600160a01b031681565b610d2b610d2383610cc8565b6102b0611799565b610d475760405162461bcd60e51b81526004016103b790611e2e565b610d51828261179d565b5050565b610d5d611799565b6001600160a01b0316816001600160a01b031614610d8d5760405162461bcd60e51b81526004016103b7906121a0565b610d518282611825565b600091825260026020908152604080842092845291905290205490565b6006546001600160a01b031681565b600460209081526000928352604080842090915290825290205481565b610de86118aa565b506000838152600360209081526040808320858452825280832084845282529182902082518084019093528054835260010154908201529392505050565b600560209081526000938452604080852082529284528284209052825290205481565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60009283526005602090815260408085209385529281528284209184525290205490565b600081565b600091825260046020908152604080842092845291905290205490565b600054610100900460ff1680610ed3575060005460ff16155b610eef5760405162461bcd60e51b81526004016103b790612032565b600054610100900460ff16158015610f1a576000805460ff1961ff0019909116610100171660011790555b6000610f268133610e49565b610f425760405162461bcd60e51b81526004016103b790612132565b50600680546001600160a01b038087167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556007805486841690831617905560088054928516929091169190911790558015610faa576000805461ff00191690555b50505050565b600260209081526000928352604080842090915290825290205481565b610fd9610d2383610cc8565b610d8d5760405162461bcd60e51b81526004016103b790611f67565b6008546001600160a01b031681565b60005460ff166110265760405162461bcd60e51b81526004016103b79061208f565b60075460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a29190611c78565b81146110c05760405162461bcd60e51b81526004016103b7906120c6565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561110457600080fd5b505af4158015611118573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113c9190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118d57600080fd5b505afa1580156111a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c59190611c78565b81146111e35760405162461bcd60e51b81526004016103b790612169565b600654604051636022a48560e01b81526000916001600160a01b031690636022a48590611214903390600401611e0f565b60206040518083038186803b15801561122c57600080fd5b505afa158015611240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112649190611c78565b60008681526002602090815260408083208484529091529020549091501561129e5760405162461bcd60e51b81526004016103b7906121fd565b6006546040516371e4cc7f60e11b81526000916001600160a01b03169063e3c998fe906112cf908590600401611df0565b6101006040518083038186803b1580156112e857600080fd5b505afa1580156112fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113209190611be2565b6008549091506001600160a01b03166304c0756961133f60018961234f565b6040518263ffffffff1660e01b815260040161135b9190611df0565b60006040518083038186803b15801561137357600080fd5b505afa158015611387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113af9190810190611adb565b5115801561144557506008546000906001600160a01b031663e38c7c426113d760018a61234f565b6040518263ffffffff1660e01b81526004016113f39190611df0565b60206040518083038186803b15801561140b57600080fd5b505afa15801561141f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114439190611c78565b115b156114b357600860009054906101000a90046001600160a01b03166001600160a01b0316639b87f6446040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561149a57600080fd5b505af11580156114ae573d6000803e3d6000fd5b505050505b6006546040517f54eae15e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906354eae15e906114fe9085908a90600401611de2565b600060405180830381600087803b15801561151857600080fd5b505af115801561152c573d6000803e3d6000fd5b5050505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157457600080fd5b505af4158015611588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ac9190611c78565b81604001511061168c5760008681526002602090815260408083208584529091529081902086905560065490517f188dc83b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063188dc83b9061161c908590600401611df0565b600060405180830381600087803b15801561163657600080fd5b505af115801561164a573d6000803e3d6000fd5b505050507f6ad04b07dbe80ee3971460ebc13808fb6dd0fa67fbf7d7ebc4de85811d2c992886838742604051611683949392919061226a565b60405180910390a15b505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600081815b855181101561178e57600086828151811061170e57634e487b7160e01b600052603260045260246000fd5b6020026020010151905080831161174f578281604051602001611732929190611de2565b60405160208183030381529060405280519060200120925061177b565b8083604051602001611762929190611de2565b6040516020818303038152906040528051906020012092505b508061178681612366565b9150506116e3565b509092149392505050565b3390565b6117a78282610e49565b610d515760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556117e1611799565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61182f8282610e49565b15610d515760008281526001602090815260408083206001600160a01b03851684529091529020805460ff19169055611866611799565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806040016040528060008152602001600081525090565b8035610390816123ad565b8051610390816123ad565b600082601f8301126118ea578081fd5b813560206118ff6118fa83612313565b6122e9565b82815281810190858301855b8581101561198c578135880189603f820112611925578788fd5b8581013560406119376118fa83612313565b828152888101908483018a8502860184018f1015611953578c8dfd5b8c95505b84861015611975578035835260019590950194918a01918a01611957565b50885250505093850193509084019060010161190b565b5090979650505050505050565b600082601f8301126119a9578081fd5b815160206119b96118fa83612313565b82815281810190858301838502870184018810156119d5578586fd5b855b8581101561198c578151845292840192908401906001016119d7565b8051801515811461039057600080fd5b600080600060608486031215611a17578283fd5b8335611a22816123ad565b92506020840135611a32816123ad565b91506040840135611a42816123ad565b809150509250925092565b600060208284031215611a5e578081fd5b5035919050565b60008060408385031215611a77578182fd5b823591506020830135611a89816123ad565b809150509250929050565b600060208284031215611aa5578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611ad4578182fd5b9392505050565b600060208284031215611aec578081fd5b815167ffffffffffffffff80821115611b03578283fd5b8184019150610100808387031215611b19578384fd5b611b22816122e9565b905082518152602083015182811115611b39578485fd5b611b4587828601611999565b602083015250604083015182811115611b5c578485fd5b611b6887828601611999565b604083015250606083015182811115611b7f578485fd5b611b8b87828601611999565b606083015250608083015182811115611ba2578485fd5b611bae87828601611999565b60808301525060a083015160a082015260c083015160c0820152611bd460e084016119f3565b60e082015295945050505050565b6000610100808385031215611bf5578182fd5b6040519081019067ffffffffffffffff82118183101715611c1857611c18612397565b8160405283518152611c2c602085016118cf565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600060208284031215611c89578081fd5b5051919050565b60008060408385031215611ca2578182fd5b50508035926020909101359150565b60008060008060008060c08789031215611cc9578384fd5b863595506020808801359550604088013567ffffffffffffffff80821115611cef578687fd5b818a0191508a601f830112611d02578687fd5b8135611d106118fa82612313565b81815284810190848601868402860187018f1015611d2c578a8bfd5b8a95505b83861015611d4e578035835260019590950194918601918601611d30565b509850505060608a0135925080831115611d66578485fd5b5050611d7489828a016118da565b93505060808701359150611d8a60a088016118c4565b90509295509295509295565b600080600060608486031215611daa578081fd5b505081359360208301359350604090920135919050565b600060208284031215611dd2578081fd5b815160ff81168114611ad4578182fd5b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b6001600160a01b0391909116815260200190565b901515815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526016908201527f696e636f7272656374207365637265742f76616c756500000000000000000000604082015260600190565b60208082526011908201527f6e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526014908201527f696e76616c6964206d65726b6c652070726f6f66000000000000000000000000604082015260600190565b60208082526010908201527f4e6f742072657665616c20737461746500000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526010908201527f4e6f7420636f6d6d697420737461746500000000000000000000000000000000604082015260600190565b6020808252601d908201527f537472756374732e5374616b657220646f6573206e6f74206578697374000000604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252818101527f6e6f7420636f6d6d69746564206f7220616c72656164792072657665616c6564604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526010908201527f616c726561647920636f6d6d6974656400000000000000000000000000000000604082015260600190565b815181526020918201519181019190915260400190565b9283526001600160a01b03919091166020830152604082015260600190565b93845260208401929092526040830152606082015260800190565b600060a082018783526020878185015286604085015260a0606085015281865180845260c0860191508288019350845b818110156122d1578451835293830193918301916001016122b5565b50508093505050508260808301529695505050505050565b60405181810167ffffffffffffffff8111828210171561230b5761230b612397565b604052919050565b600067ffffffffffffffff82111561232d5761232d612397565b5060209081020190565b6000821982111561234a5761234a612381565b500190565b60008282101561236157612361612381565b500390565b600060001982141561237a5761237a612381565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146123c257600080fd5b5056fea26469706673582212204d565dfa1b4e01de152c151ba2ae1be08e4d0e893e19c9fa3b50d37272538c2764736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101825760003560e01c80638fd5ff00116100d8578063c0c53b8b1161008c578063d9169b3211610066578063d9169b321461031c578063f2f0387714610324578063f322bd7d146102b557610182565b8063c0c53b8b146102e3578063d13e2e60146102f6578063d547741f1461030957610182565b80639c66556f116100bd5780639c66556f146102b5578063a217fddf146102c8578063a6a145d9146102d057610182565b80638fd5ff001461028f57806391d14854146102a257610182565b80632f2ff15d1161013a5780637542ff95116101145780637542ff95146102545780638a757ecc1461025c5780638ce7ff4a1461026f57610182565b80632f2ff15d1461021b57806336568abe1461022e5780637164f0d61461024157610182565b8063248a9ca31161016b578063248a9ca3146101c5578063283e2905146101e55780632e716fb11461020657610182565b806301ffc9a714610187578063125f68f1146101b0575b600080fd5b61019a610195366004611a94565b610337565b6040516101a79190611e23565b60405180910390f35b6101c36101be366004611cb1565b610395565b005b6101d86101d3366004611a4d565b610cc8565b6040516101a79190611df0565b6101f86101f3366004611d96565b610cde565b6040516101a7929190611de2565b61020e610d08565b6040516101a79190611e0f565b6101c3610229366004611a65565b610d17565b6101c361023c366004611a65565b610d55565b6101d861024f366004611c90565b610d97565b61020e610db4565b6101d861026a366004611c90565b610dc3565b61028261027d366004611d96565b610de0565b6040516101a79190612234565b6101d861029d366004611d96565b610e26565b61019a6102b0366004611a65565b610e49565b6101d86102c3366004611d96565b610e74565b6101d8610e98565b6101d86102de366004611c90565b610e9d565b6101c36102f1366004611a03565b610eba565b6101d8610304366004611c90565b610fb0565b6101c3610317366004611a65565b610fcd565b61020e610ff5565b6101c3610332366004611c90565b611004565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061038d575061038d82611694565b90505b919050565b60005460ff166103c05760405162461bcd60e51b81526004016103b79061208f565b60405180910390fd5b60075460408051630eaf323560e31b8152905188926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561040457600080fd5b505afa158015610418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043c9190611c78565b811461045a5760405162461bcd60e51b81526004016103b7906120c6565b600654604051636022a48560e01b81526000916001600160a01b031690636022a4859061048b908690600401611e0f565b60206040518083038186803b1580156104a357600080fd5b505afa1580156104b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104db9190611c78565b9050600081116104fd5760405162461bcd60e51b81526004016103b790611ffb565b6006546040516371e4cc7f60e11b81526000916001600160a01b03169063e3c998fe9061052e908590600401611df0565b6101006040518083038186803b15801561054757600080fd5b505afa15801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f9190611be2565b60008a81526002602090815260408083208684529091529020549091506105b85760405162461bcd60e51b81526004016103b7906120fd565b60008981526002602090815260408083208584528252918290205491516105e5918c918c918a9101611df9565b60405160208183030381529060405280519060200120146106185760405162461bcd60e51b81526004016103b790611e8b565b336001600160a01b0385161415610afe5773__$cb76aa8097a3c0beaf107a478aa049bae7$__63a475b5dd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561066d57600080fd5b505af4158015610681573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a59190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f657600080fd5b505afa15801561070a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072e9190611c78565b1461074b5760405162461bcd60e51b81526004016103b790611f30565b600081604001511161076f5760405162461bcd60e51b81526004016103b790611ec2565b60005b875181101561099e576107fa87828151811061079e57634e487b7160e01b600052603260045260246000fd5b60200260200101518a8a84815181106107c757634e487b7160e01b600052603260045260246000fd5b60200260200101516040516020016107df9190611df0565b604051602081830303815290604052805190602001206116de565b6108165760405162461bcd60e51b81526004016103b790611ef9565b604051806040016040528089838151811061084157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101518252604080860180519383019390935260008e81526003835281812088825283528181208682528352818120855181559483015160019095019490945591518d8452600582528284208585529091529082208a51919290918b90859081106108c557634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020546108e69190612337565b60008b815260056020908152604080832085845290915281208a519091908b908590811061092457634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020819055508160400151600460008c81526020019081526020016000206000838152602001908152602001600020546109729190612337565b60008b81526004602090815260408083208584529091529020558061099681612366565b915050610772565b506006546040517ffabb98900000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063fabb9890906109ea9085908d90600401611de2565b600060405180830381600087803b158015610a0457600080fd5b505af1158015610a18573d6000803e3d6000fd5b50505060008a81526002602090815260408083208684529091528082209190915560065490517f9864f70a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169150639864f70a90610a849085908d90600401611de2565b600060405180830381600087803b158015610a9e57600080fd5b505af1158015610ab2573d6000803e3d6000fd5b505050507f17f4759c403dfc3fa26ab75ce82d3d090a0bdbfe9977d8ee87445d6dd83c68a1898383604001518a42604051610af1959493929190612285565b60405180910390a1610cbd565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b4257600080fd5b505af4158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a9190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bcb57600080fd5b505afa158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c78565b14610c205760405162461bcd60e51b81526004016103b790611fc4565b60008981526002602090815260408083208584529091528082209190915560065490517f0f91ce190000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630f91ce1990610c8a90859033908e9060040161224b565b600060405180830381600087803b158015610ca457600080fd5b505af1158015610cb8573d6000803e3d6000fd5b505050505b505050505050505050565b6000908152600160208190526040909120015490565b60036020908152600093845260408085208252928452828420905282529020805460019091015482565b6007546001600160a01b031681565b610d2b610d2383610cc8565b6102b0611799565b610d475760405162461bcd60e51b81526004016103b790611e2e565b610d51828261179d565b5050565b610d5d611799565b6001600160a01b0316816001600160a01b031614610d8d5760405162461bcd60e51b81526004016103b7906121a0565b610d518282611825565b600091825260026020908152604080842092845291905290205490565b6006546001600160a01b031681565b600460209081526000928352604080842090915290825290205481565b610de86118aa565b506000838152600360209081526040808320858452825280832084845282529182902082518084019093528054835260010154908201529392505050565b600560209081526000938452604080852082529284528284209052825290205481565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60009283526005602090815260408085209385529281528284209184525290205490565b600081565b600091825260046020908152604080842092845291905290205490565b600054610100900460ff1680610ed3575060005460ff16155b610eef5760405162461bcd60e51b81526004016103b790612032565b600054610100900460ff16158015610f1a576000805460ff1961ff0019909116610100171660011790555b6000610f268133610e49565b610f425760405162461bcd60e51b81526004016103b790612132565b50600680546001600160a01b038087167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556007805486841690831617905560088054928516929091169190911790558015610faa576000805461ff00191690555b50505050565b600260209081526000928352604080842090915290825290205481565b610fd9610d2383610cc8565b610d8d5760405162461bcd60e51b81526004016103b790611f67565b6008546001600160a01b031681565b60005460ff166110265760405162461bcd60e51b81526004016103b79061208f565b60075460408051630eaf323560e31b8152905184926001600160a01b03169163757991a8916004808301926020929190829003018186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a29190611c78565b81146110c05760405162461bcd60e51b81526004016103b7906120c6565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__633c7a3aff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561110457600080fd5b505af4158015611118573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113c9190611dc1565b60ff16600760009054906101000a90046001600160a01b03166001600160a01b0316631865c57d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118d57600080fd5b505afa1580156111a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c59190611c78565b81146111e35760405162461bcd60e51b81526004016103b790612169565b600654604051636022a48560e01b81526000916001600160a01b031690636022a48590611214903390600401611e0f565b60206040518083038186803b15801561122c57600080fd5b505afa158015611240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112649190611c78565b60008681526002602090815260408083208484529091529020549091501561129e5760405162461bcd60e51b81526004016103b7906121fd565b6006546040516371e4cc7f60e11b81526000916001600160a01b03169063e3c998fe906112cf908590600401611df0565b6101006040518083038186803b1580156112e857600080fd5b505afa1580156112fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113209190611be2565b6008549091506001600160a01b03166304c0756961133f60018961234f565b6040518263ffffffff1660e01b815260040161135b9190611df0565b60006040518083038186803b15801561137357600080fd5b505afa158015611387573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113af9190810190611adb565b5115801561144557506008546000906001600160a01b031663e38c7c426113d760018a61234f565b6040518263ffffffff1660e01b81526004016113f39190611df0565b60206040518083038186803b15801561140b57600080fd5b505afa15801561141f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114439190611c78565b115b156114b357600860009054906101000a90046001600160a01b03166001600160a01b0316639b87f6446040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561149a57600080fd5b505af11580156114ae573d6000803e3d6000fd5b505050505b6006546040517f54eae15e0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906354eae15e906114fe9085908a90600401611de2565b600060405180830381600087803b15801561151857600080fd5b505af115801561152c573d6000803e3d6000fd5b5050505073__$cb76aa8097a3c0beaf107a478aa049bae7$__63375b3c0a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157457600080fd5b505af4158015611588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ac9190611c78565b81604001511061168c5760008681526002602090815260408083208584529091529081902086905560065490517f188dc83b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063188dc83b9061161c908590600401611df0565b600060405180830381600087803b15801561163657600080fd5b505af115801561164a573d6000803e3d6000fd5b505050507f6ad04b07dbe80ee3971460ebc13808fb6dd0fa67fbf7d7ebc4de85811d2c992886838742604051611683949392919061226a565b60405180910390a15b505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b600081815b855181101561178e57600086828151811061170e57634e487b7160e01b600052603260045260246000fd5b6020026020010151905080831161174f578281604051602001611732929190611de2565b60405160208183030381529060405280519060200120925061177b565b8083604051602001611762929190611de2565b6040516020818303038152906040528051906020012092505b508061178681612366565b9150506116e3565b509092149392505050565b3390565b6117a78282610e49565b610d515760008281526001602081815260408084206001600160a01b0386168552909152909120805460ff191690911790556117e1611799565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61182f8282610e49565b15610d515760008281526001602090815260408083206001600160a01b03851684529091529020805460ff19169055611866611799565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b604051806040016040528060008152602001600081525090565b8035610390816123ad565b8051610390816123ad565b600082601f8301126118ea578081fd5b813560206118ff6118fa83612313565b6122e9565b82815281810190858301855b8581101561198c578135880189603f820112611925578788fd5b8581013560406119376118fa83612313565b828152888101908483018a8502860184018f1015611953578c8dfd5b8c95505b84861015611975578035835260019590950194918a01918a01611957565b50885250505093850193509084019060010161190b565b5090979650505050505050565b600082601f8301126119a9578081fd5b815160206119b96118fa83612313565b82815281810190858301838502870184018810156119d5578586fd5b855b8581101561198c578151845292840192908401906001016119d7565b8051801515811461039057600080fd5b600080600060608486031215611a17578283fd5b8335611a22816123ad565b92506020840135611a32816123ad565b91506040840135611a42816123ad565b809150509250925092565b600060208284031215611a5e578081fd5b5035919050565b60008060408385031215611a77578182fd5b823591506020830135611a89816123ad565b809150509250929050565b600060208284031215611aa5578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611ad4578182fd5b9392505050565b600060208284031215611aec578081fd5b815167ffffffffffffffff80821115611b03578283fd5b8184019150610100808387031215611b19578384fd5b611b22816122e9565b905082518152602083015182811115611b39578485fd5b611b4587828601611999565b602083015250604083015182811115611b5c578485fd5b611b6887828601611999565b604083015250606083015182811115611b7f578485fd5b611b8b87828601611999565b606083015250608083015182811115611ba2578485fd5b611bae87828601611999565b60808301525060a083015160a082015260c083015160c0820152611bd460e084016119f3565b60e082015295945050505050565b6000610100808385031215611bf5578182fd5b6040519081019067ffffffffffffffff82118183101715611c1857611c18612397565b8160405283518152611c2c602085016118cf565b602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b600060208284031215611c89578081fd5b5051919050565b60008060408385031215611ca2578182fd5b50508035926020909101359150565b60008060008060008060c08789031215611cc9578384fd5b863595506020808801359550604088013567ffffffffffffffff80821115611cef578687fd5b818a0191508a601f830112611d02578687fd5b8135611d106118fa82612313565b81815284810190848601868402860187018f1015611d2c578a8bfd5b8a95505b83861015611d4e578035835260019590950194918601918601611d30565b509850505060608a0135925080831115611d66578485fd5b5050611d7489828a016118da565b93505060808701359150611d8a60a088016118c4565b90509295509295509295565b600080600060608486031215611daa578081fd5b505081359360208301359350604090920135919050565b600060208284031215611dd2578081fd5b815160ff81168114611ad4578182fd5b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b6001600160a01b0391909116815260200190565b901515815260200190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526016908201527f696e636f7272656374207365637265742f76616c756500000000000000000000604082015260600190565b60208082526011908201527f6e6f6e706f736974697665207374616b65000000000000000000000000000000604082015260600190565b60208082526014908201527f696e76616c6964206d65726b6c652070726f6f66000000000000000000000000604082015260600190565b60208082526010908201527f4e6f742072657665616c20737461746500000000000000000000000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526010908201527f4e6f7420636f6d6d697420737461746500000000000000000000000000000000604082015260600190565b6020808252601d908201527f537472756374732e5374616b657220646f6573206e6f74206578697374000000604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f436f6e74726163742073686f756c6420626520696e697469616c697a65640000604082015260600190565b6020808252600f908201527f696e636f72726563742065706f63680000000000000000000000000000000000604082015260600190565b6020808252818101527f6e6f7420636f6d6d69746564206f7220616c72656164792072657665616c6564604082015260600190565b6020808252601a908201527f41434c3a2073656e646572206e6f7420617574686f72697a6564000000000000604082015260600190565b6020808252600f908201527f696e636f72726563742073746174650000000000000000000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b60208082526010908201527f616c726561647920636f6d6d6974656400000000000000000000000000000000604082015260600190565b815181526020918201519181019190915260400190565b9283526001600160a01b03919091166020830152604082015260600190565b93845260208401929092526040830152606082015260800190565b600060a082018783526020878185015286604085015260a0606085015281865180845260c0860191508288019350845b818110156122d1578451835293830193918301916001016122b5565b50508093505050508260808301529695505050505050565b60405181810167ffffffffffffffff8111828210171561230b5761230b612397565b604052919050565b600067ffffffffffffffff82111561232d5761232d612397565b5060209081020190565b6000821982111561234a5761234a612381565b500190565b60008282101561236157612361612381565b500390565b600060001982141561237a5761237a612381565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146123c257600080fd5b5056fea26469706673582212204d565dfa1b4e01de152c151ba2ae1be08e4d0e893e19c9fa3b50d37272538c2764736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1836 - }, - { - "length": 20, - "start": 3073 - }, - { - "length": 20, - "start": 4547 - }, - { - "length": 20, - "start": 5683 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 1579 - }, - { - "length": 20, - "start": 2816 - }, - { - "length": 20, - "start": 4290 - }, - { - "length": 20, - "start": 5426 - } - ] - } - } -} diff --git a/deployed/matic/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.dbg.json b/deployed/matic/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.json b/deployed/matic/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.json deleted file mode 100644 index 46e6c16a..00000000 --- a/deployed/matic/abi/contracts/Core/interface/IBlockManager.sol/IBlockManager.json +++ /dev/null @@ -1,281 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IBlockManager", - "sourceName": "contracts/Core/interface/IBlockManager.sol", - "abi": [ - { - "inputs": [], - "name": "confirmBlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlock", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "internalType": "struct Structs.Block", - "name": "_block", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getHigherCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_higherCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getLowerCutoffs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_lowerCutoffs", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "getNumProposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposedBlock", - "type": "uint256" - } - ], - "name": "getProposedBlockMedians", - "outputs": [ - { - "internalType": "uint256[]", - "name": "_blockMedians", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "sorted", - "type": "uint256[]" - } - ], - "name": "giveSorted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "isElectedProposer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "jobIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "medians", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "lowerCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "higherCutoffs", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStakerId", - "type": "uint256" - } - ], - "name": "propose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "resetDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Core/interface/IJobManager.sol/IJobManager.dbg.json b/deployed/matic/abi/contracts/Core/interface/IJobManager.sol/IJobManager.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/contracts/Core/interface/IJobManager.sol/IJobManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/interface/IJobManager.sol/IJobManager.json b/deployed/matic/abi/contracts/Core/interface/IJobManager.sol/IJobManager.json deleted file mode 100644 index 1bc19643..00000000 --- a/deployed/matic/abi/contracts/Core/interface/IJobManager.sol/IJobManager.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IJobManager", - "sourceName": "contracts/Core/interface/IJobManager.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - } - ], - "name": "createJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "jobId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "fulfillJob", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.dbg.json b/deployed/matic/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.json b/deployed/matic/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.json deleted file mode 100644 index 77e5711f..00000000 --- a/deployed/matic/abi/contracts/Core/interface/IStakeManager.sol/IStakeManager.json +++ /dev/null @@ -1,282 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IStakeManager", - "sourceName": "contracts/Core/interface/IStakeManager.sol", - "abi": [ - { - "inputs": [], - "name": "getNumStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getStaker", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "internalType": "struct Structs.Staker", - "name": "staker", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getStakerId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveBlockReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "givePenalties", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "giveRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_epochLastRevealed", - "type": "uint256" - } - ], - "name": "setStakerEpochLastRevealed", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "bountyHunter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "updateCommitmentEpoch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Core/interface/IStateManager.sol/IStateManager.dbg.json b/deployed/matic/abi/contracts/Core/interface/IStateManager.sol/IStateManager.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/contracts/Core/interface/IStateManager.sol/IStateManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/interface/IStateManager.sol/IStateManager.json b/deployed/matic/abi/contracts/Core/interface/IStateManager.sol/IStateManager.json deleted file mode 100644 index 2b7cc65d..00000000 --- a/deployed/matic/abi/contracts/Core/interface/IStateManager.sol/IStateManager.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IStateManager", - "sourceName": "contracts/Core/interface/IStateManager.sol", - "abi": [ - { - "inputs": [], - "name": "getEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getState", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.dbg.json b/deployed/matic/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.json b/deployed/matic/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.json deleted file mode 100644 index ebb036e4..00000000 --- a/deployed/matic/abi/contracts/Core/interface/IVoteManager.sol/IVoteManager.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IVoteManager", - "sourceName": "contracts/Core/interface/IVoteManager.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - } - ], - "name": "commit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - } - ], - "name": "getCommitment", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getTotalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "name": "getVote", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "internalType": "struct Structs.Vote", - "name": "vote", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteValue", - "type": "uint256" - } - ], - "name": "getVoteWeight", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "root", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes32[][]", - "name": "proofs", - "type": "bytes32[][]" - }, - { - "internalType": "bytes32", - "name": "secret", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "stakerAddress", - "type": "address" - } - ], - "name": "reveal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.dbg.json b/deployed/matic/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.json b/deployed/matic/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.json deleted file mode 100644 index 0256f32d..00000000 --- a/deployed/matic/abi/contracts/Core/storage/BlockStorage.sol/BlockStorage.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BlockStorage", - "sourceName": "contracts/Core/storage/BlockStorage.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "blocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "disputes", - "outputs": [ - { - "internalType": "uint256", - "name": "accWeight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "median", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lowerCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "higherCutoff", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastVisited", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposedBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "proposerId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "iteration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "biggestStake", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610255806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063828496d61461004657806392b4841114610074578063f25b3f9914610097575b600080fd5b610059610054366004610172565b6100aa565b60405161006b969594939291906101f7565b60405180910390f35b6100876100823660046101b9565b6100e7565b60405161006b94939291906101da565b6100876100a536600461015a565b610130565b6000602081815292815260408082209093529081522080546001820154600283015460038401546004850154600590950154939492939192909186565b6001602052816000526040600020818154811061010357600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60026020526000908152604090208054600582015460068301546007909301549192909160ff1684565b60006020828403121561016b578081fd5b5035919050565b60008060408385031215610184578081fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146101ae578182fd5b809150509250929050565b600080604083850312156101cb578182fd5b50508035926020909101359150565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c0019056fea2646970667358221220f5b8cd1e09410e6c4da2dbd27b1920804e740c9ed1c6489fd074234b0d2258cd64736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063828496d61461004657806392b4841114610074578063f25b3f9914610097575b600080fd5b610059610054366004610172565b6100aa565b60405161006b969594939291906101f7565b60405180910390f35b6100876100823660046101b9565b6100e7565b60405161006b94939291906101da565b6100876100a536600461015a565b610130565b6000602081815292815260408082209093529081522080546001820154600283015460038401546004850154600590950154939492939192909186565b6001602052816000526040600020818154811061010357600080fd5b60009182526020909120600890910201805460058201546006830154600790930154919450925060ff1684565b60026020526000908152604090208054600582015460068301546007909301549192909160ff1684565b60006020828403121561016b578081fd5b5035919050565b60008060408385031215610184578081fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146101ae578182fd5b809150509250929050565b600080604083850312156101cb578182fd5b50508035926020909101359150565b938452602084019290925260408301521515606082015260800190565b958652602086019490945260408501929092526060840152608083015260a082015260c0019056fea2646970667358221220f5b8cd1e09410e6c4da2dbd27b1920804e740c9ed1c6489fd074234b0d2258cd64736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Core/storage/JobStorage.sol/JobStorage.dbg.json b/deployed/matic/abi/contracts/Core/storage/JobStorage.sol/JobStorage.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/contracts/Core/storage/JobStorage.sol/JobStorage.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/storage/JobStorage.sol/JobStorage.json b/deployed/matic/abi/contracts/Core/storage/JobStorage.sol/JobStorage.json deleted file mode 100644 index 26ec7dd9..00000000 --- a/deployed/matic/abi/contracts/Core/storage/JobStorage.sol/JobStorage.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "JobStorage", - "sourceName": "contracts/Core/storage/JobStorage.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "jobs", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - }, - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "credit", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "fulfilled", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numJobs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610413806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063180aedf31461003b5780639212051c1461006d575b600080fd5b61004e61004936600461028d565b610082565b6040516100649a999897969594939291906102f9565b60405180910390f35b610075610287565b60405161006491906102f0565b60016020819052600091825260409091208054918101546002820180549192916100ab90610389565b80601f01602080910402602001604051908101604052809291908181526020018280546100d790610389565b80156101245780601f106100f957610100808354040283529160200191610124565b820191906000526020600020905b81548152906001019060200180831161010757829003601f168201915b50505050509080600301805461013990610389565b80601f016020809104026020016040519081016040528092919081815260200182805461016590610389565b80156101b25780601f10610187576101008083540402835291602001916101b2565b820191906000526020600020905b81548152906001019060200180831161019557829003601f168201915b5050505050908060040180546101c790610389565b80601f01602080910402602001604051908101604052809291908181526020018280546101f390610389565b80156102405780601f1061021557610100808354040283529160200191610240565b820191906000526020600020905b81548152906001019060200180831161022357829003601f168201915b50505050600583015460068401546007850154600890950154939460ff8084169561010090940473ffffffffffffffffffffffffffffffffffffffff16945091929116908a565b60005481565b60006020828403121561029e578081fd5b5035919050565b60008151808452815b818110156102ca576020818501810151868301820152016102ae565b818111156102db5782602083870101525b50601f01601f19169290920160200192915050565b90815260200190565b60006101408c83528b60208401528060408401526103198184018c6102a5565b9050828103606084015261032d818b6102a5565b90508281036080840152610341818a6102a5565b97151560a0840152505073ffffffffffffffffffffffffffffffffffffffff9490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60028104600182168061039d57607f821691505b602082108114156103d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122046f6bdef400eef2035b17377e470a7a0437737166f43c8dad80dc4b98474622164736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063180aedf31461003b5780639212051c1461006d575b600080fd5b61004e61004936600461028d565b610082565b6040516100649a999897969594939291906102f9565b60405180910390f35b610075610287565b60405161006491906102f0565b60016020819052600091825260409091208054918101546002820180549192916100ab90610389565b80601f01602080910402602001604051908101604052809291908181526020018280546100d790610389565b80156101245780601f106100f957610100808354040283529160200191610124565b820191906000526020600020905b81548152906001019060200180831161010757829003601f168201915b50505050509080600301805461013990610389565b80601f016020809104026020016040519081016040528092919081815260200182805461016590610389565b80156101b25780601f10610187576101008083540402835291602001916101b2565b820191906000526020600020905b81548152906001019060200180831161019557829003601f168201915b5050505050908060040180546101c790610389565b80601f01602080910402602001604051908101604052809291908181526020018280546101f390610389565b80156102405780601f1061021557610100808354040283529160200191610240565b820191906000526020600020905b81548152906001019060200180831161022357829003601f168201915b50505050600583015460068401546007850154600890950154939460ff8084169561010090940473ffffffffffffffffffffffffffffffffffffffff16945091929116908a565b60005481565b60006020828403121561029e578081fd5b5035919050565b60008151808452815b818110156102ca576020818501810151868301820152016102ae565b818111156102db5782602083870101525b50601f01601f19169290920160200192915050565b90815260200190565b60006101408c83528b60208401528060408401526103198184018c6102a5565b9050828103606084015261032d818b6102a5565b90508281036080840152610341818a6102a5565b97151560a0840152505073ffffffffffffffffffffffffffffffffffffffff9490941660c085015260e084019290925215156101008301526101209091015295945050505050565b60028104600182168061039d57607f821691505b602082108114156103d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122046f6bdef400eef2035b17377e470a7a0437737166f43c8dad80dc4b98474622164736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.dbg.json b/deployed/matic/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.json b/deployed/matic/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.json deleted file mode 100644 index 0253ec4c..00000000 --- a/deployed/matic/abi/contracts/Core/storage/StakeStorage.sol/StakeStorage.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "StakeStorage", - "sourceName": "contracts/Core/storage/StakeStorage.sol", - "abi": [ - { - "inputs": [], - "name": "blockReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numStakers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stakeGettingReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakerIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "stakers", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastCommitted", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "epochLastRevealed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unstakeAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAfter", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061024a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80636c8b052a116100505780636c8b052a146100a5578063c8ae0d7d146100ad578063fd5e6dd1146100c057610072565b80630ac168a1146100775780630ec88d3f1461009557806366666aa91461009d575b600080fd5b61007f6100e7565b60405161008c91906101bf565b60405180910390f35b61007f6100ed565b61007f6100f3565b61007f6100f9565b61007f6100bb36600461016c565b6100ff565b6100d36100ce3660046101a7565b610111565b60405161008c9897969594939291906101c8565b60005481565b60035481565b60025481565b60015481565b60046020526000908152604090205481565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600790960154949673ffffffffffffffffffffffffffffffffffffffff909416959294919392909188565b60006020828403121561017d578081fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101a0578182fd5b9392505050565b6000602082840312156101b8578081fd5b5035919050565b90815260200190565b97885273ffffffffffffffffffffffffffffffffffffffff96909616602088015260408701949094526060860192909252608085015260a084015260c083015260e0820152610100019056fea2646970667358221220c513f32e92b796ce202cf6ed9eba611795112221d2b5c12b7a1fe7830e1fc19164736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c80636c8b052a116100505780636c8b052a146100a5578063c8ae0d7d146100ad578063fd5e6dd1146100c057610072565b80630ac168a1146100775780630ec88d3f1461009557806366666aa91461009d575b600080fd5b61007f6100e7565b60405161008c91906101bf565b60405180910390f35b61007f6100ed565b61007f6100f3565b61007f6100f9565b61007f6100bb36600461016c565b6100ff565b6100d36100ce3660046101a7565b610111565b60405161008c9897969594939291906101c8565b60005481565b60035481565b60025481565b60015481565b60046020526000908152604090205481565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600790960154949673ffffffffffffffffffffffffffffffffffffffff909416959294919392909188565b60006020828403121561017d578081fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101a0578182fd5b9392505050565b6000602082840312156101b8578081fd5b5035919050565b90815260200190565b97885273ffffffffffffffffffffffffffffffffffffffff96909616602088015260408701949094526060860192909252608085015260a084015260c083015260e0820152610100019056fea2646970667358221220c513f32e92b796ce202cf6ed9eba611795112221d2b5c12b7a1fe7830e1fc19164736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.dbg.json b/deployed/matic/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.dbg.json deleted file mode 100644 index f56adb09..00000000 --- a/deployed/matic/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.json b/deployed/matic/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.json deleted file mode 100644 index 1c061c76..00000000 --- a/deployed/matic/abi/contracts/Core/storage/VoteStorage.sol/VoteStorage.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "VoteStorage", - "sourceName": "contracts/Core/storage/VoteStorage.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "commitments", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalStakeRevealed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "voteWeights", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "votes", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506101dc806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063283e2905146100515780638a757ecc1461007b5780638fd5ff001461009b578063d13e2e60146100ae575b600080fd5b61006461005f366004610164565b6100c1565b604051610072929190610198565b60405180910390f35b61008e610089366004610143565b6100e9565b604051610072919061018f565b61008e6100a9366004610164565b610106565b61008e6100bc366004610143565b610129565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b600260209081526000928352604080842090915290825290205481565b600360209081526000938452604080852082529284528284209052825290205481565b600060208181529281526040808220909352908152205481565b60008060408385031215610155578182fd5b50508035926020909101359150565b600080600060608486031215610178578081fd5b505081359360208301359350604090920135919050565b90815260200190565b91825260208201526040019056fea2646970667358221220b012e634c3a4d0c8952171cb34b9e517585de625e92bdfefcf77582c8988922864736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063283e2905146100515780638a757ecc1461007b5780638fd5ff001461009b578063d13e2e60146100ae575b600080fd5b61006461005f366004610164565b6100c1565b604051610072929190610198565b60405180910390f35b61008e610089366004610143565b6100e9565b604051610072919061018f565b61008e6100a9366004610164565b610106565b61008e6100bc366004610143565b610129565b6001602081815260009485526040808620825293855283852090529083529120805491015482565b600260209081526000928352604080842090915290825290205481565b600360209081526000938452604080852082529284528284209052825290205481565b600060208181529281526040808220909352908152205481565b60008060408385031215610155578182fd5b50508035926020909101359150565b600080600060608486031215610178578081fd5b505081359360208301359350604090920135919050565b90815260200190565b91825260208201526040019056fea2646970667358221220b012e634c3a4d0c8952171cb34b9e517585de625e92bdfefcf77582c8988922864736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Delegator.sol/Delegator.dbg.json b/deployed/matic/abi/contracts/Delegator.sol/Delegator.dbg.json deleted file mode 100644 index 0c368aa1..00000000 --- a/deployed/matic/abi/contracts/Delegator.sol/Delegator.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Delegator.sol/Delegator.json b/deployed/matic/abi/contracts/Delegator.sol/Delegator.json deleted file mode 100644 index 4a4de809..00000000 --- a/deployed/matic/abi/contracts/Delegator.sol/Delegator.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Delegator", - "sourceName": "contracts/Delegator.sol", - "abi": [ - { - "inputs": [], - "name": "delegate", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "jobManager", - "outputs": [ - { - "internalType": "contract IJobManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newDelegateAddress", - "type": "address" - } - ], - "name": "upgradeDelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6080604052600180546001600160a01b0319163317905534801561002257600080fd5b506105fd806100326000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063995e433911610050578063995e4339146100b2578063bf22c457146100d2578063c89e4361146100f657610072565b80632da4e75c146100775780633df395a31461008c5780638da5cb5b146100aa575b600080fd5b61008a610085366004610395565b6100fe565b005b61009461018f565b6040516100a191906104c6565b60405180910390f35b61009461019e565b6100c56100c036600461046a565b6101ad565b6040516100a1919061055f565b6100e56100e036600461046a565b61024d565b6040516100a19594939291906104da565b610094610306565b6001546001600160a01b0316331461014b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014290610528565b60405180910390fd5b600080546001600160a01b039092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790915560028054909216179055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6002546040517f995e43390000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063995e4339906101f790859060040161055f565b60206040518083038186803b15801561020f57600080fd5b505afa158015610223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102479190610482565b92915050565b6002546040517fbf22c4570000000000000000000000000000000000000000000000000000000081526060918291829160009182916001600160a01b03169063bf22c457906102a090899060040161055f565b60006040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f491908101906103c3565b939a9299509097509550909350915050565b6000546001600160a01b031681565b600082601f830112610325578081fd5b815167ffffffffffffffff8082111561034057610340610598565b604051601f8301601f19168101602001828111828210171561036457610364610598565b60405282815284830160200186101561037b578384fd5b61038c836020830160208801610568565b95945050505050565b6000602082840312156103a6578081fd5b81356001600160a01b03811681146103bc578182fd5b9392505050565b600080600080600060a086880312156103da578081fd5b855167ffffffffffffffff808211156103f1578283fd5b6103fd89838a01610315565b96506020880151915080821115610412578283fd5b61041e89838a01610315565b95506040880151915080821115610433578283fd5b5061044088828901610315565b93505060608601518015158114610455578182fd5b80925050608086015190509295509295909350565b60006020828403121561047b578081fd5b5035919050565b600060208284031215610493578081fd5b5051919050565b600081518084526104b2816020860160208601610568565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060a082526104ed60a083018861049a565b82810360208401526104ff818861049a565b90508281036040840152610513818761049a565b94151560608401525050608001529392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b90815260200190565b60005b8381101561058357818101518382015260200161056b565b83811115610592576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212202b4f74bce8a4ea2a7f82c1d06c64ef70cd5c06a785a8dea5c37a43f298d3e01a64736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063995e433911610050578063995e4339146100b2578063bf22c457146100d2578063c89e4361146100f657610072565b80632da4e75c146100775780633df395a31461008c5780638da5cb5b146100aa575b600080fd5b61008a610085366004610395565b6100fe565b005b61009461018f565b6040516100a191906104c6565b60405180910390f35b61009461019e565b6100c56100c036600461046a565b6101ad565b6040516100a1919061055f565b6100e56100e036600461046a565b61024d565b6040516100a19594939291906104da565b610094610306565b6001546001600160a01b0316331461014b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014290610528565b60405180910390fd5b600080546001600160a01b039092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790915560028054909216179055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6002546040517f995e43390000000000000000000000000000000000000000000000000000000081526000916001600160a01b03169063995e4339906101f790859060040161055f565b60206040518083038186803b15801561020f57600080fd5b505afa158015610223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102479190610482565b92915050565b6002546040517fbf22c4570000000000000000000000000000000000000000000000000000000081526060918291829160009182916001600160a01b03169063bf22c457906102a090899060040161055f565b60006040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f491908101906103c3565b939a9299509097509550909350915050565b6000546001600160a01b031681565b600082601f830112610325578081fd5b815167ffffffffffffffff8082111561034057610340610598565b604051601f8301601f19168101602001828111828210171561036457610364610598565b60405282815284830160200186101561037b578384fd5b61038c836020830160208801610568565b95945050505050565b6000602082840312156103a6578081fd5b81356001600160a01b03811681146103bc578182fd5b9392505050565b600080600080600060a086880312156103da578081fd5b855167ffffffffffffffff808211156103f1578283fd5b6103fd89838a01610315565b96506020880151915080821115610412578283fd5b61041e89838a01610315565b95506040880151915080821115610433578283fd5b5061044088828901610315565b93505060608601518015158114610455578182fd5b80925050608086015190509295509295909350565b60006020828403121561047b578081fd5b5035919050565b600060208284031215610493578081fd5b5051919050565b600081518084526104b2816020860160208601610568565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060a082526104ed60a083018861049a565b82810360208401526104ff818861049a565b90508281036040840152610513818761049a565b94151560608401525050608001529392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b90815260200190565b60005b8381101561058357818101518382015260200161056b565b83811115610592576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea26469706673582212202b4f74bce8a4ea2a7f82c1d06c64ef70cd5c06a785a8dea5c37a43f298d3e01a64736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Faucet.sol/Faucet.dbg.json b/deployed/matic/abi/contracts/Faucet.sol/Faucet.dbg.json deleted file mode 100644 index 0c368aa1..00000000 --- a/deployed/matic/abi/contracts/Faucet.sol/Faucet.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Faucet.sol/Faucet.json b/deployed/matic/abi/contracts/Faucet.sol/Faucet.json deleted file mode 100644 index f954e1f4..00000000 --- a/deployed/matic/abi/contracts/Faucet.sol/Faucet.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Faucet", - "sourceName": "contracts/Faucet.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_address", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Donate", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "faucet", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "requested", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060405161038438038061038483398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b6102f3806100916000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b86d1d6314610046578063eecf0b4f1461005b578063fc0c546a14610084575b600080fd5b610059610054366004610210565b610099565b005b61006e610069366004610210565b6101df565b60405161007b9190610291565b60405180910390f35b61008c6101f4565b60405161007b919061029c565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166101dc5773ffffffffffffffffffffffffffffffffffffffff8082166000908152600160208190526040808320805460ff1916909217909155905490517fa9059cbb00000000000000000000000000000000000000000000000000000000815291169063a9059cbb9061014590849069021e19e0c9bab24000009060040161026b565b602060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610197919061024b565b507f0553260a2e46b0577270d8992db02d30856ca880144c72d6e9503760946aef138169021e19e0c9bab24000006040516101d392919061026b565b60405180910390a15b50565b60016020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600060208284031215610221578081fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610244578182fd5b9392505050565b60006020828403121561025c578081fd5b81518015158114610244578182fd5b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b73ffffffffffffffffffffffffffffffffffffffff9190911681526020019056fea2646970667358221220eff413b08102076b0713cd723920d8a01712787a9be92867dbf97674b269a51864736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063b86d1d6314610046578063eecf0b4f1461005b578063fc0c546a14610084575b600080fd5b610059610054366004610210565b610099565b005b61006e610069366004610210565b6101df565b60405161007b9190610291565b60405180910390f35b61008c6101f4565b60405161007b919061029c565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166101dc5773ffffffffffffffffffffffffffffffffffffffff8082166000908152600160208190526040808320805460ff1916909217909155905490517fa9059cbb00000000000000000000000000000000000000000000000000000000815291169063a9059cbb9061014590849069021e19e0c9bab24000009060040161026b565b602060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610197919061024b565b507f0553260a2e46b0577270d8992db02d30856ca880144c72d6e9503760946aef138169021e19e0c9bab24000006040516101d392919061026b565b60405180910390a15b50565b60016020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600060208284031215610221578081fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610244578182fd5b9392505050565b60006020828403121561025c578081fd5b81518015158114610244578182fd5b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b73ffffffffffffffffffffffffffffffffffffffff9190911681526020019056fea2646970667358221220eff413b08102076b0713cd723920d8a01712787a9be92867dbf97674b269a51864736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/IDelegator.sol/IDelegator.dbg.json b/deployed/matic/abi/contracts/IDelegator.sol/IDelegator.dbg.json deleted file mode 100644 index 0b39f4c3..00000000 --- a/deployed/matic/abi/contracts/IDelegator.sol/IDelegator.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/15277834259d0f2b4f3c65843402b37f.json" -} diff --git a/deployed/matic/abi/contracts/IDelegator.sol/IDelegator.json b/deployed/matic/abi/contracts/IDelegator.sol/IDelegator.json deleted file mode 100644 index 32af490e..00000000 --- a/deployed/matic/abi/contracts/IDelegator.sol/IDelegator.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IDelegator", - "sourceName": "contracts/IDelegator.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getJob", - "outputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "selector", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "bool", - "name": "repeat", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getResult", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newDelegateAddress", - "type": "address" - } - ], - "name": "upgradeDelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/Initializable.sol/Initializable.dbg.json b/deployed/matic/abi/contracts/Initializable.sol/Initializable.dbg.json deleted file mode 100644 index 0c368aa1..00000000 --- a/deployed/matic/abi/contracts/Initializable.sol/Initializable.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/Initializable.sol/Initializable.json b/deployed/matic/abi/contracts/Initializable.sol/Initializable.json deleted file mode 100644 index 0d151572..00000000 --- a/deployed/matic/abi/contracts/Initializable.sol/Initializable.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Initializable", - "sourceName": "contracts/Initializable.sol", - "abi": [], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/SchellingCoin.sol/SchellingCoin.dbg.json b/deployed/matic/abi/contracts/SchellingCoin.sol/SchellingCoin.dbg.json deleted file mode 100644 index 0c368aa1..00000000 --- a/deployed/matic/abi/contracts/SchellingCoin.sol/SchellingCoin.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/SchellingCoin.sol/SchellingCoin.json b/deployed/matic/abi/contracts/SchellingCoin.sol/SchellingCoin.json deleted file mode 100644 index 362d78fa..00000000 --- a/deployed/matic/abi/contracts/SchellingCoin.sol/SchellingCoin.json +++ /dev/null @@ -1,579 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SchellingCoin", - "sourceName": "contracts/SchellingCoin.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "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": [], - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INITIAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINTER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addMinter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": "amount", - "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": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "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": "removeMinter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600d81526020016c29b1b432b63634b733a1b7b4b760991b815250604051806040016040528060038152602001620a686960eb1b81525081600390805190602001906200006c92919062000267565b5080516200008290600490602084019062000267565b506200009491506000905033620000c3565b620000bd33620000a76012600a620003b5565b620000b790633b9aca00620004aa565b620000d3565b6200051f565b620000cf8282620001a7565b5050565b6001600160a01b038216620001055760405162461bcd60e51b8152600401620000fc906200030d565b60405180910390fd5b620001136000838362000233565b80600260008282546200012791906200034d565b90915550506001600160a01b03821660009081526020819052604081208054839290620001569084906200034d565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200019b90859062000344565b60405180910390a35050565b620001b3828262000238565b620000cf5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620001ef62000263565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b505050565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3390565b8280546200027590620004cc565b90600052602060002090601f016020900481019282620002995760008555620002e4565b82601f10620002b457805160ff1916838001178555620002e4565b82800160010185558215620002e4579182015b82811115620002e4578251825591602001919060010190620002c7565b50620002f2929150620002f6565b5090565b5b80821115620002f25760008155600101620002f7565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6000821982111562000363576200036362000509565b500190565b80825b60018086116200037c5750620003ac565b81870482111562000391576200039162000509565b808616156200039f57918102915b9490941c9380026200036b565b94509492505050565b6000620003c66000198484620003cd565b9392505050565b600082620003de57506001620003c6565b81620003ed57506000620003c6565b8160018114620004065760028114620004115762000445565b6001915050620003c6565b60ff84111562000425576200042562000509565b6001841b9150848211156200043e576200043e62000509565b50620003c6565b5060208310610133831016604e8410600b84101617156200047d575081810a8381111562000477576200047762000509565b620003c6565b6200048c848484600162000368565b808604821115620004a157620004a162000509565b02949350505050565b6000816000190483118215151615620004c757620004c762000509565b500290565b600281046001821680620004e157607f821691505b602082108114156200050357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6113bf806200052f6000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806339509351116100e3578063a217fddf1161008c578063d539139311610066578063d53913931461031e578063d547741f14610326578063dd62ed3e1461033957610198565b8063a217fddf146102f0578063a457c2d7146102f8578063a9059cbb1461030b57610198565b806391d14854116100bd57806391d14854146102c257806395d89b41146102d5578063983b2d56146102dd57610198565b8063395093511461028957806340c10f191461029c57806370a08231146102af57610198565b80632e0f2625116101455780633092afd51161011f5780633092afd51461024e578063313ce5671461026157806336568abe1461027657610198565b80632e0f2625146102295780632f2ff15d146102315780632ff2e9dc1461024657610198565b806318160ddd1161017657806318160ddd146101ee57806323b872dd14610203578063248a9ca31461021657610198565b806301ffc9a71461019d57806306fdde03146101c6578063095ea7b3146101db575b600080fd5b6101b06101ab366004610d11565b61034c565b6040516101bd9190610d51565b60405180910390f35b6101ce6103aa565b6040516101bd9190610d65565b6101b06101e9366004610cae565b61043c565b6101f6610459565b6040516101bd9190610d5c565b6101b0610211366004610c73565b61045f565b6101f6610224366004610cd7565b610501565b6101f6610516565b61024461023f366004610cef565b61051b565b005b6101f6610559565b61024461025c366004610c27565b610576565b6102696105a3565b6040516101bd91906111c8565b610244610284366004610cef565b6105a8565b6101b0610297366004610cae565b6105ea565b6101b06102aa366004610cae565b610639565b6101f66102bd366004610c27565b61068b565b6101b06102d0366004610cef565b6106a6565b6101ce6106d1565b6102446102eb366004610c27565b6106e0565b6101f661070a565b6101b0610306366004610cae565b61070f565b6101b0610319366004610cae565b61078a565b6101f661079e565b610244610334366004610cef565b6107c2565b6101f6610347366004610c41565b6107ea565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103a257506103a282610815565b90505b919050565b6060600380546103b990611338565b80601f01602080910402602001604051908101604052809291908181526020018280546103e590611338565b80156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b5050505050905090565b600061045061044961085f565b8484610863565b50600192915050565b60025490565b600061046c848484610917565b6001600160a01b03841660009081526001602052604081208161048d61085f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104d95760405162461bcd60e51b81526004016104d090610fc0565b60405180910390fd5b6104f4856104e561085f565b6104ef8685611321565b610863565b60019150505b9392505050565b60009081526005602052604090206001015490565b601281565b61052f61052783610501565b6102d061085f565b61054b5760405162461bcd60e51b81526004016104d090610e15565b6105558282610a3f565b5050565b6105656012600a611234565b61057390633b9aca00611302565b81565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826107c2565b50565b601290565b6105b061085f565b6001600160a01b0316816001600160a01b0316146105e05760405162461bcd60e51b81526004016104d090611134565b6105558282610ac6565b60006104506105f761085f565b84846001600061060561085f565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546104ef91906111d6565b60006106657f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336106a6565b6106815760405162461bcd60e51b81526004016104d090610f89565b6104508383610b4b565b6001600160a01b031660009081526020819052604090205490565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546103b990611338565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261051b565b600081565b6000806001600061071e61085f565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561076a5760405162461bcd60e51b81526004016104d0906110d7565b61078061077561085f565b856104ef8685611321565b5060019392505050565b600061045061079761085f565b8484610917565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6107ce61052783610501565b6105e05760405162461bcd60e51b81526004016104d090610f2c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6001600160a01b0383166108895760405162461bcd60e51b81526004016104d09061107a565b6001600160a01b0382166108af5760405162461bcd60e51b81526004016104d090610e72565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061090a908590610d5c565b60405180910390a3505050565b6001600160a01b03831661093d5760405162461bcd60e51b81526004016104d09061101d565b6001600160a01b0382166109635760405162461bcd60e51b81526004016104d090610db8565b61096e838383610c0b565b6001600160a01b038316600090815260208190526040902054818110156109a75760405162461bcd60e51b81526004016104d090610ecf565b6109b18282611321565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906109e79084906111d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a319190610d5c565b60405180910390a350505050565b610a4982826106a6565b6105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a8261085f565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610ad082826106a6565b156105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19169055610b0761085f565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6001600160a01b038216610b715760405162461bcd60e51b81526004016104d090611191565b610b7d60008383610c0b565b8060026000828254610b8f91906111d6565b90915550506001600160a01b03821660009081526020819052604081208054839290610bbc9084906111d6565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bff908590610d5c565b60405180910390a35050565b505050565b80356001600160a01b03811681146103a557600080fd5b600060208284031215610c38578081fd5b6104fa82610c10565b60008060408385031215610c53578081fd5b610c5c83610c10565b9150610c6a60208401610c10565b90509250929050565b600080600060608486031215610c87578081fd5b610c9084610c10565b9250610c9e60208501610c10565b9150604084013590509250925092565b60008060408385031215610cc0578182fd5b610cc983610c10565b946020939093013593505050565b600060208284031215610ce8578081fd5b5035919050565b60008060408385031215610d01578182fd5b82359150610c6a60208401610c10565b600060208284031215610d22578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104fa578182fd5b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015610d9157858101830151858201604001528201610d75565b81811115610da25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526016908201527f43616c6c6572206973206e6f742061206d696e74657200000000000000000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60ff91909116815260200190565b600082198211156111e9576111e9611373565b500190565b80825b6001808611611200575061122b565b81870482111561121257611212611373565b8086161561121f57918102915b9490941c9380026111f1565b94509492505050565b60006104fa600019848460008261124d575060016104fa565b8161125a575060006104fa565b8160018114611270576002811461127a576112a7565b60019150506104fa565b60ff84111561128b5761128b611373565b6001841b9150848211156112a1576112a1611373565b506104fa565b5060208310610133831016604e8410600b84101617156112da575081810a838111156112d5576112d5611373565b6104fa565b6112e784848460016111ee565b8086048211156112f9576112f9611373565b02949350505050565b600081600019048311821515161561131c5761131c611373565b500290565b60008282101561133357611333611373565b500390565b60028104600182168061134c57607f821691505b6020821081141561136d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220de4d14037a98f876b7b08bb2b7d3d05b37719e395af849ca4eece8bfc1e70fc064736f6c63430008000033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101985760003560e01c806339509351116100e3578063a217fddf1161008c578063d539139311610066578063d53913931461031e578063d547741f14610326578063dd62ed3e1461033957610198565b8063a217fddf146102f0578063a457c2d7146102f8578063a9059cbb1461030b57610198565b806391d14854116100bd57806391d14854146102c257806395d89b41146102d5578063983b2d56146102dd57610198565b8063395093511461028957806340c10f191461029c57806370a08231146102af57610198565b80632e0f2625116101455780633092afd51161011f5780633092afd51461024e578063313ce5671461026157806336568abe1461027657610198565b80632e0f2625146102295780632f2ff15d146102315780632ff2e9dc1461024657610198565b806318160ddd1161017657806318160ddd146101ee57806323b872dd14610203578063248a9ca31461021657610198565b806301ffc9a71461019d57806306fdde03146101c6578063095ea7b3146101db575b600080fd5b6101b06101ab366004610d11565b61034c565b6040516101bd9190610d51565b60405180910390f35b6101ce6103aa565b6040516101bd9190610d65565b6101b06101e9366004610cae565b61043c565b6101f6610459565b6040516101bd9190610d5c565b6101b0610211366004610c73565b61045f565b6101f6610224366004610cd7565b610501565b6101f6610516565b61024461023f366004610cef565b61051b565b005b6101f6610559565b61024461025c366004610c27565b610576565b6102696105a3565b6040516101bd91906111c8565b610244610284366004610cef565b6105a8565b6101b0610297366004610cae565b6105ea565b6101b06102aa366004610cae565b610639565b6101f66102bd366004610c27565b61068b565b6101b06102d0366004610cef565b6106a6565b6101ce6106d1565b6102446102eb366004610c27565b6106e0565b6101f661070a565b6101b0610306366004610cae565b61070f565b6101b0610319366004610cae565b61078a565b6101f661079e565b610244610334366004610cef565b6107c2565b6101f6610347366004610c41565b6107ea565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103a257506103a282610815565b90505b919050565b6060600380546103b990611338565b80601f01602080910402602001604051908101604052809291908181526020018280546103e590611338565b80156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b5050505050905090565b600061045061044961085f565b8484610863565b50600192915050565b60025490565b600061046c848484610917565b6001600160a01b03841660009081526001602052604081208161048d61085f565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104d95760405162461bcd60e51b81526004016104d090610fc0565b60405180910390fd5b6104f4856104e561085f565b6104ef8685611321565b610863565b60019150505b9392505050565b60009081526005602052604090206001015490565b601281565b61052f61052783610501565b6102d061085f565b61054b5760405162461bcd60e51b81526004016104d090610e15565b6105558282610a3f565b5050565b6105656012600a611234565b61057390633b9aca00611302565b81565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826107c2565b50565b601290565b6105b061085f565b6001600160a01b0316816001600160a01b0316146105e05760405162461bcd60e51b81526004016104d090611134565b6105558282610ac6565b60006104506105f761085f565b84846001600061060561085f565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546104ef91906111d6565b60006106657f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336106a6565b6106815760405162461bcd60e51b81526004016104d090610f89565b6104508383610b4b565b6001600160a01b031660009081526020819052604090205490565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546103b990611338565b6105a07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261051b565b600081565b6000806001600061071e61085f565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561076a5760405162461bcd60e51b81526004016104d0906110d7565b61078061077561085f565b856104ef8685611321565b5060019392505050565b600061045061079761085f565b8484610917565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6107ce61052783610501565b6105e05760405162461bcd60e51b81526004016104d090610f2c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b3390565b6001600160a01b0383166108895760405162461bcd60e51b81526004016104d09061107a565b6001600160a01b0382166108af5760405162461bcd60e51b81526004016104d090610e72565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061090a908590610d5c565b60405180910390a3505050565b6001600160a01b03831661093d5760405162461bcd60e51b81526004016104d09061101d565b6001600160a01b0382166109635760405162461bcd60e51b81526004016104d090610db8565b61096e838383610c0b565b6001600160a01b038316600090815260208190526040902054818110156109a75760405162461bcd60e51b81526004016104d090610ecf565b6109b18282611321565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906109e79084906111d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a319190610d5c565b60405180910390a350505050565b610a4982826106a6565b6105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a8261085f565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610ad082826106a6565b156105555760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19169055610b0761085f565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6001600160a01b038216610b715760405162461bcd60e51b81526004016104d090611191565b610b7d60008383610c0b565b8060026000828254610b8f91906111d6565b90915550506001600160a01b03821660009081526020819052604081208054839290610bbc9084906111d6565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bff908590610d5c565b60405180910390a35050565b505050565b80356001600160a01b03811681146103a557600080fd5b600060208284031215610c38578081fd5b6104fa82610c10565b60008060408385031215610c53578081fd5b610c5c83610c10565b9150610c6a60208401610c10565b90509250929050565b600080600060608486031215610c87578081fd5b610c9084610c10565b9250610c9e60208501610c10565b9150604084013590509250925092565b60008060408385031215610cc0578182fd5b610cc983610c10565b946020939093013593505050565b600060208284031215610ce8578081fd5b5035919050565b60008060408385031215610d01578182fd5b82359150610c6a60208401610c10565b600060208284031215610d22578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104fa578182fd5b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015610d9157858101830151858201604001528201610d75565b81811115610da25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260408201527f616c616e63650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526016908201527f43616c6c6572206973206e6f742061206d696e74657200000000000000000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760408201527f207a65726f000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60ff91909116815260200190565b600082198211156111e9576111e9611373565b500190565b80825b6001808611611200575061122b565b81870482111561121257611212611373565b8086161561121f57918102915b9490941c9380026111f1565b94509492505050565b60006104fa600019848460008261124d575060016104fa565b8161125a575060006104fa565b8160018114611270576002811461127a576112a7565b60019150506104fa565b60ff84111561128b5761128b611373565b6001841b9150848211156112a1576112a1611373565b506104fa565b5060208310610133831016604e8410600b84101617156112da575081810a838111156112d5576112d5611373565b6104fa565b6112e784848460016111ee565b8086048211156112f9576112f9611373565b02949350505050565b600081600019048311821515161561131c5761131c611373565b500290565b60008282101561133357611333611373565b500390565b60028104600182168061134c57607f821691505b6020821081141561136d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220de4d14037a98f876b7b08bb2b7d3d05b37719e395af849ca4eece8bfc1e70fc064736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/lib/Constants.sol/Constants.dbg.json b/deployed/matic/abi/contracts/lib/Constants.sol/Constants.dbg.json deleted file mode 100644 index dd030d18..00000000 --- a/deployed/matic/abi/contracts/lib/Constants.sol/Constants.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/lib/Constants.sol/Constants.json b/deployed/matic/abi/contracts/lib/Constants.sol/Constants.json deleted file mode 100644 index fd4a4f79..00000000 --- a/deployed/matic/abi/contracts/lib/Constants.sol/Constants.json +++ /dev/null @@ -1,245 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Constants", - "sourceName": "contracts/lib/Constants.sol", - "abi": [ - { - "inputs": [], - "name": "commit", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "dispute", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "epochLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "exposureDenominator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getBlockConfirmerHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getDefaultAdminHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getJobConfirmerHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getStakeModifierHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getStakerActivityUpdaterHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "maxAltBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "minStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "numStates", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "penaltyNotRevealDenom", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "penaltyNotRevealNum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "propose", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "reveal", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "unstakeLockPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawLockPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x61048161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101405760003560e01c80639cec6f8a116100bc578063b1cc45001161008b578063d98b3ced11610070578063d98b3ced146101d0578063f240f7c3146101d8578063f4f29c5b146101e057610140565b8063b1cc4500146101c0578063c198f8ba146101c857610140565b80639cec6f8a146101a8578063a475b5dd146101b0578063a86f5a3f14610145578063b1a62781146101b857610140565b8063379597e01161011357806357d775f8116100f857806357d775f8146101905780637f890b111461019857806380638d42146101a057610140565b8063379597e0146101735780633c7a3aff1461017b57610140565b80632628490f1461014557806326bf1c03146101455780633002c9ac14610163578063375b3c0a1461016b575b600080fd5b61014d6101e8565b60405161015a91906102c6565b60405180910390f35b61014d6101ed565b61014d6101f3565b61014d610211565b610183610216565b60405161015a91906102cf565b61014d61021b565b61014d610221565b61014d610245565b61014d610269565b6101836101e8565b61014d610216565b61014d61028d565b610183610293565b61014d610298565b6101836102bc565b61014d6102c1565b600190565b6103e890565b60006102016012600a610323565b61020c9060646103fd565b905090565b600590565b600090565b61012c90565b7fbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f90565b7fdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc80490565b7f4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece90565b61271090565b600290565b7f18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f90565b600390565b600490565b90815260200190565b60ff91909116815260200190565b80825b60018086116102ef575061031a565b8187048211156103015761030161041c565b8086161561030e57918102915b9490941c9380026102e0565b94509492505050565b60006103326000198484610339565b9392505050565b60008261034857506001610332565b8161035557506000610332565b816001811461036b5760028114610375576103a2565b6001915050610332565b60ff8411156103865761038661041c565b6001841b91508482111561039c5761039c61041c565b50610332565b5060208310610133831016604e8410600b84101617156103d5575081810a838111156103d0576103d061041c565b610332565b6103e284848460016102dd565b8086048211156103f4576103f461041c565b02949350505050565b60008160001904831182151516156104175761041761041c565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220710cac3319cafda50221bf40c0c657130e72a6074fcd0583db844baf030d88ed64736f6c63430008000033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106101405760003560e01c80639cec6f8a116100bc578063b1cc45001161008b578063d98b3ced11610070578063d98b3ced146101d0578063f240f7c3146101d8578063f4f29c5b146101e057610140565b8063b1cc4500146101c0578063c198f8ba146101c857610140565b80639cec6f8a146101a8578063a475b5dd146101b0578063a86f5a3f14610145578063b1a62781146101b857610140565b8063379597e01161011357806357d775f8116100f857806357d775f8146101905780637f890b111461019857806380638d42146101a057610140565b8063379597e0146101735780633c7a3aff1461017b57610140565b80632628490f1461014557806326bf1c03146101455780633002c9ac14610163578063375b3c0a1461016b575b600080fd5b61014d6101e8565b60405161015a91906102c6565b60405180910390f35b61014d6101ed565b61014d6101f3565b61014d610211565b610183610216565b60405161015a91906102cf565b61014d61021b565b61014d610221565b61014d610245565b61014d610269565b6101836101e8565b61014d610216565b61014d61028d565b610183610293565b61014d610298565b6101836102bc565b61014d6102c1565b600190565b6103e890565b60006102016012600a610323565b61020c9060646103fd565b905090565b600590565b600090565b61012c90565b7fbe7b58e17bf6adaa0f209cd0db8b128282fc68a42f2dd649b4d8ea579f1b078f90565b7fdbaaaff2c3744aa215ebd99971829e1c1b728703a0bf252f96685d29011fc80490565b7f4cd3070aaa07d03ab33731cbabd0cb27eb9e074a9430ad006c96941d71b77ece90565b61271090565b600290565b7f18797bc7973e1dadee1895be2f1003818e30eae3b0e7a01eb9b2e66f3ea2771f90565b600390565b600490565b90815260200190565b60ff91909116815260200190565b80825b60018086116102ef575061031a565b8187048211156103015761030161041c565b8086161561030e57918102915b9490941c9380026102e0565b94509492505050565b60006103326000198484610339565b9392505050565b60008261034857506001610332565b8161035557506000610332565b816001811461036b5760028114610375576103a2565b6001915050610332565b60ff8411156103865761038661041c565b6001841b91508482111561039c5761039c61041c565b50610332565b5060208310610133831016604e8410600b84101617156103d5575081810a838111156103d0576103d061041c565b610332565b6103e284848460016102dd565b8086048211156103f4576103f461041c565b02949350505050565b60008160001904831182151516156104175761041761041c565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220710cac3319cafda50221bf40c0c657130e72a6074fcd0583db844baf030d88ed64736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/abi/contracts/lib/Random.sol/Random.dbg.json b/deployed/matic/abi/contracts/lib/Random.sol/Random.dbg.json deleted file mode 100644 index dd030d18..00000000 --- a/deployed/matic/abi/contracts/lib/Random.sol/Random.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/lib/Random.sol/Random.json b/deployed/matic/abi/contracts/lib/Random.sol/Random.json deleted file mode 100644 index 75fbdce6..00000000 --- a/deployed/matic/abi/contracts/lib/Random.sol/Random.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Random", - "sourceName": "contracts/lib/Random.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - } - ], - "name": "blockHashes", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "max", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "seed", - "type": "bytes32" - } - ], - "name": "prng", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "numBlocks", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "seed", - "type": "bytes32" - } - ], - "name": "prngHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x61041961003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80635075dbfb146100505780637fa00da214610079578063b07ceab81461008c575b600080fd5b61006361005e3660046102f0565b61009f565b6040516100709190610330565b60405180910390f35b6100636100873660046102a6565b6100c3565b61006361009a3660046102c7565b61023c565b6000806100ac858461023c565b9050806100b985826103a3565b9695505050505050565b600080600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561010c57600080fd5b505af4158015610120573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610144919061028e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561018857600080fd5b505af415801561019c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c0919061028e565b6101ca9043610339565b6101d4919061034d565b905060015b8460ff168160ff161161023157826101f460ff83168461036c565b40604051602001610206929190610322565b604051602081830303815290604052805190602001209250808061022990610383565b9150506101d9565b50909150505b919050565b600080610248846100c3565b9050808360405160200161025d929190610322565b60408051808303601f190181529190528051602090910120949350505050565b803560ff8116811461023757600080fd5b60006020828403121561029f578081fd5b5051919050565b6000602082840312156102b7578081fd5b6102c08261027d565b9392505050565b600080604083850312156102d9578081fd5b6102e28361027d565b946020939093013593505050565b600080600060608486031215610304578081fd5b61030d8461027d565b95602085013595506040909401359392505050565b918252602082015260400190565b90815260200190565b600082610348576103486103cd565b500490565b6000816000190483118215151615610367576103676103b7565b500290565b60008282101561037e5761037e6103b7565b500390565b600060ff821660ff81141561039a5761039a6103b7565b60010192915050565b6000826103b2576103b26103cd565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220553509f86c68b682ac0d2b7e2d57ad298c819477cec3499acd4e038536499f3464736f6c63430008000033", - "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80635075dbfb146100505780637fa00da214610079578063b07ceab81461008c575b600080fd5b61006361005e3660046102f0565b61009f565b6040516100709190610330565b60405180910390f35b6100636100873660046102a6565b6100c3565b61006361009a3660046102c7565b61023c565b6000806100ac858461023c565b9050806100b985826103a3565b9695505050505050565b600080600073__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561010c57600080fd5b505af4158015610120573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610144919061028e565b73__$cb76aa8097a3c0beaf107a478aa049bae7$__6357d775f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561018857600080fd5b505af415801561019c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c0919061028e565b6101ca9043610339565b6101d4919061034d565b905060015b8460ff168160ff161161023157826101f460ff83168461036c565b40604051602001610206929190610322565b604051602081830303815290604052805190602001209250808061022990610383565b9150506101d9565b50909150505b919050565b600080610248846100c3565b9050808360405160200161025d929190610322565b60408051808303601f190181529190528051602090910120949350505050565b803560ff8116811461023757600080fd5b60006020828403121561029f578081fd5b5051919050565b6000602082840312156102b7578081fd5b6102c08261027d565b9392505050565b600080604083850312156102d9578081fd5b6102e28361027d565b946020939093013593505050565b600080600060608486031215610304578081fd5b61030d8461027d565b95602085013595506040909401359392505050565b918252602082015260400190565b90815260200190565b600082610348576103486103cd565b500490565b6000816000190483118215151615610367576103676103b7565b500290565b60008282101561037e5761037e6103b7565b500390565b600060ff821660ff81141561039a5761039a6103b7565b60010192915050565b6000826103b2576103b26103cd565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220553509f86c68b682ac0d2b7e2d57ad298c819477cec3499acd4e038536499f3464736f6c63430008000033", - "linkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 260 - }, - { - "length": 20, - "start": 384 - } - ] - } - }, - "deployedLinkReferences": { - "contracts/lib/Constants.sol": { - "Constants": [ - { - "length": 20, - "start": 202 - }, - { - "length": 20, - "start": 326 - } - ] - } - } -} diff --git a/deployed/matic/abi/contracts/lib/Structs.sol/Structs.dbg.json b/deployed/matic/abi/contracts/lib/Structs.sol/Structs.dbg.json deleted file mode 100644 index dd030d18..00000000 --- a/deployed/matic/abi/contracts/lib/Structs.sol/Structs.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/138d5bb74b45b18375c5a9d45dcc88d2.json" -} diff --git a/deployed/matic/abi/contracts/lib/Structs.sol/Structs.json b/deployed/matic/abi/contracts/lib/Structs.sol/Structs.json deleted file mode 100644 index 389ba26e..00000000 --- a/deployed/matic/abi/contracts/lib/Structs.sol/Structs.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Structs", - "sourceName": "contracts/lib/Structs.sol", - "abi": [], - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e0d805c0755810e7720ec9dfd9ceb27526cf5d4622cfe74e4c94b0ad39532a0664736f6c63430008000033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e0d805c0755810e7720ec9dfd9ceb27526cf5d4622cfe74e4c94b0ad39532a0664736f6c63430008000033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/deployed/matic/addresses.json b/deployed/matic/addresses.json deleted file mode 100644 index b780b430..00000000 --- a/deployed/matic/addresses.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "Constants": "0xeE7Dc215BEAEcf2c6f4B30E19b89bb580E404EDa", - "Structs": "0x587C63615B7a60A3516369848F5C4FF5B3e81024", - "Random": "0xcf8F791945346E6daB85d2C140911A99E409768C", - "StateManager": "0xDdBb10a49A54172FdBa02b93D6D1dDfC12A838ba", - "JobManager": "0x28c2c5725ED40D5faD7bdA2419A4753BC6946A9b", - "StakeManager": "0xC8C86b586551ED4F1c1A1B2617B305be7637e5B2", - "BlockManager": "0x99E7Afeb0215D2E80088b8C7Bde54BD9162c3A35", - "VoteManager": "0x246b61043839479E9d070506766bFbfBe659e0b4", - "Delegator": "0xcd9a2a82954f9cEC7baBED8CFcEFe4902612A7d1", - "SchellingCoin": "0x8b4F6FE4E110C9509d77A7205Ad85a224d9c3E68", - "Faucet": "0x117094B89Cd3bdb94FE58cADc666308787C282dc" -} diff --git a/hardhat.config.js b/hardhat.config.js index 599d8eff..91af36d2 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -12,6 +12,7 @@ require('@nomiclabs/hardhat-truffle5'); require('hardhat-gas-reporter'); require('solidity-coverage'); require('hardhat-abi-exporter'); +require('@tenderly/hardhat-tenderly'); const { PROVIDER_HOST, @@ -20,13 +21,12 @@ const { NETWORK, MNEMONIC, } = process.env; -const GWEI = 1000000000; // Ref - https://chainid.network/chains.json const ENV_CHAIN_IDS = { mainnet: 1, goerli: 5, - matic_mumbai_testnet: 80001, + mumbai: 80001, }; module.exports = { @@ -41,29 +41,15 @@ module.exports = { }, }, networks: { - hardhat: { - chainId: 31337, - }, - ganache: { + local: { url: `http://${PROVIDER_HOST}:${PROVIDER_PORT}`, - network_id: 31337, + chainId: 31337, logger: console, }, - // More about networks config: - // https://hardhat.org/config/#json-rpc-based-networks - goerli: { - url: PROVIDER_URL || '', - accounts: { mnemonic: MNEMONIC }, - chainId: ENV_CHAIN_IDS[NETWORK], - gas: 7700000, - gasPrice: 1 * GWEI, - }, - matic_mumbai_testnet: { + mumbai: { url: PROVIDER_URL || '', accounts: { mnemonic: MNEMONIC }, chainId: ENV_CHAIN_IDS[NETWORK], - gas: 7700000, - gasPrice: 1 * GWEI, }, }, gasReporter: { @@ -75,4 +61,8 @@ module.exports = { flat: true, spacing: 2, }, + tenderly: { + username: 'razor', + project: 'razor-network', + }, }; diff --git a/migrations/migrationHelpers.js b/migrations/migrationHelpers.js index e151dfee..b08e8a71 100644 --- a/migrations/migrationHelpers.js +++ b/migrations/migrationHelpers.js @@ -1,5 +1,6 @@ /* eslint-disable no-console */ const jsonfile = require('jsonfile'); +const hre = require('hardhat'); const DEPLOYMENT_FILE = `${__dirname}/../.contract-deployment.tmp.json`; const OLD_DEPLOYMENT_FILE = `${__dirname}/../.previous-deployment-addresses`; @@ -47,6 +48,16 @@ const deployContract = async (contractName, linkDependecies = [], constructorPar await contract.deployed(); + await hre.tenderly.persistArtifacts({ + name: contractName, + address: contract.address, + }); + + await hre.tenderly.push({ + name: contractName, + address: contract.address, + }); + await appendDeploymentFile({ [contractName]: contract.address }); console.log(`${contractName} deployed to: ${contract.address}`); diff --git a/package-lock.json b/package-lock.json index 29444141..f724851f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@razor-network/contracts", - "version": "0.1.1", + "version": "0.1.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@razor-network/contracts", - "version": "0.1.1", + "version": "0.1.4", "license": "ISC", "dependencies": { "@openzeppelin/contracts": "^4.2.0", @@ -18,6 +18,7 @@ "@nomiclabs/hardhat-ethers": "2.0.2", "@nomiclabs/hardhat-truffle5": "^2.0.0", "@nomiclabs/hardhat-web3": "^2.0.0", + "@tenderly/hardhat-tenderly": "^1.0.12", "chai": "^4.3.0", "coveralls": "^3.1.1", "dotenv": "8.2.0", @@ -1356,6 +1357,44 @@ "node": ">=6" } }, + "node_modules/@tenderly/hardhat-tenderly": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tenderly/hardhat-tenderly/-/hardhat-tenderly-1.0.12.tgz", + "integrity": "sha512-zx2zVpbBxGWVp+aLgf59sZR5lxdqfq/PjqUhga6+iazukQNu/Y6pLfVnCcF1ggvLsf7gnMjwLe3YEx/GxCAykQ==", + "dev": true, + "dependencies": { + "axios": "^0.21.1", + "fs-extra": "^9.0.1", + "js-yaml": "^3.14.0" + }, + "peerDependencies": { + "hardhat": "^2.0.3" + } + }, + "node_modules/@tenderly/hardhat-tenderly/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tenderly/hardhat-tenderly/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@truffle/blockchain-utils": { "version": "0.0.25", "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.25.tgz", @@ -2555,6 +2594,15 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", @@ -2579,6 +2627,15 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, + "node_modules/axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.10.0" + } + }, "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -13383,6 +13440,37 @@ "defer-to-connect": "^1.0.1" } }, + "@tenderly/hardhat-tenderly": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tenderly/hardhat-tenderly/-/hardhat-tenderly-1.0.12.tgz", + "integrity": "sha512-zx2zVpbBxGWVp+aLgf59sZR5lxdqfq/PjqUhga6+iazukQNu/Y6pLfVnCcF1ggvLsf7gnMjwLe3YEx/GxCAykQ==", + "dev": true, + "requires": { + "axios": "^0.21.1", + "fs-extra": "^9.0.1", + "js-yaml": "^3.14.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, "@truffle/blockchain-utils": { "version": "0.0.25", "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.0.25.tgz", @@ -14458,6 +14546,12 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, "available-typed-arrays": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", @@ -14473,6 +14567,15 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "dev": true, + "requires": { + "follow-redirects": "^1.10.0" + } + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", diff --git a/package.json b/package.json index 222a9663..f02e9b7a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@razor-network/contracts", - "version": "0.1.1", + "version": "0.1.4", "description": "These are the contracts for Razor network testnet", "author": "Razor Network", "private": false, @@ -9,15 +9,14 @@ "contracts/**/*" ], "scripts": { - "cp-ganache-env": "cp .env.ganache .env", - "pretest": "npm run cp-ganache-env", - "compile": "npm run cp-ganache-env && npx hardhat compile", - "coverage": "npm run cp-ganache-env && hardhat coverage && npm run coverage:check", + "cp-local-env": "cp .env.local .env", + "pretest": "npm run cp-local-env", + "compile": "npx hardhat compile", + "coverage": "npm run cp-local-env && hardhat coverage && npm run coverage:check", "coverage:check": "istanbul check-coverage --statements 90 --branches 60 --functions 85 --lines 86", - "deploy:ganache": "./scripts/deploy.sh ganache", - "deploy:goerli": "./scripts/deploy.sh goerli", - "deploy:matic_mumbai_testnet": "./scripts/deploy.sh matic_mumbai_testnet", - "lint": "npm run cp-ganache-env && npm run lint:sol && npm run lint:js", + "deploy:local": "./scripts/deploy.sh local", + "deploy:mumbai": "./scripts/deploy.sh mumbai", + "lint": "npm run cp-local-env && npm run lint:sol && npm run lint:js", "lint:fix": "npm run lint:js:fix", "lint:js": "eslint \"**/*.js\"", "lint:js:fix": "eslint --fix . \"**/*.js\"", @@ -44,6 +43,7 @@ "@nomiclabs/hardhat-ethers": "2.0.2", "@nomiclabs/hardhat-truffle5": "^2.0.0", "@nomiclabs/hardhat-web3": "^2.0.0", + "@tenderly/hardhat-tenderly": "^1.0.12", "chai": "^4.3.0", "coveralls": "^3.1.1", "dotenv": "8.2.0", diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 4bcebe52..4b14a136 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -27,11 +27,4 @@ then rm -rf .previous-deployment-addresses fi -# Copy ABIs to other razor apps repos locally (only works if they exists in parent directory) -# This is a temporary solution, its subject to change (Refs - https://github.com/razor-network/contracts/issues/35) -find ./artifacts/contracts artifacts/@openzeppelin -type f | grep -i -v .dbg.json$ | xargs -i cp {} ../cli/build/contracts 2>/dev/null -find ./artifacts/contracts artifacts/@openzeppelin -type f | grep -i -v .dbg.json$ | xargs -i cp {} ../dashboard/build/contracts 2>/dev/null -find ./artifacts/contracts artifacts/@openzeppelin -type f | grep -i -v .dbg.json$ | xargs -i cp {} ../bridge/build/contracts 2>/dev/null -find ./artifacts/contracts artifacts/@openzeppelin -type f | grep -i -v .dbg.json$ | xargs -i cp {} ../synthetic-assets/build/contracts 2>/dev/null - echo "Done" diff --git a/tenderly.yaml b/tenderly.yaml new file mode 100644 index 00000000..37b37c22 --- /dev/null +++ b/tenderly.yaml @@ -0,0 +1,19 @@ +account_id: "" +exports: + localhost: + project_slug: razor/razor-network + rpc_address: 127.0.0.1:8545 + protocol: "" + forked_network: "" + chain_config: + homestead_block: 0 + eip150_block: 0 + eip150_hash: "0x0000000000000000000000000000000000000000000000000000000000000000" + eip155_block: 0 + eip158_block: 0 + byzantium_block: 0 + constantinople_block: 0 + petersburg_block: 0 + istanbul_block: 0 + berlin_block: 0 +project_slug: ""